繁体   English   中英

如何一起使用xib和UIView子类?

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM