我有一个TableViewController,它应该在表格视图的顶部有一个“浮动”标题, 不 滚动内容。
有没有办法使用UITableViewController实现这一点(我知道这可以通过在普通UIViewController
内嵌套一个Tableview来完成,但我更希望有一个UITableViewController
作为主ViewController所以我可以使用Storyboard TableView-Goodies的好处。
答案 0 :(得分:1)
使用UITableViewController
或其子类创建一个笔尖,然后重新排列表格视图,为标题视图腾出空间。具有略微不同布局和更多视图的表视图控制器仍然是表视图控制器。
答案 1 :(得分:-2)
它可能被视为 hack ,但这似乎可以胜任! (使用默认的Master-Detail项目模板测试)
首先将MasterViewController的类型更改为UIViewController
,然后添加委托和数据源的协议引用。同时为IBOutlet
添加UITableView
。
@interface MasterViewController : UIViewController <UITableViewDataSource, UITableViewDelegate>
@property (weak, nonatomic) IBOutlet UITableView *tableView;
@end
接下来,将IBOutlet
与故事板编辑器中的UITableView
相关联。
现在将以下代码添加到viewDidLoad
:
UIView *mainView = [[UIView alloc] initWithFrame:CGRectMake(0, 0, 320, 480)];
UILabel *header = [[UILabel alloc] initWithFrame:CGRectMake(0, 0, 320, 40)];
header.text = @"HEADER";
header.backgroundColor = [UIColor greenColor];
[mainView addSubview:header];
self.tableView.frame = CGRectMake(0, 40, 320, 440);
[mainView addSubview:self.tableView];
self.view = mainView;