[英]How to initialize UIView subclass that is load from xib? Problems with inheritance
[英]How to use a xib and a UIView subclass together?
我想创建一些自定义视图,一些可重用的UI组件,并且不希望在UIView子类中的代码中布局UI。 我想用xib。 我自己使用了一个xib。 我已经通过iteself使用了一个UIView子类。 但我没有一起使用它们。 我如何将它们“附加”到彼此? 我想使用IBOutlets在我的自定义视图中访问UILabels。
这种事情会起作用吗?
NSArray *xib = [[NSBundle mainBundle] loadNibNamed:@"MyCustomView" owner:self options:nil];
MyCustomView *view = [xib objectAtIndex:0];
view.myLabel.text = @"fred";
是的,这是当你加载不是viewControllers父项的xib时的工作方式
编辑2013年8月15日:
您不能总是假设您将从返回的NSArray的索引0中获得您正在寻找的内容,这使得使用类型检查变得更好。
NSArray *xibArray = [[NSBundle mainBundle] loadNibNamed:@"MyCustomView" owner:nil options:nil];
MyCustomView *myView = nil;
for (id xibObject in xibArray) {
//Loop through array, check for the object we're interested in.
if ([xibObject isKindOfClass:[MyCustomView class]]) {
//Use casting to cast (id) to (MyCustomView *)
myView = (MyCustomView *)xibObject;
}
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.