自定义UIButton的有效方法

时间:2012-10-30 08:21:43

标签: objective-c ios xcode uibutton interface-builder

在应用中自定义UIButtons外观的最佳方法是什么?我正在开发一个应用程序,我们以编程方式更新UIButton以查看我们想要的方式。大多数按钮都是在Interface Builder中创建的,我们希望以有效的方式对它们执行customizeButton - 方法。我只看到两种方法来实现这一目标:

  1. 在IB中创建按钮,将它们分配到插座,并在每个按钮的代码调用中customizeButton问题:方式太多hazzle
  2. 子类UIButton,在构造函数initWithCoder:中调用customizeButton。然后将此类用于IB中的按钮。 问题:尽管这适用于在IB中创建的按钮,并且需要比第1点更少的样板代码,但我已经阅读了针对UIButton子类化的所有警告,因为它们的类集群。
  3. 显然必须有更好的方法,第3点是什么?

1 个答案:

答案 0 :(得分:2)

看看UIAppearance。它自iOS 5开始提供,尤其适用于自定义标准UI元素。

对于可自定义的类,可以使用名为+appearance:的类方法,您可以像这样使用它。

[[UIButton appearance] setBackgroundColor:[UIColor redColor]];

每个按钮现在都有红色背景颜色。

要开始使用,请查看WWDC11视频的Ray Wenderlichs教程User Interface Customization in iOS 5和/或会话114 - Customizing the Appearance of UIKit Controls