UITutton在UITableViewCell中

NRa*_*Raf 36 iphone uibutton uitableview

我有一个UIButton,其中有一个UITableViewCell内的图像.当单元格突出显示时,无论用户是否在按钮的边界内单击,该按钮也进入突出显示状态(即图像的较暗阴影).

我不想要这个功能 - 我只想在单击按钮时突出显示按钮,而不是在单击整个单元格时突出显示按钮.

我试图将突出显示状态的图像设置为与普通图像相同.这解决了问题,但它突然停止按钮更改颜色.

任何想法如何达到预期的效果?

cod*_*ine 57

这让我发疯了.我发现你需要覆盖setHighlighted:animated:setSelected:animated:

- (void)setHighlighted:(BOOL)highlighted animated:(BOOL)animated {
    [super setHighlighted:highlighted animated:animated];
    self.yourButton.highlighted = NO;
}

- (void)setSelected:(BOOL)selected animated:(BOOL)animated {
    [super setSelected:selected animated:animated];
    self.yourButton.selected = NO;
    // If you don't set highlighted to NO in this method,
    // for some reason it'll be highlighed while the 
    // table cell selection animates out
    self.yourButton.highlighted = NO;
}
Run Code Online (Sandbox Code Playgroud)

  • 我今天遇到了这个问题并使用了这种方法,但是当敲击单元格时它使按钮闪烁.我通过在每个方法的开头将showsTouchWhenHighlighted设置为NO,然后在结束时返回YES来解决此问题. (4认同)