0

UINavigationController の rootviewcontroller である UIViewController 内にある 2 つの UITableView のフレーム サイズと位置を変更しようとしています。

ユーザーの操作に応じてフレーム サイズを変更したい。すべての設定が完了し、ユーザーのアクションで次のコードが実行されます。

CGRect firstTableFrame = [myTableView frame];
firstTableFrame.size.height = 290;  
[self.myTableView setFrame:firstTableFrame];
NSLog(@"%f",self.myTableView.frame.size.height);
[self.myTableView reloadData];

NSLog が 290 を出力することを確認できます。ただし、画面は何も変化しません。ここで、.xib ファイルの解決策 (自動レイアウトのチェックを外す) と思われる回答を 1 つ見つけましたが、これを実行すると、.xib で他のあらゆる種類のレイアウトの問題が発生します。

これを解決する方法はありますか?

4

2 に答える 2

0

これは、ナビゲーション コントローラーに、追加するビュー (テーブル ビュー) を保持するビューがあるためです。そのビューのサイズを適切に変更する必要があります

于 2013-02-19T02:35:22.750 に答える
0

ViewController の .xib ファイルに移動し、[File Inspector] ペインで [use autolayout] のチェックを外すことで、この問題を解決できました。これをオフにすると、制約が削除され、プログラムでフレームのサイズと位置を変更できました。

于 2013-02-27T07:30:17.283 に答える