gpt4 book ai didi

ios - 当单元格被选中时,按钮的背景颜色会改变然后恢复

转载 作者:行者123 更新时间:2023-11-28 19:44:31 26 4
gpt4 key购买 nike

我有一个 Customize UITableViewCell 并且其中有一个按钮,当我将按钮的背景颜色设置为 Default Color 以外的其他颜色时(即 [UIColor whiteColor]), 那么当单元格被选中时,按钮的背景颜色会改变,当单元格的选择高亮消失时恢复。

这是如何发生的以及如何在选择单元格时保持按钮的背景颜色?

最佳答案

我建议检查您的 TableView 单元格的 View 层次结构。它可以很容易地完成:在模拟器上运行你的应用程序 -> 点击“调试 View 层次结构”(见附图 1) -> 与检查员一起玩(见附图 2)。 enter image description here

enter image description here

更新:在挖掘了一段时间后,我得到了以下信息(请参阅下面解释情况的 3 个屏幕截图): enter image description here

enter image description here

enter image description here

如您所见,有一个内部调用可以清除名为 _setOpaque:forSubview:

的单元格 subview 的背景颜色

话虽如此,如果您想确保按钮的背景颜色保持不变,您应该按以下方式实现单元格的选择机制:

- (void)setSelected:(BOOL)selected animated:(BOOL)animated {
[super setSelected:selected animated:animated];

// here comes your custom color (it's assumed that myButton is a binded IBOutlet
self.myButton.backgroundColor = [UIColor greenColor]; // or whatever else
}

这对 UIKit 很不友善。希望这对您有所帮助。

关于ios - 当单元格被选中时,按钮的背景颜色会改变然后恢复,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32860704/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com