本教程展示了如何使用 Quartz 2D 为视图绘制图形上下文: http ://www.techotopia.com/index.php/An_iPhone_Graphics_Drawing_Tutorial_using_Quartz_2D
但我想在 UIButton 上绘制,而不是在视图上绘制。我怎样才能做到这一点?谢谢
本教程展示了如何使用 Quartz 2D 为视图绘制图形上下文: http ://www.techotopia.com/index.php/An_iPhone_Graphics_Drawing_Tutorial_using_Quartz_2D
但我想在 UIButton 上绘制,而不是在视图上绘制。我怎样才能做到这一点?谢谢
一个按钮是一个 UIView。它继承自 UIControl,它继承自 UIView。
所以按钮有一个drawRect方法。
因此,您可以执行您在按钮上链接的文章中描述的所有操作。
然而,按钮被设置为为您做很多事情,并且覆盖 drawRect 方法可能会使这些事情无法正常工作。
按钮通常绘制一个标题和一个圆角矩形框。您可以通过将按钮的类型设置为自定义来关闭它。
如果您安装自定义按钮,则会绘制图像。
按钮通常也会在其图像上绘制一个突出显示,或者有第二个图像用于突出显示状态。如果你想实现drawRect,你需要自己处理绘制高亮状态。
通常,您希望避免使用 drawRect 并使用其他一些技术将您想要的内容放入您的视图中。
你到底想做什么?
在 UIView 上绘图。将视图作为子视图添加到您的 UIButton。