突出显示时,表格单元格中的 iOS 自定义按钮变暗

Posted

技术标签:

【中文标题】突出显示时,表格单元格中的 iOS 自定义按钮变暗【英文标题】:iOS Custom button in table cell gets dimmed when highlighted 【发布时间】:2013-04-20 13:43:24 【问题描述】:

我在最后添加了一个按钮到UITableViewCell。突出显示时,我有一个自定义突出显示层,最后是透明的。但是,该按钮仍然变暗,尽管它仍在工作。但是用户可以得到它已经变得不活跃的想法。我希望按钮保持原样,即使单元格突出显示。我想了解按钮变暗的原因和方式,即使突出显示层在那里完全透明。

【问题讨论】:

你设置 yourButton.isEnabled = FALSE 了吗? 不具体。而且按钮只是起作用,这不是问题。问题是,当表格单元格被选中时,它会变暗,即使自定义高亮层在那里有透明度。 ***.com/questions/2769290/… 我怀疑当单元格突出显示时按钮状态会变为突出显示。我希望按钮保持原样。 cell.selectionStyle = NO 单独保留按钮,但现在整个单元格没有响应,因为一个选择它。 【参考方案1】:

UIButton in UITableViewCell

覆盖一些东西来解决这个问题。

我试过了,但我不知道如何让“yourButton”成为单元格中的按钮?

【讨论】:

【参考方案2】:

这会找到按钮并将其突出显示状态设置为 NO。

-(void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath

UITableViewCell *cell = [tableView cellForRowAtIndexPath:indexPath];
for(UIView *views in cell.subviews)

    if(views.tag == indexPath.row)
        for(UIButton *deKnop in views.subviews)
        
            deKnop.highlighted = NO;
        
    
    //if ( [views isKindOfClass:[UIButton class]] ) 
        //do your code
        //[subviews setImage:[UIImage imageNamed:@"PENCIL.png"] forState:UIControlStateHighlighted];
    //

【讨论】:

在模拟器中我几乎找不到任何闪烁,但我猜从技术上讲是有的。

以上是关于突出显示时,表格单元格中的 iOS 自定义按钮变暗的主要内容,如果未能解决你的问题,请参考以下文章

uitableview 单元格突出显示

IOS/Objective-C:检测自定义表格视图单元格中的按钮按下?

表格单元格中的按钮无法点击

自定义表格单元格中的堆栈视图

Obj-C - 点击自定义表格视图单元格中的删除表格视图行按钮

当触摸单元格中的自定义按钮时,我们如何知道表格中触摸了哪个单元格?