检测自定义单元格中分段控件的操作

时间:2012-07-23 08:12:59

标签: ios uisegmentedcontrol detect custom-cell

我有一个简单的问题:

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

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

我怎样才能在更新列表的类中检测细胞的分段控制器是否被修改?在本课程中,当我做类似的事情时:

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

......什么都没发生。

有人有建议吗? :-)

1 个答案:

答案 0 :(得分:2)

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

(cell.segmentedControl.selectedSegmentIndex == 1)

关于知道何时更改,使用连接到您的单元类的IBAction,在视图控制器上设置一个委托,当单击单元格控件时,该委托将从单元类中获得回调。

编辑-----------------------
在你的单元格类中.h add

@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];
}