iOS5とストーリーボードを使用しUITableView
て、内でホストされているホストの高さをプログラムでサイズ変更しようとすると問題が発生します。UIViewController
VCは、詳細レコードを表示するマスター/詳細レコードスタイルをUITableView
表示します。表示されるマスターレコードのタイプによっては、画面の下部に一連のボタンが必要になる場合があります。ボタンが不要な場合はUITableView
、使用可能なスペースを活用するために、ボタンの高さを拡張したいと思います。私は次のコードを使用しています:
CGRect tableFrame = [tableListView frame];
if (blnApprovalRec == YES)
tableFrame.size.height = 127;
else
tableFrame.size.height = 170;
[tableListView setFrame:tableFrame];
このコードは、画面が最初に読み込まれるときを含め、マスターレコードが変更されるたびに呼び出されますviewDidLoad
。問題は、VCがロードされるときに、UITableView
指定されたサイズを使用してペイントしないことです。つまり、IBのデフォルトサイズでペイントするだけです。ユーザーがマスターレコードを変更してテーブルが再ロードされると、すべてが正常に機能し、必要に応じてサイズが変更されます。setNeedsDisplay
を使用しsetNeedsLayout
て強制的に再描画を試みましたreloadData
が、いずれも機能しませんでした。