我使用的是 iOS7,并且我的 UITableView 有一个带有静态单元格的 UITableViewCell 子类。我在实现中重写了 setSelected 方法。
由于某种原因,该方法仅在表格加载时被调用,但在实际点击和选择单元格时不会被调用。
我在这里做错了什么?我如何让它工作?
@implementation StudentMenuMultipleOptionsTableViewCell
- (void)setSelected:(BOOL)selected {
[super setSelected:selected];
if (selected) {
UIView *view = [UIView new];
view.backgroundColor = [UIColor colorWithRed:0.542 green:0.788 blue:0.060 alpha:1.000];
self.selectedBackgroundView = view;
}
else {
for (UIView *view in self.subviews) {
if ([view isKindOfClass:[BlackBackgroundSelectedButton class]]) {
BlackBackgroundSelectedButton *button = (BlackBackgroundSelectedButton *)view;
button.selected = NO;
[button setWhite];
}
}
}
}
@end
最佳答案
问题是我使用的是 setSelected 方法。较新的iOS版本需要使用的方法是:
- (void)setSelected:(BOOL)selected animated:(BOOL)animated;
关于cocoa-touch - UITableViewCell setSelected 方法没有被调用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22841119/