我在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/