0

我正在使用 iOS 6 和 Xcode 4.6,并使用 Interface BuilderUITextViewscrollbar view.

我禁用了滚动,Text View我想动态调整大小Text View以便我们可以查看完整内容。

我在控制器中尝试了以下代码:

- (void)viewWillAppear:(BOOL)animated {
    CGRect frame = _description.frame;
    frame.size.height = _description.contentSize.height;
    _description.frame = frame;
}

_description是绑定的UITextView

在此代码中,框架位于位置(0, 0)并且大小为(0, 0). 因此,它不会调整我的UITextView.

我还尝试在这些函数中调整视图大小,但没有成功:

- (void)viewDidLoad;
- (void)viewDidLayoutSubviews;

它起作用的唯一功能(帧大小大于0)是:

- (void)viewDidAppear:(BOOL)animated

但是,此时视图已经可见,我们可以看到Text View调整大小(这不是我想要的。我希望它在用户看到视图之前调整大小)。

你能告诉我为什么我的UITextView's框架不正确以及我该如何解决这个问题?

供您参考,此视图通过TableViewCell(在情节提要中配置)使用 push 方法自动显示。

谢谢您的帮助!

4

1 回答 1

4

感谢 Cezar 的评论,我找到了答案。

可以在这里找到答案Gettting subViews' frames in Storyboard

我实际上打电话给:

[_view layoutSubviews];

根据我父母的观点:

- (void) viewDidLayoutSubviews;

访问框架之前的方法,它可以工作。

于 2013-07-28T13:10:41.420 回答