我有一个常规的ViewController
,其中我添加了占据屏幕一小部分的tableView
(如下所示)。因为我的tableView
是静态的,所以我没有按照answer中的建议实现任何Tableview数据源方法。但是,我在故事板中放入的内容没有显示出来,我对其他可能发生的事情感到茫然。
为了说明,以下是我在Storyboard中设置的内容:
但这就是模拟器中显示的内容:
我在self.tableview.delegate = self
中设置了viewDidLoad
,并将我的视图控制器声明为<UITableViewDelegate>
。但是,这一切都没有帮助。
答案 0 :(得分:6)
静态单元格仅适用于UITableViewControllers。它们充当表视图的数据源,并负责为它提供所有那些你很好地设置它的接口Buider。在这种情况下,我通常使用Container View。它是一个显示其中的另一个视图控制器视图的视图。在你的情况下,这个'另一个控制器'是一个UITableViewController或从它派生的那个。
答案 1 :(得分:0)
您需要一个数据源,否则不会显示任何内容。
你需要实现3种方法才能正确使用UITableView
-(void)viewDidLoad {
self.dataArray = @[@"A Fish",@"A Cat",@"A dog"
}
- (NSInteger)numberOfSectionsInTableView:(UITableView *)tableView {
return 1;
}
- (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section {
return dataArray.count;
}
- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath {
static NSString *CellIdentifier = @"CellIdentifier";
UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:CellIdentifier forIndexPath:indexPath];
cell.title = dataArray.indexPath.row;
return cell;
}
在最后一种方法中,您可以看到一个单元标识符,用于标识单元格。
NSString *CellIdentifier = @"CellIdentifier";
在故事板中,如果您单击单元格并查看右侧栏。 您需要填写一个ID框,您需要确保这些ID是相同的,这样您才能保持相同的样式。
希望这有帮助
丛