将自定义UI对象(UISwitch)添加到iOS项目

时间:2012-08-16 00:36:29

标签: iphone ios interface-builder custom-controls

我正在尝试使用DCRoundSwitch向我的应用添加自定义UISwitch,但我正在努力弄清楚如何正确实现它。将文件添加到我的项目后,我将我的UISwitch更改为DCRoundSwitch但遇到了几个问题,包括unrecognized selector sent to instance错误。

我已经尝试过(1)转到Xib,选择Switch,打开身份选择器并更改自定义类,但我看到的唯一选项是UISwitch。 (2)我还尝试将代码中的UISwitch更改为DCRoundSwitch,但在运行时会导致上述错误。

我觉得我错过了一步,但我不确定是什么。我是否需要删除交换机并重新添加新交换机?我以前从未以编程方式完成此操作。

3 个答案:

答案 0 :(得分:2)

终于找到了解决方案!

在IB中添加自定义UI对象(在将代码添加到项目之后)的方法是将通用UIView对象拖到Xib上根据需要调整其大小,然后切换到身份检查器并将类从UIView更改为DCRoundSwitch (或其他自定义对象)。

警告:如果您没有看到列出的自定义对象,请尝试构建项目或关闭并重新打开xCode。在将代码添加到已编译的源代码后,xCode 4及更高版本应识别它。

答案 1 :(得分:0)

DCRoundSwitch不是UISwitch自定义类。这是继承自UIControl。这意味着在界面构建器中您没有设置UISwitch CustomClass。 UISwitch之间的DCRoundSwitch根本不相关。所以你必须以编程方式设置。

答案 2 :(得分:0)

你看到了这个吗? https://github.com/robertchin/rcswitch(我将该示例用于我的应用)