意思是说,如果 UITableView 不是在 UITableViewController 而是在 UIViewController 中的时候,是不允许将 UITableView 的 Content 属性设置为 Static Cells 的。 但是,如果想让 UIViewController 中的 UITableView 是一个 Static Cells 的怎么办呢? 我们可以从 Xcode4.5 以后的 Container View 中得到启发。借助于Xcode4.5.1 之后提供的 ContainerView,我们可以将一个包含有静态单元格的UITableViewController “嵌入”到自己的 ViewController中。
1、在故事板中拖入一个常规的 TableViewController
2、在这个 TableViewController 中使用静态单元格
3、在故事版中拖入一个常规的 ViewController 。
4、在这个 ViewController 中拖入一个 Container View。
5、这个 Container View 会自动带有一个 segue 指向另一个 ViewController。将 segue 和那个ViewController 都删除
6、右键(或ctrl+左键)从 Container View 拖一条线到 TableViewController,然后在弹出的菜单中选择 Embed
这样,当运行程序时,那个普通的ViewController 中会显示 TableViewController 中内容,即在自己的 ViewController中使用了静态单元格。但是,Embed segue 只在 iOS 6 以后有效。为了和 iOS 5 兼容,你也可以使用下列代码来“嵌入”UITableViewController到一个常规的 ViewController 中:- (void)viewDidLoad{ [superviewDidLoad];self.tableVC=[self.storyboardinstantiateViewControllerWithIdentifier:@"DerivedTableViewController"]; [self.containerViewaddSubview:_tableVC.view];}这里,self 是 ViewController,self.tableVC 是 UITableViewController,self.containerView是 self 的 subview。