UITableViewCell
,setHighlighted:
等)时, setSelected:
apparently calls UIImageView
和UILabel
选择。假设我在一个单元格中有一个自定义UIView
子类,我希望它能获得相同的调用。我已经在其上实施了setHighlighted:
和setSelected:
,但没有来电。是否有一些接口我必须声明符合?或者我将不得不使用UITableViewCell
的自定义子类,覆盖setSelected:
,并自己浏览我的子视图?
他们不会只是走过子视图并询问每个子视图是否响应setSelected:
和/或setHighlighted:
,这似乎很奇怪。
答案 0 :(得分:0)
创建UITableViewCell
的子类(如果您使用故事板,请添加自定义UIView
并添加@IBOutlet
)。覆盖setSelected
的子类中的UITableViewCell
:
class CustomTableViewCell: UITableViewCell {
@IBOutlet weak var customView: CustomView!
//Other methods and properties
override func setSelected(selected: Bool, animated: Bool) {
super.setSelected(selected, animated: animated)
customView.setSelected(selected)
}
}
答案 1 :(得分:0)
看Source Code有帮助。经过一些试验和错误后,您需要包含以下内容:
@property (assign,getter=isHighlighted,nonatomic) BOOL highlighted;
- (void)setHighlighted:(BOOL)highlighted ;
- (BOOL)isHighlighted;
添加后,我的自定义UIView收到了突出显示的单元格事件。
祝你好运!