如何让UITableViewCell在自定义UIView子类上调用setHighlighted或setSelected?

时间:2015-11-20 17:57:04

标签: ios uitableview uiview

当获得符合条件的子视图(UITableViewCellsetHighlighted:等)时,

setSelected: apparently calls UIImageViewUILabel选择。假设我在一个单元格中有一个自定义UIView子类,我希望它能获得相同的调用。我已经在其上实施了setHighlighted:setSelected:,但没有来电。是否有一些接口我必须声明符合?或者我将不得不使用UITableViewCell的自定义子类,覆盖setSelected:,并自己浏览我的子视图?

他们不会只是走过子视图并询问每个子视图是否响应setSelected:和/或setHighlighted:,这似乎很奇怪。

2 个答案:

答案 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收到了突出显示的单元格事件。

祝你好运!