Mrw*_*lfy 1 objective-c xib nib
我想用xib初始化一个视图.这是一个UIView.所以我有一个xib和一个UIView子类,下面粘贴了init代码(initWitFrame nibName).在创建视图时,我将xib名称从视图控制器提供给init代码.
SubclassUIView *view = [[SubclassUIView alloc]initWithFrame:self.view.bounds nibName:@"xibName"];
Run Code Online (Sandbox Code Playgroud)
我是在正确的轨道上吗?到目前为止,xib的内容不会加载视图.
顺便说一下,xib中的主视图被设置为我的UIView子类的类类型.
- (id)initWithFrame:(CGRect)frame nibName:(NSString*)nibName
{
self = [super initWithFrame:frame];
if (self)
{
[[NSBundle mainBundle] loadNibNamed:nibName owner:self options:nil];
[self addSubview:self.view];
}
return self;
}
Run Code Online (Sandbox Code Playgroud)
从NSBundle返回的是NSArray(视觉控件,主要是UIViews).公寓从代码似乎是正确的.看看一个有效的例子:
- (id)initWithFrame:(CGRect)frame
{
self = [super initWithFrame:frame];
if (self) {
NSArray* nibViews = [[NSBundle mainBundle] loadNibNamed:@"TestView"
owner:self
options:nil];
UIView* mainView = (UIView*)[nibViews objectAtIndex:0];
[self addSubview:mainView];
}
return self;
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
12836 次 |
| 最近记录: |