我有一个适用于 iOS 和 Mac OS 的控件库。它的实现如下:
#if TARGET_OS_IPHONE
#import <UIKit/UIKit.h>
@interface MyCustonControl : UIControl
...
@end
#else
#import <Cocoa/Cocoa.h>
@interface MyCustomControl : NSControl
...
@end
#endif
如果我在视图控制器中构建控件,这可以正常工作。如果我尝试使用 Interface Builder,我永远无法将 UIView 的自定义类设置为 MyCustomControl。它显示在列表中,我可以输入它,但如果我关注其他内容然后再次关注视图,自定义类已恢复为 UIView。
我在两个实现中都实现了 initFromCoder,只是为了确保不是这样。
有什么办法解决这个问题吗?是 IB 很奇怪还是我应该以不同的方式定义我的班级?