我有一個UITableView沒有正確使用autoresizeMask(在iPhone 3.0中)調整大小。使用autoresizingMask的UITableView的大小錯誤
UITableView位於UITabBarController內的UINavigationController內部的UIViewController中,所有這些都是以編程方式創建的。狀態欄是可見的。
所述的UIViewController的代碼基本上是:
- (void)loadView {
UIView* rootView = [[UIView alloc] init];
self.view = rootView;
[rootView release];
}
- (void)viewDidLoad {
[super viewDidLoad];
// table = [[UITableView alloc] initWithFrame:CGRectMake(0, 0, 320, 480-20-49-44)];
table = [[UITableView alloc] initWithFrame:CGRectMake(0, 0, 320, 100)]; table.autoresizingMask = UIViewAutoresizingFlexibleHeight;
[self.view addSubview:table];
}
當這樣創建的,所述的UITableView大於可用空間稍大。如果我沒有弄錯,它的大小正好是導航欄的大小的44個像素。
但是,如果我取消註釋註釋行和註釋下一行UITableView的大小是完全正確的。我寧願使用autoresizingMask而不是手動計算UITableView的大小。我究竟做錯了什麼?
預先感謝您!
感謝您的迅速回復,科林。自動調整面具正在做一些事情。表視圖正在創建一個320x100大小,但它填補了所有的屏幕。我可以將100改爲200,尺寸也是一樣的。 – hpique 2009-12-15 17:06:01
如果您沒有設置自動調整大小的掩碼,但仍將其設置爲320x100,則它不會填滿整個屏幕? – 2009-12-15 17:40:13
沒錯。如果沒有設置自動調整掩碼設置,表格視圖將根據幀進行大小調整。 – hpique 2009-12-15 17:51:12