iOS中只让textField使用键盘通知的实例代码

 更新时间:2017年07月19日 11:23:14   作者:弦外雨  
本文通过实例代码给大家介绍了OS中只让textField使用键盘通知的操作方法,代码简单易懂,非常不错,具有参考借鉴加载,需要的的朋友参考下吧

代码:

#import "ViewController.h"
@interface ViewController ()
@end
@implementation ViewController
- (void)viewDidLoad {
  [super viewDidLoad];
  // Do any additional setup after loading the view, typically from a nib.
  //为textField增加键盘事件
  [[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(addKeyboardNoti) name:UITextFieldTextDidBeginEditingNotification object:nil];
  [[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(removeKeyboardNoti) name:UITextFieldTextDidEndEditingNotification object:nil];
}
#pragma -mark -keyboard notificatin
//键盘事件
- (void)keyboardWillShow:(NSNotification *)notification {
  NSDictionary *info = [notification userInfo];
  // keyboardHeight 为键盘高度
  CGSize keyboardSize = [[info objectForKey:UIKeyboardFrameEndUserInfoKey] CGRectValue].size;
  [self animateViewWithKeyboardHeight:keyboardSize.height];
}
- (void)keyboardWillHide:(NSNotification *)notification {
  [self animateViewWithKeyboardHeight:0.0];
}
- (void)animateViewWithKeyboardHeight:(CGFloat)keyboardHeight {
  NSTimeInterval animationDuration = 0.3f;
  CGFloat height = self.view.bounds.size.height;
  CGFloat width = self.view.bounds.size.width;
  CGFloat topSize = 0.0;
  CGFloat viewH = self.view.frame.size.height-64;
  CGFloat deviceHeight = [UIScreen mainScreen].bounds.size.height;
  CGFloat animateH = deviceHeight - viewH - keyboardHeight;
  if (animateH >= 0) {
    topSize = 0;
    CGRect toRect = CGRectMake(0, topSize, width, height);
    self.view.frame = toRect;
  } else {
    topSize = animateH;
    CGRect toRect = CGRectMake(0, topSize, width, height);
    [UIView animateWithDuration:animationDuration animations:^{
      self.view.frame = toRect;
    }];
  }
}
#pragma -mark -UITextFieldText Notification
//增加键盘事件
-(void)addKeyboardNoti
{
  NSLog(@"------addKeyboardNoti-------");
  [[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(keyboardWillShow:) name:UIKeyboardWillShowNotification object:nil];
  [[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(keyboardWillHide:) name:UIKeyboardWillHideNotification object:nil];
}
//移除键盘事件
-(void)removeKeyboardNoti
{
  NSLog(@"------removeKeyboardNoti---------");
  [[NSNotificationCenter defaultCenter] removeObserver:self name:UIKeyboardWillShowNotification object:nil];
  [[NSNotificationCenter defaultCenter] removeObserver:self name:UIKeyboardWillHideNotification object:nil];
}
- (void)didReceiveMemoryWarning {
  [super didReceiveMemoryWarning];
  // Dispose of any resources that can be recreated.
}
@end

总结

以上所述是小编给大家介绍的iOS中只让textField使用键盘通知的实例代码,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对脚本之家网站的支持!

相关文章

  • iOS创建与使用静态库

    iOS创建与使用静态库

    这篇文章主要为大家详细介绍了iOS创建与使用静态库的相关资料,感兴趣的小伙伴们可以参考一下
    2016-03-03
  • iOS实现H5支付(微信、支付宝)原生封装

    iOS实现H5支付(微信、支付宝)原生封装

    这篇文章主要介绍了iOS实现H5支付(微信、支付宝)原生封装,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2020-02-02
  • Objective-C基础 自定义对象归档详解及简单实例

    Objective-C基础 自定义对象归档详解及简单实例

    这篇文章主要介绍了Objective-C基础 自定义对象归档详解及简单实例的相关资料,需要的朋友可以参考下
    2017-04-04
  • IOS Cache设计详细介绍及简单示例

    IOS Cache设计详细介绍及简单示例

    这篇文章主要介绍了IOS Cache设计详细介绍及简单示例的相关资料,Cache的目的是为了追求更高的速度体验,Cache的源头是两种数据读取方式在成本和性能上的差异,需要的朋友可以参考下
    2017-01-01
  • 详解iOS中多倒计时场景的解决方案

    详解iOS中多倒计时场景的解决方案

    在我们开发APP的过程中,或多或少都遇到过需要使用倒计时的场景,这篇文章主要介绍了详解iOS中多倒计时场景的解决方案,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2018-11-11
  • iOS多级列表实现代码

    iOS多级列表实现代码

    这篇文章主要为大家详细介绍了iOS多级列表实现代码,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2016-09-09
  • 详解 swift3.0 可选绑定共用同一块内存空间的实例

    详解 swift3.0 可选绑定共用同一块内存空间的实例

    这篇文章主要介绍了详解 swift3.0 可选绑定共用同一块内存空间的实例的相关资料,希望通过本文能帮助到大家,需要的朋友可以参考下
    2017-09-09
  • IOS Swift 开发QRCore(二维码)实例详解

    IOS Swift 开发QRCore(二维码)实例详解

    这篇文章主要介绍了IOS Swift 开发QRCore(二维码)实例详解的相关资料,这里对开发二维码进行了详细介绍,需要的朋友可以参考下
    2016-12-12
  • iOS开发中使用UILabel设置字体的相关技巧小结

    iOS开发中使用UILabel设置字体的相关技巧小结

    这篇文章主要介绍了iOS开发中UILabel设置字体的相关技巧小结,代码基于传统的Objective-C,需要的朋友可以参考下
    2016-01-01
  • iOS UIImageView图片自动拉伸功能

    iOS UIImageView图片自动拉伸功能

    这篇文章主要介绍了iOS UIImageView图片自动拉伸功能,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2017-01-01

最新评论