我正在尝试将UITableViewController
用于多种用途。我的问题是我想根据显示列表的意图显示不同的按钮和其他元素。
我目前正在使用多个单元格原型来显示每个项目细节的不同信息,但我也希望能够根据意图交换控件。我一直在展示和隐藏控件以实现这一目标,但是看故事板会有点难看。
我在考虑使用容器视图......只是想到我把它扔出去看看是否有人在做类似的事情。我不想创建单独的列表视图只是为了更改按钮。
答案 0 :(得分:0)
如果没有更多细节,很难说这是否能解决您的问题。但是,我在我当前的项目中正是这样做的,这是如何: 我将假设以下内容。如果他们不成立,请告诉我,我会相应地更新我的答案。
为您的单元格创建自定义类。为您的操作添加容器并将其正确放置在故事板中。将容器连接到电池中的插座。
@interface MyCustomCell : UITableViewCell
@property MyCellTypeEnum type;
-(void) configure;
@end
@implementation MyCustomCell
-(void) configure {
switch(type) {
case type1:
// add actions to container
break;
case type2:
// etc.
}
}
@end
在TableViewController' cellForRowAtIndexPath
中执行以下操作:
- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath {
// ... dequeue appropriate cell
cell.type = <appropriate type>
[cell configure];
return cell;
}
希望有所帮助。