我已经实现了一个自定义 UIButton,发布在 cocoacontrols.com:
http://cocoacontrols.com/platforms/ios/controls/imageless-gradient-buttons
我刚刚将项目转换为 ARC 并设置了按钮。它们可以工作,但在按下一次后,它们会保持突出显示的渐变。
要设置它们,我只是更改了故事板和 IBOutlets 上的类,并在 viewDidLoad 上选择了我想要的渐变。
关于可能是什么问题的任何想法?
编辑:我一直在花更多时间在它上面,而且问题似乎只发生在按钮位于 UITableView 上时。它在 UIViewController 上时可以正常工作
编辑#2:根据 NSLogs,当容器是 UIViewController 时,按下按钮时渐变恢复正常:
2012-05-26 10:53:17.950 GradientButtons[11507:f803] highlighthed
2012-05-26 10:53:18.040 GradientButtons[11507:f803] highlighthed
2012-05-26 10:53:18.140 GradientButtons[11507:f803] Normal
但是当容器是 UTableViewController 时,按钮仍保持高亮渐变:
2012-05-26 10:55:20.969 GradientButtons[11507:f803] highlighthed
2012-05-26 10:55:21.069 GradientButtons[11507:f803] highlighthed
我检查了 viewContentMode,所有按钮、UIView 和 UITableView(缩放到填充)都是一样的。将其更改为重绘不会改变行为。