有时,我们会有这样的需求,在使用UITextView作为输入框时,输入框换行需要输入框自适应变大,但在此过程中,文字经常不居中,如下图
QQ20160107-0.png
处理方法:
设置textView的代理,在textView换行滚动时强行将文字居中,代码如下
- (void)scrollViewDidScroll:(UIScrollView *)scrollView {
if ([scrollView isKindOfClass:[UITextView class]]) {
if ( scrollView.contentSize.height <= 200) {// 200 为textView的最大高度
scrollView.contentOffset = CGPointZero;
}else if(!scrollView.tag){
scrollView.contentOffset = CGPointMake(0, scrollView.contentSize.height - scrollView.frame.size.height);
}
}
}
- (void)scrollViewWillBeginDragging:(UIScrollView *)scrollView{
scrollView.tag = 1;
}
- (void)scrollViewDidEndDragging:(UIScrollView *)scrollView willDecelerate:(BOOL)decelerate{
scrollView.tag = 0;
}
- (void)scrollViewWillBeginDecelerating:(UIScrollView *)scrollView{
scrollView.tag = 1;
}
- (void)scrollViewDidEndDecelerating:(UIScrollView *)scrollView{
scrollView.tag = 0;
}