A UITableViewController
的view
屬性是UITableView
。所以你不能縮小它的view
來揭示它的後面,因爲它背後沒有任何東西(至少就它而言)。
有一個相對容易的解決方案。我假設,根據您的代碼示例,您的控制器上有一個名爲「tableView
」的UITableView
屬性,如果沒有,則需要創建它。
1)將您的視圖控制器更改爲UIViewController
子類,而不是UITableViewController
子類。通過用YourClass:UIViewController
代替YourClass:UITableViewController
,在.h
中輕鬆完成。
2)在.xib
文件中拖出一個新的UIView
到畫布(不在tableView中)。
3)拖動的tableView是視圖的子視圖,如圖所示:
4)將文件的所有者的是你剛纔添加的UIView的視圖屬性。
5)檢查您的連接是這個樣子:
有了這些變化,你現在可以設置您的框架比您的視圖的大小。你有兩個選擇,如何做到這一點: 1)使用這樣的代碼代碼:
-(void)viewDidLoad{
[super viewDidLoad];
// set background red to see change
self.view.backgroundColor = [UIColor redColor];
CGFloat sideMargin = 10;
CGFloat topBottomMargin = 44;
CGFloat originX = sideMargin;
// compute width based on view size
CGFloat sizeWidth = (self.view.bounds.size.width - (sideMargin * 2));
CGFloat originY = topBottomMargin;
// compute height based on view size
CGFloat sizeHeight = (self.view.bounds.size.height - (topBottomMargin * 2));
// set tableView frame
self.tableView.frame = CGRectMake(originX, originY, sizeWidth, sizeHeight);
}
2)更改直接Interface Builder中設置。例如: