`

IOS之监听键盘打开和关闭

 
阅读更多

        使用广播通知,在viewWillAppear时注册键盘打开和关闭的事件监听,在viewWilldisappear时解除键盘打开和关闭的事件监听。请注意viewWillAppear和viewWilldisappears事件触发的时机。

        在ViewController.m中添加如下四个方法。

-(void) viewWillAppear:(BOOL)animated {
    NSLog(@"viewWillAppear:在ViewController初始化之后,进入活动状态之前");

    //注册键盘出现通知
    [[NSNotificationCenter defaultCenter] addObserver:self selector:@selector (keyboardShow:)
												 name: UIKeyboardDidShowNotification object:nil];
    //注册键盘隐藏通知
	[[NSNotificationCenter defaultCenter] addObserver:self selector:@selector (keyboardHide:)
                                                 name: UIKeyboardDidHideNotification object:nil];
    [super viewWillAppear:animated];
}


-(void) viewWillDisappear:(BOOL)animated {
    NSLog(@"viewWillDisappear:在ViewControler终止或进入后台之前");</span>
    //解除键盘出现通知
    [[NSNotificationCenter defaultCenter] removeObserver:self
                                                    name: UIKeyboardDidShowNotification object:nil];
    //解除键盘隐藏通知
    [[NSNotificationCenter defaultCenter] removeObserver:self
                                                    name: UIKeyboardDidHideNotification object:nil];
    
    [super viewWillDisappear:animated];
}

//自定义键盘打开时触发的事件
-(void) keyboardShow: (NSNotification *)notif {
    NSLog(@"keyboardShow键盘打开");
}

//自定义键盘关闭时触发的事件
-(void) keyboardHide: (NSNotification *)notif {
    NSLog(@"keyboardHide键盘关闭");
}

 

分享到:
评论

相关推荐

    ios-willKeyboard.zip

    - 长按“完成”:这个功能比较独特,用户长按“完成”键不再仅仅关闭键盘,而是会打开相册。这可能是为了方便用户快速插入图片或者选择新的键盘皮肤,增加了输入的趣味性和便捷性。 3. **键盘皮肤更换**: - 用户...

    swift-iOS界面刷新时保持UITextFieldUITextViewUISearchBar响应

    此外,还可以利用`NSNotification`监听`UIKeyboardWillHideNotification`和`UIKeyboardWillShowNotification`通知,以控制键盘的显示与隐藏。在接收到键盘即将隐藏的通知时,可以暂时阻止界面刷新,直到键盘再次显示...

    ios-下拉菜单.zip

    1. **动画效果**:下拉菜单的打开和关闭通常伴随着动画,这需要使用`UIView`的动画API如`animate(withDuration:animations:)`来实现。 2. **手势处理**:为了响应用户的滑动操作,需要添加`UISwipeGestureRecognizer...

    解决键盘遮挡输入框

    在iOS开发中,用户界面的交互体验至关重要,...通过监听键盘事件、调整视图布局、响应手势和管理UITextField的焦点,我们可以构建一个更加用户友好的界面。而这一切,都可以在名为ResizeView的自定义视图中实现并复用。

    ios7版 30天精通iPhone手机编程

    - **键盘管理**:如关闭键盘,可以监听return键或使用手势。 - **ASCII网页URL格式**:将文本转换为符合网络传输的编码。 - **触摸事件**:捕捉屏幕触摸,进行交互响应。 - **定时器NSTimer**:用于定期执行某项任务...

    仿微信的键盘切换

    对于键盘的关闭和打开事件,需要进行妥善处理,比如在键盘隐藏时自动清空输入框,或者在键盘打开时固定底部栏等。 8. 多语言支持: 考虑到全球化的应用需求,键盘切换还需要考虑多语言环境下的兼容性,确保各种...

    Qt 5.9.2 虚拟键盘中文输入

    5. **监听键盘事件**:通过连接`QVirtualKeyboardWidget`的信号,可以监听键盘的打开、关闭和输入事件,以进行相应的处理。 6. **自定义外观和行为**:如果需要自定义虚拟键盘的样式或功能,可以使用`...

    登陆页面,解决了因为虚拟键盘的弹起对button的遮挡,

    4. **键盘关闭事件监听**:监听键盘的打开和关闭事件,当键盘隐藏时,可以将页面恢复到原始状态。这样,用户关闭键盘后,页面布局能立即恢复正常。 5. **智能设计**:在设计阶段,考虑虚拟键盘出现时的布局变化,...

    Unity3d Screen Keyboard 屏幕键盘资源包

    当用户完成输入后,通过监听键盘的关闭事件来获取输入的文本内容。这可以通过挂载到游戏对象上的C#脚本来实现,或者使用Unity的Event System组件进行事件传递。 为了提高用户体验,Screen Keyboard资源包通常会提供...

    jquery-combobox完美版,修复默认选择,滚动后无法关闭等问题

    在“滚动后无法关闭”问题上,这通常涉及到事件监听和DOM操作的交互。当用户滚动页面时,可能会影响到Combobox的事件处理,导致下拉列表无法正常关闭。这个问题的核心在于理解和调整Combobox的事件绑定和解除逻辑,...

    Ios-UIDatePicker:关于如何从目标 c 中的文本字段打开日期选择器的示例项目

    在实际项目中,确保在各种iOS设备和模拟器上进行测试,确保在不同环境下都能正常工作。利用Xcode的调试工具检查UI布局和交互逻辑。 总结,这个"Ios-UIDatePicker"示例项目展示了如何在Objective-C中使用...

    MAC桌面程序-USB串口调试工具-源码

    ORSSerialPort由Rob Rix创建,它为Objective-C和Swift提供了简单易用的API,使开发者可以方便地读写串口、设置波特率、数据位、停止位和校验位,以及管理串口的打开和关闭状态。在开发这个桌面程序时,ORSSerialPort...

    高仿记事本-高仿记事本源码.rar

    5. **文件I/O操作**:程序需要能够读取和写入文本文件,这就涉及到了操作系统级别的文件I/O操作,如打开、读取、写入和关闭文件等。 6. **错误处理**:良好的软件应该能够优雅地处理各种异常情况,比如文件不存在、...

    unity3d 游戏插件Screen Keyboard 屏幕键盘UnityPackage资源包

    1. **事件系统**:屏幕键盘通常会触发一系列事件,如打开、关闭、输入改变等。开发者需要在脚本中订阅这些事件,并编写相应处理函数以响应用户的输入行为。 2. **自定义样式**:Screen Keyboard插件可能提供了一些...

    SlideDrawer的使用和运行所有程序。

    3. **抽屉的打开和关闭**: - 使用`DrawerLayout.openDrawer()`和`DrawerLayout.closeDrawer()`方法来手动控制抽屉的开合。 4. **实现抽屉内容**: - 通常,我们会创建一个包含菜单项的布局文件,然后在抽屉视图...

    抽屉效果.zip

    2. **JavaScript/jQuery**:为了增加交互性,开发者可能会使用JavaScript或jQuery来监听用户的触摸或鼠标事件,当检测到特定的滑动操作时触发抽屉的打开和关闭。例如,可以使用`swipe`或`drag`事件,并结合CSS类的...

    side view demo

    3. 键盘处理:当侧滑菜单打开时,如果有键盘弹出,可能需要调整菜单的位置以避免被键盘遮挡。 4. 状态栏处理:根据菜单是否显示,可能需要调整状态栏的样式或透明度。 总的来说,"side view demo"是一个演示如何在...

    侧滑导航适用于pc端与移动端

    在Android和iOS等操作系统中,很多原生应用如设置和邮件都采用了这种设计。同时,许多第三方应用程序和框架,如React Native、Ionic等,也提供了实现侧滑导航的组件库,使得开发者能够轻松地将这一功能集成到自己的...

Global site tag (gtag.js) - Google Analytics