swift中系统通知名修改对照:

键盘状态改变的时候,系统会发出一些特定的通知

UIKeyboardWillShowNotification//键盘即将显示

UIKeyboardDidShowNotification//键盘显示完毕

UIKeyboardWillHideNotification//键盘即将隐藏

UIKeyboardDidHideNotification//键盘隐藏完毕

UIKeyboardWillChangeFrameNotification//键盘的位置尺寸即将发生改变

UIKeyboardDidChangeFrameNotification//键盘的位置尺寸改变完毕

系统发出键盘通知时,会附带一下跟键盘有关的额外信息(字典),字典常见的key如下:

UIKeyboardFrameBeginUserInfoKey//键盘刚开始的frame

UIKeyboardFrameEndUserInfoKey//键盘最终的frame(动画执行完毕后)

UIKeyboardAnimationDurationUserInfoKey//键盘动画的时间

UIKeyboardAnimationCurveUserInfoKey//键盘动画的执行节奏(快慢)

UIKeyboardAnimationCurveUserInfoKey = 7; //动画执行的节奏

UIKeyboardAnimationDurationUserInfoKey = "0.25";键盘弹出/隐藏的动画所需要的时间

UIKeyboardBoundsUserInfoKey = "NSRect: {{0, 0}, {320, 216}}”;//键盘的bounds

UIKeyboardCenterBeginUserInfoKey = "NSPoint: {160, 588}”;//键盘准备弹出时的X,Y的中心坐标

UIKeyboardCenterEndUserInfoKey = "NSPoint: {160, 372}”;//键盘弹出后的X,Y的中心坐标

//键盘弹出刚开始的那一刻的frame

UIKeyboardFrameBeginUserInfoKey = "NSRect: {{0, 480}, {320, 216}}";

//弹出完毕的时候,键盘的frame

UIKeyboardFrameEndUserInfoKey = "NSRect: {{0, 264}, {320, 216}}";

//键盘退出的frame

//键盘刚要退出那一刻的frame

UIKeyboardFrameBeginUserInfoKey = "NSRect: {{0, 264}, {320, 216}}";

//键盘退出完毕那一刻的frame

UIKeyboardFrameEndUserInfoKey = "NSRect: {{0, 480}, {320, 216}}";



以下是swift:


extension NSNotification.Name {

public static let UIWindowDidBecomeVisible: NSNotification.Name

public static let UIWindowDidBecomeHidden: NSNotification.Name // nil

public static let UIWindowDidBecomeKey: NSNotification.Name // nil

public static let UIWindowDidResignKey: NSNotification.Name // nil

public static let UIKeyboardWillShow: NSNotification.Name

public static let UIKeyboardDidShow: NSNotification.Name

public static let UIKeyboardWillHide: NSNotification.Name

public static let UIKeyboardDidHide: NSNotification.Name

@available(iOS 5.0, *)

public static let UIKeyboardWillChangeFrame: NSNotification.Name

@available(iOS 5.0, *)

public static let UIKeyboardDidChangeFrame: NSNotification.Name

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 134,868评论 18 139
  • 在ios开发中,键盘很常用。在sdk版本5.0以前,键盘高度是固定值216px;5.0出来以后,键盘高度会随着键盘...
    petter102阅读 3,458评论 1 1
  • 通知中心(NSNotificationCenter) 通知(NSNotification) 一个完整的通知一般包含...
    JonesCxy阅读 510评论 0 1
  • SwiftDay011.MySwiftimport UIKitprintln("Hello Swift!")var...
    smile丽语阅读 3,857评论 0 6
  • 运道极差,30双草鞋仅卖了5双。刘玄德背着麻布包袱缓缓回转。这是位年28岁的青年男子,生的俊朗,肤色白皙,若非寻常...
    开颜棠棠阅读 533评论 2 2