私は iOS 6 と Xcode 4.6 を使用しており、Interface Builder を使用UITextViewしてscrollbar 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 メソッドで自動的に表示されます。
ご協力ありがとうございました!