ios - 使用自定义drawRect代码创建UIButton LIKE控件

标签 ios objective-c uibutton core-graphics uicontrol

我想创建一个类似于 UIButton 的自定义形状。我需要它将 touchUpInside 发送到按钮之类的目标,但是我想使用 drawRect 在按钮状态更改时更改按钮外观。

我在网上读到了很多关于不子类化 UIButtonUIControl 的相互矛盾的内容。

  1. 那么可接受的方法是什么?

  2. 此外,如果答案是 UIControl,那么如何使用“beginTracking”方法实现 touchUpInside

  3. 为什么我们不能子类化UIButton。我读过有关它是一个类簇的内容,并且没有使用 UIButtonTypeCustom 因为它不起作用,但这是为什么?

我希望有人能阐明这一点,或者给我指出一些好的读物。

谢谢。

最佳答案

当我想做一个自定义按钮时,我遇到了同样的问题。我还读过许多帖子,这些帖子似乎没有找到子类 UIButton 的正确方法。对于您的情况,我建议子类化 UIButton 并重写 setHighlighted: 方法来调整选择的按钮。我有一个名为 LDGradientButton 的 UIButton 子类,可以在 lightdesign/LDGradientButton 找到。 。请随意查看绘图代码。就我而言,我使用的是 CALayers,但如果我重来一遍,我可能会使用 CoreGraphics

关于ios - 使用自定义drawRect代码创建UIButton LIKE控件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19278416/

相关文章:

ios - 核心蓝牙 : How to design code for many characteristics (30 - 40)?

ios - 如何在 Swift 2 中将结构转换为 Anyobject?

iphone - 添加到 UITableViewCell 的内容 View 中的 UIButton 仅在选择单元格时出现

ios - 我想为 iOS 制作一个交互式的 3D map 。我应该使用什么软件?

ios - Objective C 中的属性(为自己读写,为他人只读)

ios - UIButton Outlet 设置标题 Swift

ios - 无法在所有设备上获取推送通知

objective-c - 什么会阻止可编辑的 NSTableColumn 双击时可编辑?

ios - 是否可以使用 UIButton 在 iOS 应用程序中嵌入 Vimeo 视频?

ios - 根据 UIButton 的标题调整其宽度