0

在我的 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?

谢谢,凯夫。

4

2 回答 2

0

尝试添加 autoResizingMask,它会在视图边界发生变化(例如方向)时自动发生变化。

[self.eventDetails setAutoresizingMask:UIViewAutoresizingFlexibleWidth];

其他值: UIViewAutoresizingFlexibleWidth
UIViewAutoresizingFlexibleRightMargin
UIViewAutoresizingFlexibleTopMargin
UIViewAutoresizingFlexibleHeight
UIViewAutoresizingFlexibleBottomMargin

于 2013-05-01T16:20:38.557 回答
0

从 iOS 开发论坛得到答案。

不应使用 viewDidLoad 方法设置帧。尝试将您的代码移动到 viewDidLayoutSubviews 方法。

于 2013-05-02T09:49:35.620 回答