2012-03-15 5 views
0

У меня проблема, что я застрял на пару часов.iOS черный экран на ipad, а не iphone

У меня есть iPhone, который успешно попал в App Store. Теперь я хочу, чтобы он поддерживал iPads.

Для того, чтобы добиться того, чтобы создать новый XIB-файлов для IPad имя им что-то вроде этого:

iPhone: RootViewController_iPhone.xib

IPad: RootViewController_iPad.xib

Затем я установил владелец файла.

это, как я называю их:

MyViewController *vC; 
if ([[UIDevice currentDevice] userInterfaceIdiom] == UIUserInterfaceIdiomPhone) { 
    vC = [[[MyViewController alloc] initWithNibName:@"MyViewController_iPhone" bundle:[NSBundle mainBundle]] autorelease]; 
} else { 
    vC = [[[MyViewController alloc] initWithNibName:@"MyViewController_iPad" bundle:[NSBundle mainBundle]] autorelease]; 
} 

В каждом ViewController я тогда сделать некоторые пользовательские layoutfixes в зависимости от текущего семейства устройств.

Это прекрасно подходит для всех моих взглядов, кроме двух из них. Экран остается черным, независимо от того, что я пробовал. Я проверил this, this, или this, чтобы перечислить только несколько вопросов. Видимо, я не смог это исправить.

Любые идеи, почему это происходит только для (к счастью) двух моих взглядов?

Заранее спасибо.

EDIT: Вот некоторые код инициализации:

- (id)initWithNibName:(NSString *)nibNameOrNil bundle:(NSBundle *)nibBundleOrNil{ 

    if (self = [super initWithNibName:nibNameOrNil bundle:nibBundleOrNil]) { 
     NSLog(@"frame: %@", NSStringFromCGRect(self.view.frame)); //frame: {{0, 0}, {768, 1004}} 
     self.view.backgroundColor = [UIColor groupTableViewBackgroundColor];  //no result here 
    } 
    return self; 
} 

- (void)viewDidAppear:(BOOL)animated{ 
    [super viewDidAppear:animated]; 
    UILabel *l1 = [[UILabel alloc] initWithFrame:CGRectMake(50, 50, 100, 30)]; 
    l1.backgroundColor = [UIColor clearColor]; 
    l1.text = @"Zurück"; 
    l1.textColor = [UIColor blackColor]; 
    l1.textAlignment = UITextAlignmentCenter; 
    l1.font = [UIFont fontWithName:@"Helvetica" size:10]; 
    [self.view addSubview:l1]; 
    [l1 release]; 
} 
+1

Я действительно верю, что ваша проблема заключается в самих взглядах ... можете ли вы дать больше информации о них .. – Shubhank

+0

Have вы проверили все ссылки в файлах nib? Правильно ли подключен mainView к свойству 'view'? Установлен ли файл? Вы делаете какие-либо дополнительные инициализации в 'viewDidLoad'? – calimarkus

+0

Я отправил некоторый код инициализации. Я сравнивал файлы nib снова и снова, я не мог найти никакой разницы с другими nixs. – pmk

ответ

0

Я бы рекомендовал делать это (не оставляя пучок ноль)

initWithNibName:@"RooViewController_iPad" bundle:[NSBundle mainBundle]] autorelease]; 

Altough, я, если он не будет знать, помощь ...

+0

спасибо, это было совершенно очевидно. К сожалению, это ничего не изменило – pmk

+1

Я думал, что это может не поможет, но я пробовал :)) –

Смежные вопросы