我有一个简单的问题:
在tableView中,我正在显示customCells列表。这些单元格包含标签,SegmentedControllers ....
标签,segmentedController和其他单元格属性在特定类中声明。
我怎样才能在更新列表的类中检测细胞的分段控制器是否被修改?在本课程中,当我做类似的事情时:
if (cell.segmentedControl == 1) { DO MY THINGS }
......什么都没发生。
有人有建议吗? :-)
答案 0 :(得分:2)
首先,我很确定你需要使用
(cell.segmentedControl.selectedSegmentIndex == 1)
关于知道何时更改,使用连接到您的单元类的IBAction,在视图控制器上设置一个委托,当单击单元格控件时,该委托将从单元类中获得回调。
编辑-----------------------@property (nonatomic, weak) id<NSObject> delegate;
在单元格的类.m
中@synthesize delegate = _delegate;
- (IBAction)segmentControlChanged
{
if ([self.delegate respondsToSelector:@selector(segmentChanged:)]) {
[self.delegate performSelector:@selector(segmentChanged:) withObject:self];
}
}
在包含该表的ViewController中,在cellForRowAtIndexPath
方法中添加
cellname.delegate = self
并添加方法
-(void)segmentChanged {
// Put code here to refresh your data source
[self.tableView reloadData];
}