访问自定义UITableViewCell中的UIButtons

时间:2011-12-12 21:14:05

标签: iphone uitableview

我在IB中创建了一个自定义的UITableViewCell子类。我有3个按钮,我想重置他们选择的状态。我以为我可以做这样的事,但它不起作用。子视图从不是一种UIButton类。我接近这个问题了吗?我是否循环了UITableViewCell的正确属性?我在调试器中看到,有我的单元格变量,然后在它下面略微缩进,我看到UITableViewCell和我的3个按钮。但我不知道如何获得这些按钮的引用。感谢。

NSIndexPath *conditionPath = [NSIndexPath indexPathForRow:0 inSection:1]; 
UITableViewCell *cell = [self.FilterSortVC.TableView cellForRowAtIndexPath:conditionPath];

for (UIView *subview in cell.subviews) {
    if ([subview isKindOfClass:[UIButton class]]) {
        UIButton *aButton = (UIButton *)subview;
        aButton.selected = NO;
    }
}

2 个答案:

答案 0 :(得分:0)

尝试为每个按钮设置一个标记,为每个按钮声明一个常量,使其具有更多可读代码,然后使用viewWithTag:从层次结构中获取视图。

答案 1 :(得分:0)

我认为单元格中的项目存储在contentView中。 试试这个:

for (UIView *subview in cell.contentView.subviews) {
    if ([subview isKindOfClass:[UIButton class]]) {
        UIButton *aButton = (UIButton *)subview;
        aButton.selected = NO;
    }
}