Ron*_*Ron 20 iphone cocoa-touch objective-c interface-builder ios
我想创建两个自定义视图,可重复使用的排序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";
Run Code Online (Sandbox Code Playgroud)
Jus*_*tin 14
是的,这是当你加载不是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;
}
}
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
12529 次 |
最近记录: |