2012-12-28 74 views
2

我在自定义单元格内有UIButton。在选择单元格后,按钮将其状态更改为“高亮显示”UIButton继承选定状态

我想阻止这种行为。只有在特别触摸按钮时,按钮才会改变其状态(我在IBAction中注意到了这一点)。

可能吗?

回答

1

这是我最终使用的(在我的Custom cell实现中):

- (void)setSelected:(BOOL)selected animated:(BOOL)animated 
{ 
    BOOL highlightState = self.btn.highlighted; 
    BOOL selectedState = self.btn.selected; 

    [super setSelected:selected animated:animated]; 

    self.btn.selected = selectedState; 
    self.btn.highlighted = highlightState; 
} 

- (void) setHighlighted:(BOOL)highlighted animated:(BOOL)animated 
{ 
    BOOL highlightState = self.btn.highlighted; 
    BOOL selectedState = self.btn.selected; 

    [super setHighlighted:highlighted animated:animated]; 

    self.btn.selected = selectedState; 
    self.btn.highlighted = highlightState; 
} 
3

你也可以继承UIButton并重写setSelected:方法,而不是调用[super setSelected:]或者如果您想自己选择它与[super setSelected:NO];

称呼它,称之为[super setSelected:YES];

0

在你的细胞的类重写:

-(void)touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event 
{ 
    [super touchesBegan:touches withEvent:event]; 
    self.button.highlighted = NO; 
}