我有一个简单的问题:
在 tableView 中,我正在显示 customCells 列表。这些单元格包含标签、SegmentedControllers....
标签、segmentedController 和其他单元格属性在特定类中声明。
在它更新的列表的类中,我如何检测单元的分段控制器是否被修改?在这堂课上,当我做类似的事情时:
if (cell.segmentedControl == 1) { DO MY THINGS }
……什么都没有发生。
有人给点建议吗?:-)
我有一个简单的问题:
在 tableView 中,我正在显示 customCells 列表。这些单元格包含标签、SegmentedControllers....
标签、segmentedController 和其他单元格属性在特定类中声明。
在它更新的列表的类中,我如何检测单元的分段控制器是否被修改?在这堂课上,当我做类似的事情时:
if (cell.segmentedControl == 1) { DO MY THINGS }
……什么都没有发生。
有人给点建议吗?:-)
首先,我很确定你需要使用
(cell.segmentedControl.selectedSegmentIndex == 1)
关于知道何时更改,请使用连接到您的单元格类的 IBAction,在您的视图控制器上设置一个委托,当单击单元格控件时,它将从单元格类中获得回调。
编辑 -----------------------
在你的单元格的类 .h 中添加
@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];
}