Objective c 向Interface Builder(IB)Xcode添加自定义控件
我完成了这篇精彩的教程:并提出了两个问题:Objective c 向Interface Builder(IB)Xcode添加自定义控件,objective-c,xcode,interface-builder,Objective C,Xcode,Interface Builder,我完成了这篇精彩的教程:并提出了两个问题: 上面的示例使每个UISlider都可以定制。你能不能把UISlider子类化并调整代码,使其成为自己的类来调用 此外,您是否可以在Interface Builder中的对象资源管理器中使用此自定义控件,这样您就可以像UIKit中的任何其他控件一样将其拖放到视图中 CoCoatTouch类的文档通常会指出一个类是否不是为子类而设计的。对于UISlider,还有一些自定义外观的说明 界面生成器中的自定义组件 要在Interface Builder中使用自定
CoCoatTouch类的文档通常会指出一个类是否不是为子类而设计的。对于UISlider,还有一些自定义外观的说明 界面生成器中的自定义组件 要在Interface Builder中使用自定义组件,必须使用“对象”组件,并为自定义类指定类类型。不幸的是,这不会呈现任何可视队列,比如核心UIKit类 您自己的插件 也许可以提供一个插件来调整Xcode,但是这不是一个小任务,因为没有官方文档,所以有必要在GitHub上搜索开源插件,等等,并研究代码。即使如此,该插件也可能与后续版本的Xcode发生冲突 推荐方法 Interface Builder是一项惊人的技术,但是对于更复杂的应用程序,我建议在代码中实现视图(在VC中重写loadView)。以下是一些原因:
- 促进更好的封装和重用。您可以使用UIKit组件组合您自己的组件(例如组合与继承),并为它们提供自定义的OO接口。与此相反,视图控制器中有大量IB插座,这导致重用性差
- Fat控制器并不真正尊重MVC范式
- 更加灵活流畅。并非所有的属性都是通过IB公开的,因此在复杂的情况下,很难知道在哪里查找。这是IB设置还是代码设置?例如,自定义字体
- 在多人团队中合并XIB非常棘手