【发布时间】:2011-02-27 10:52:42
【问题描述】:
试图将 FontLabel (http://github.com/zynga/FontLabel) 放入 UIButton。起初我想设置标题标签。但它限制了一个 setter,所以我不能只给它设置标签。
只是想知道是否有人在不使用图像来设置我的自定义按钮的情况下这样做。
【问题讨论】:
标签: iphone objective-c fonts uibutton
试图将 FontLabel (http://github.com/zynga/FontLabel) 放入 UIButton。起初我想设置标题标签。但它限制了一个 setter,所以我不能只给它设置标签。
只是想知道是否有人在不使用图像来设置我的自定义按钮的情况下这样做。
【问题讨论】:
标签: iphone objective-c fonts uibutton
这有点旧,但您可以在项目中导入字体文件(.ttf)并调用它们:
-[UIFont fontWithName:size:]
【讨论】:
您可以通过类别扩展 UILabel 类以添加一些功能。问题是 UIButton 创建了自己的 UILabel,你不能(安全地)覆盖它。因此,如果您选择使用 UIButton,则从标准 UILabel 更改标签行为的唯一选择是实际更改 UILabel 类(通过类别)。
或者,您可以编写自己的 UIControl 并模仿 UIButton 的功能。然后你就可以为所欲为。
编辑 - 如果该 FontLabel 类从 UILabel 扩展而来,则可以扩展 UIButton 并使用方法 swizzling 强制它实例化 FontLabel 作为其 titleLabel。不过,这非常极端,而且我认为您最好编写自己的 UIControl 来模仿按钮行为。
【讨论】: