今天找了点Demo,想弄一个自增高的textView,这种需求很常见,比如qq输入框什么的,一开始感觉要根据字数,来算高度,之后设置高度,后来发现了一个比较简单的方法,贴出来给大家分享一下
废话不多说,直接上代码,基本上如果你也有这种需求,直接复制就行了
// 1.创建一个tv
_tv = [[UITextView alloc] initWithFrame:CGRectMake(100, 100, 100, 30)];
_tv.backgroundColor = [UIColor greenColor];
_tv.delegate = self; // 遵循代理
[self.view addSubview:_tv];
// 2.在代理方法里面计算高度
- (void)textViewDidChange:(UITextView *)textView
{
// OK,就下面这两行代码就可以达到你的需求了
[textView sizeToFit]; // 适配尺寸,
[self setWidth:100]; // 高度定死.
}
// 3.设置宽度
- (void)setWidth:(CGFloat)width
{
CGRect frame = self.tv.frame;
frame.size.width = width;
self.tv.frame = frame;
}
那啥,就这么多代码就达到了需求,但是在tableViewController上面有些问题,因为cell改变需要重绘,就导致tv失去第一响应者等问题,还在研究当中...朋友们也可以给点思路...
贴个比较好用的第三方吧
YZInputView
挺好用的,带占位图,自动增高回调