0

我有一个简单的问题:

在 tableView 中,我正在显示 customCells 列表。这些单元格包含标签、SegmentedControllers....

标签、segmentedController 和其他单元格属性在特定类中声明。

在它更新的列表的类中,我如何检测单元的分段控制器是否被修改?在这堂课上,当我做类似的事情时:

if (cell.segmentedControl == 1) { DO MY THINGS }

……什么都没有发生。

有人给点建议吗?:-)

4

1 回答 1

2

首先,我很确定你需要使用

(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];
}
于 2012-07-23T08:34:58.800 回答