我想创建一个像UIButton
一样的自定义形状。我需要它将touchUpInside
发送到目标,如按钮,但我想在按钮状态发生变化时使用drawRect
更改按钮外观。
我在网上看到很多有关不对UIButton
或UIControl
进行子类化的相互矛盾的事情。
那么可以接受的方式是什么?
如果答案是UIControl
,那么如何使用“touchUpInside
”方法实施beginTracking
?
为什么我们不能继承UIButton
。我已经读过关于它是一个类集群但没有使用UIButtonTypeCustom
的事情,因为它不起作用,但为什么会这样呢?
我希望有人可以对此有所了解,或者指出一些好的阅读。
谢谢。
答案 0 :(得分:1)
当我想要自定义按钮时,我遇到了同样的问题。我还阅读了很多帖子似乎没有以正确的方式进入子类UIButton
。在您的情况下,我建议继承UIButton
并覆盖setHighlighted:
方法以调整选择按钮。我有一个名为UIButton
的{{1}}子类,可以在lightdesign/LDGradientButton找到。随意看看绘图代码。就我而言,我使用LDGradientButton
,但如果我这样做,我可能会使用CALayers
。