UI细节点滴-UIScorllView和UITableView/UITextView拖动退出键盘方法

在实际开发中,我们常常会用到UIScrollView以及它的子类控件UITableView/UITextView来进行某些操作需要唤出键盘.通常调出键盘的方式是使相应的控件成为事件的第一响应者,例如在一个视图加载完成后的ViewDidLoad方法中,调出键盘:

  - (void)viewDidAppear:(BOOL)animated

  {

      [super viewDidAppear:animated];

      [self.textView becomeFirstResponder];    // textView成为第一响应者,立即调出键盘;

  }

  在完成输入后,退出键盘的方式通常是取消第一响应者即可:

  [self.view endEditing:YES];  // 注销第一响应者,退出键盘;

  但有时候,我们需要处理在没有任何输入的时候,用户仅仅拖动了屏幕也可以退出键盘,一种常见的方式是使用UIScrollView的代理方法,监听拖动事件,一旦发生拖动则通过注销第一响应者的方式来退出键盘;

  - (void)scrollViewWillBeginDragging:(UIScrollView *)scrollView

  {

      [self.view endEditing:YES];

  }

  其实IOS7.0系统中,UIScorllView中已经为我们提供了一个属性来判断是否拖动取消键盘,这样只需要通过设置这个属性的值来决定UIScorllView是否在被拖动的时候退出键盘;

  @property(nonatomic) UIScrollViewKeyboardDismissMode keyboardDismissMode 

 keyboardDismissMode 是枚举类型,它可以取三个值:

  typedef NS_ENUM(NSInteger, UIScrollViewKeyboardDismissMode) {

      UIScrollViewKeyboardDismissModeNone,          // 系统默认值  

      UIScrollViewKeyboardDismissModeOnDrag,      // 拖动取消键盘

      UIScrollViewKeyboardDismissModeInteractive,  

  } ;

 通过这个属性,我们不需要再使用代理监听的方式来退出键盘了.在UITableView和UITextView中使用更为简单,仅仅给这个属性赋值即可实现拖动屏幕退出键盘.

  self.textView.keyboardDismissMode = UIScrollViewKeyboardDismissModeOnDrag;

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值