自定义UIControl子类在IB for iOS中设置位置

jam*_*one 7 custom-controls interface-builder ios

我正在制作一个UIControl子类,因此以编程方式布置其中的所有内容.现在我已经完成了它,我需要在各种屏幕上多次放置它.我知道你不能为iOS制作一个IB插件,但是没有办法在IB中使用UIView并将其大小/放置在我应该控制的位置,然后将其'Custom Class属性设置为我的UIControl的子类?我知道我不会看到它在IB中的显示方式,但至少这让我可以设置相对于屏幕上其他内容的整体大小和位置.我还在viewController中创建了IBOutlets,并将IB中的视图正确连接到它们.运行然而,当我看不到任何自定义,而当我设断点initWithFrame:loadView我从来没有看到我的代码将被调用.我该怎么做?

bsh*_*ley 10

您可以将UIView拖到nib文件上,然后使用身份检查器(command-opt-3)将类更改为UIView的任何子类.

您将需要设置初始化代码子类从笔尖加载时调用,即initWithFrame:.如果您要编写完整性,则两种方法(基于编程和基于nib的)都应该调用相同的初始化.

如果您愿意,只需创建并addSubview:在初始化代码中,然后实现layoutSubviews布局您的自定义子视图.无论何时调整视图以及最初调整视图,都会调用此方法.