【发布时间】:2017-06-16 15:28:00
【问题描述】:
我是iOS programming 的新手。
在我的应用程序 (ios + Objective-C + Auto resize) 中,UITextView 在 UIView 内。 UIView 的初始高度为 50,UITextView 在屏幕底部的初始高度为 30。
我想要做的是,当用户输入一些文本时,我想改变两个组件的高度,即两个组件的 y 和 height 都会改变。
我使用下面的代码,但它不能正常工作。
- (void)textViewDidChange:(UITextView *)textView
{
CGFloat fixedWidth = textView.frame.size.width;
CGSize newSize = [textView sizeThatFits:CGSizeMake(fixedWidth, MAXFLOAT)];
CGRect newFrame = textView.frame;
CGRect viewFrame = _viewMsg.frame;
viewFrame.origin.y = viewFrame.origin.y - (newSize.height - 30.0);
viewFrame.size.height = viewFrame.size.height + (newSize.height - 30.0);
_viewMsg.frame = viewFrame;
newFrame.size = CGSizeMake(fmaxf(newSize.width, fixedWidth), newSize.height);
textView.frame = newFrame;
}
请解释一下Auto Resize 是如何动态调整大小的。
【问题讨论】:
标签: ios objective-c dynamic autoresize