Iphone 将自定义UI对象(UISwitch)添加到iOS项目
我正在尝试使用向我的应用程序添加一个自定义的Iphone 将自定义UI对象(UISwitch)添加到iOS项目,iphone,ios,interface-builder,custom-controls,Iphone,Ios,Interface Builder,Custom Controls,我正在尝试使用向我的应用程序添加一个自定义的UISwitch,但是我很难弄清楚如何正确地实现它。在将文件添加到我的项目后,我将UISwitch更改为DCRoundSwitch,但遇到了几个问题,包括发送到实例的无法识别的选择器错误 我尝试过(1)转到Xib,选择开关,打开标识选择器并更改自定义类,但我看到的唯一选项是UISwitch。(2) 我还尝试将代码中的UISwitch更改为DCRoundSwitch,但这会导致运行它时出现上述错误 我觉得我错过了一步,但我不确定是什么。是否需要删除交换机
UISwitch
,但是我很难弄清楚如何正确地实现它。在将文件添加到我的项目后,我将UISwitch更改为DCRoundSwitch,但遇到了几个问题,包括发送到实例的无法识别的选择器
错误
我尝试过(1)转到Xib,选择开关,打开标识选择器并更改自定义类,但我看到的唯一选项是UISwitch
。(2) 我还尝试将代码中的UISwitch
更改为DCRoundSwitch
,但这会导致运行它时出现上述错误
我觉得我错过了一步,但我不确定是什么。是否需要删除交换机并重新添加新交换机?我以前从未以编程方式完成此操作。
DCRoundSwitch
不是UISwitch
自定义类。这是从UIControl
继承的。这意味着在interface builder中您没有设置UISwitch
CustomClassui开关DCRoundSwitch
之间根本不相关。所以您必须以编程方式进行设置。您看到了吗?(我将该示例用于我的应用程序)终于找到了解决方案
在IB中添加自定义UI对象的方法(将代码添加到项目中后)是将通用UIView对象拖到Xib上,根据需要调整其大小,然后切换到identity inspector并将类从UIView更改为DCRoundSwitch(或其他自定义对象)
警告:如果您没有看到列出的自定义对象,请尝试构建项目或关闭并重新打开xCode。在将代码添加到编译源代码后,xCode 4及以上版本应该可以识别它。我以前没有以编程方式添加UI对象。你有什么建议吗?一个简单的示例非常棒。Alloc/init带有一个框架(或其他选项)-作为子视图添加到视图中-使用frame/center属性定位-enjoyYes我找到了几个我可以使用的项目/子类,我的问题不是查找代码并将其添加到我的项目中,它实际上是以编程方式或通过IB添加新开关。我是xCode新手,肯定缺少一个步骤。@Kyle,我明白了。你介意给我一个样本项目,这样我就可以看到这个问题了吗?请投票人解释一下为什么?我将问题编辑得更清楚一点,但本质上还是一样的。以这种方式添加自定义控件非常有效。它之所以能够工作,是因为在这种情况下,运行时将调用自定义控件的initWithCoder
方法。你知道如何在XCode的检查器中分配一些可以在initWithCoder
期间检索的值吗?