UIVext中的UITextView没有调整大小

时间:2013-01-02 21:17:22

标签: objective-c xcode uiview resize uitextview

我有一个名为_containerView的UIView,在这个UIView里面我有一个名为_codeTextView的自定义UITextView。当应用程序加载时,这些视图占据整个屏幕,但是,当键盘出现时,我希望屏幕调整大小。

键盘出现时我必须遵循以下方法:

- (void)keyboardAppears:(NSNotification *)notification
{
    _containerView.frame = CGRectMake(0, 0, 320, 216.0f);
    _codeTextView.frame = CGRectMake(0, 30, 290, 216.0f);
}

containerView被正确调整大小,但是其中的_codeTextView没有调整大小,我真的不知道它为什么没有调整大小。我已经尝试过更改各种选项,这让我发疯:(

有人可以帮助我吗?

提前致谢!

1 个答案:

答案 0 :(得分:8)

我刚刚用你描述的场景创建了一个项目。 setFrame适用于禁用了Autolayout的所有视图,但不支持启用Autolayout。

您是否为该View Controller启用了 Autolayout ? setFrame与autolayout不兼容。 您必须使用约束以编程方式调整视图。 (回答:Can I use setFrame and autolayout on the same view?

您可以在此处找到一些帮助:http://nszombie.com/2010/12/08/ConstraintBasedLayout.html