我有一个 TableViewController,它应该在表格视图的顶部有一个“浮动”标题,它不应该随着内容滚动。
有没有办法使用 UITableViewController 来实现这一点(我知道这可以通过在普通文本中嵌套 Tableview 来完成,UIViewController
但我更愿意将 aUITableViewController
作为主 ViewController,这样我就可以使用 Storyboard TableView-Goodies 的好处。
我有一个 TableViewController,它应该在表格视图的顶部有一个“浮动”标题,它不应该随着内容滚动。
有没有办法使用 UITableViewController 来实现这一点(我知道这可以通过在普通文本中嵌套 Tableview 来完成,UIViewController
但我更愿意将 aUITableViewController
作为主 ViewController,这样我就可以使用 Storyboard TableView-Goodies 的好处。
用它的一个或一个子类制作一个笔尖,UITableViewController
然后简单地重新排列表格视图,为标题视图腾出空间。布局稍有不同且视图更多的表视图控制器仍然是表视图控制器。
它可能被认为是hack,但这似乎可以完成工作!(使用默认的主从项目模板测试)
首先将 MasterViewController 的类型更改为 aUIViewController
并添加委托和数据源的协议引用。还IBOutlet
为 a 添加一个UITableView
。
@interface MasterViewController : UIViewController <UITableViewDataSource, UITableViewDelegate>
@property (weak, nonatomic) IBOutlet UITableView *tableView;
@end
接下来,将其IBOutlet
连接到UITableView
Storyboard 编辑器中的 。
现在将以下代码添加到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;