我在xcode中使用了基于导航的应用程序模板,此模板的默认设置是设置表格视图以填充屏幕但是我希望表格视图填充一个小于屏幕的框架。
这是最初工作的代码,但是如果从表格中选择了一行,并且用户在按下时会进入下一个屏幕,则表格视图会填充屏幕而不是框架。
- (void)viewDidAppear:(BOOL)animated {
// set the frame size
CGRect frame = self.tableView.frame;
frame = CGRectMake(16.0, 36.0, 254.0, 350.0);
self.tableView.frame = frame;
[super viewDidAppear:animated];
}
非常感谢任何帮助,谢谢。
答案 0 :(得分:1)
将类名更改为UIViewController并添加IBOutlet
@interface mycontroller : UIViewController <UITableViewDelegate, UITableViewDataSource> {
IBOutlet UITableView* tableView;
....
}
在IB中删除表格,创建一个链接到控制器视图插座的UIView。然后创建一个表视图,将其放置为视图的子视图。这个将保持其规模。将其出口设置为tableView,将控制器设置为委托和数据源。然后,您只需要为表视图(numberOfSections ...,numberOfRows ...,cellForRow ...)实现与当前控制器相同的方法。