当创建自定义 UIView
时(就方法而言)我应该添加 subview 和其他初始化步骤,以便它在以下情况下显示:
- 通过在 Interface Builder 中添加来创建
- 通过初始化创建并以编程方式添加
- 通过 Xcode 6 中新的
@IBDesignable
功能在 Interface Builder 中查看
我很困惑我应该在哪里添加这个。假设我的 View 总是需要在其中嵌入一个特定的图像,然后将 UIImageView
的角圆化。我应该用什么方法来做?
最佳答案
编辑 - 最初误解了这个问题......
您可以覆盖自定义 UIView 的普通 init
方法并在那里处理它。
你也可以声明一个自定义的初始化器来调用,以防你需要传入像 UIImageView 这样的参数。
在 CustomView.h 中
-(CustomView *)initWithImage:(UIImage*)image;
在 CustomView.m 中
-(CustomView *)initWithImage:(UIImage*)image
{
if (self = [super init]){
//do whatever you need with rounded corners, setting images, etc
}
return self;
}
对于默认图像,您的自定义 View 必须在 IB 中有一个 UIImageView subview ,您可以在那里设置图像。要在代码中更改它,它必须是 IBOutlet)。
至于圆角,很确定您必须在代码中做到这一点——IB 没有这种能力。
还没有玩过@IBDesignable。
关于ios - 我在哪里将 subview 添加到自定义 UIView 以便它在 IB 中以编程方式创建并在 IB 中呈现时显示?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25147718/