在我的iphone应用程序中,我有一个TextField输入名称,TextView输入描述。在我的viewDidLoad方法中,如果iPhone 5的显示为4英寸,我将使TextView更大。
if (IS_IPHONE_5) {
CGRect frameRect = self.eventDetails.frame;
frameRect.size.height = 160;
self.eventDetails.frame = frameRect;
}
这在视图加载时工作正常,但如果我先在TextField上输入然后触摸TextView,TextView会缩小到原始大小。如果我首先进入TextView,它不会缩小,只有当我进入TextField然后进入TextView时。有什么方法可以保持身高160?
谢谢, 千电子伏。
答案 0 :(得分:0)
尝试添加autoResizingMask,当视图边界发生变化时,会自动更改,例如方向。
[self.eventDetails setAutoresizingMask:UIViewAutoresizingFlexibleWidth];
其他价值观:
UIViewAutoresizingFlexibleWidth
UIViewAutoresizingFlexibleRightMargin
UIViewAutoresizingFlexibleTopMargin
UIViewAutoresizingFlexibleHeight
UIViewAutoresizingFlexibleBottomMargin
答案 1 :(得分:0)
从iOS开发论坛得到答案。
viewDidLoad方法不应该用于设置帧。尝试将代码移动到viewDidLayoutSubviews方法。