Ошибка загрузки файла NIB в UIView - PullRequest
2 голосов
/ 12 апреля 2011

Пожалуйста, прости меня, поскольку этот вопрос задавался здесь 100 раз (и я обещаю, что прочитал каждую ветку!), Но я просто не могу понять, как правильно загрузить файл NIB в UIView. Я попробовал два подхода (см. Ниже), хотя ни один из них не помог мне. У меня есть настройка UINavController / UIViewController, и я пытаюсь загрузить подклассный UIView в небольшую область на одном из этих UIViewController.

Этот ответ казался разумным, но я не могу заставить его работать: iPhone - Загрузить UIView из файла пера?

// 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 Ответ

1 голос
/ 12 апреля 2011
@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
...