无法将NIB文件加载到UIView中

时间:2011-04-12 06:17:26

标签: iphone objective-c uiview xib nib

请原谅我这个问题在这里被问了100次(我保证我已经阅读了每一个帖子!),但我根本无法弄清楚如何正确地将NIB文件加载到UIView中。我尝试了两种方法(见下文),但似乎对我来说似乎都没有。我有一个UINavController / UIViewController设置,我正在尝试将子类UIView加载到其中一个UIViewControllers上的一个小区域。

这个答案似乎很合理,但我似乎无法让它起作用:iPhone - Load a UIView from a nib file?

// ViewController.m 
localAssetUpdater = [[LocalAssetUpdater alloc] initWithFrame:[self.view frame]]; 

// LocalAssetUpdater.m    
- (id)initWithFrame:(CGRect)frame
    {
        self = [super initWithFrame:frame];
        if (self) {
        [[NSBundle mainBundle] loadNibNamed:@"LocalAssetUpdater" owner:self options:nil];

        [self reset];
        [self beginLoad];
    }
    return self;
}


 //OR: 


// ViewController.m
localAssetUpdater = [LocalAssetUpdater myView];


// LocalAssetUpdater.m 
+ (LocalAssetUpdater *) myView
{
    NSArray* array = [[NSBundle mainBundle] loadNibNamed:@"MyView" owner:nil options:nil];
    return [array objectAtIndex:0]; // assume that MyView is the only object in the xib
}

1 个答案:

答案 0 :(得分:1)

@implementation MyView

+ (MyView*) myView
{
  NSArray* array = [[NSBundle mainBundle] loadNibNamed:@"MyView" owner:nil options:nil];
  for (id object in array) {
    if ([object isKindOfClass:[YourClassName class]])
        self = (YourClassName*)object;
}   
}

@end