分享

35、自定义的HMTextView拖拽以及键盘的第一响应者

 雪柳花明 2016-04-06
1、自定义的HMTextView需要有拖拽的功能,这里的HMTextView继承自UITextView,而UITextView继承自UIScrollView。所以这里的HMTextView具有拖拽的功能。
2、在setupTextView中加入textView.alwaysBounceVertical = YES// 垂直方向上拥有有弹簧效果
即可拥有拖拽效果。

3、当拖拽HMTextView时,键盘应该退下。监听拖拽,需要成为UIScrollView的代理,遵守UIScrollView的协议。而UITextView的协议,已经遵守了UIScrollView的协议,所以这里只遵守UITextView的协议即可。也就拥有了UIScrollView代理的方法。这里监听textView的滚动也就是监听scrollView的滚动。


4、遵守的协议。

-scrollviewDidScroll的方法调用太频繁,这里使用- (void)scrollViewWillBeginDragging:(UIScrollView *)scrollView方法。



#pragma mark - UITextViewDelegate

/**

 *  当用户开始拖拽scrollView时调用

 */

- (void)scrollViewWillBeginDragging:(UIScrollView *)scrollView

{

    [self.view endEditing:YES];//退出键盘。

}

5、进入发微博界面时,自动弹出键盘。若此方法写在viewdidload方法中,会有延迟,会造成卡顿的感觉,应该将此方法写在- (void)viewDidAppear:(BOOL)animated中。

/**

 *  view显示完毕的时候再弹出键盘,避免显示控制器view的时候会卡住

 */

- (void)viewDidAppear:(BOOL)animated

{

    [super viewDidAppear:animated];

    // textView成为第一响应者(叫出键盘)

    [self.textView becomeFirstResponder];

}



    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多