Почему я вижу черный экран?Разве я не выделил что-то? - PullRequest
0 голосов
/ 07 января 2012

В xcode это одно из созданных мною представлений:

enter image description here

Если я запустил программу в симуляторе, я смогу увидеть это представление нормально.Однако, если я создаю класс UIViewController и подключаю его к этому представлению (я подтвердил, что это представление является UIViewController), это то, что я получаю в симуляторе:

enter image description here

Почемуя могу получить этот пустой экран?Как я могу получить экран, который выглядит как первое изображение?

Редактировать: код

#import "EnterLevelViewController.h"

@interface EnterLevelViewController ()

@end

@implementation EnterLevelViewController

- (id)initWithNibName:(NSString *)nibNameOrNil bundle:(NSBundle *)nibBundleOrNil
{
    self = [super initWithNibName:nibNameOrNil bundle:nibBundleOrNil];
    if (self) {
        // Custom initialization
    }
    return self;
}

- (void)loadView
{
    // Implement loadView to create a view hierarchy programmatically, without using a nib.
}

- (void)viewDidLoad
{
    [super viewDidLoad];

    // Do any additional setup after loading the view, typically from a nib.
}

- (void)viewDidUnload
{
    [super viewDidUnload];
    // Release any retained subviews of the main view.
}

- (BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)interfaceOrientation
{
    return (interfaceOrientation == UIInterfaceOrientationPortrait);
}

@end

Ответы [ 3 ]

5 голосов
/ 08 января 2012

Из вашего кода видно, что вы раскомментировали метод -(void)loadView из контроллера представления, который предоставляется в шаблоне. Когда вы сделаете это, контроллер попытается построить представление программно, а не с помощью пера (раскадровки). Полностью удалите пустой метод и посмотрите, поможет ли это.

1 голос
/ 07 января 2012

просто перетащите с tabBarController на новый ViewController в раскадровке и, когда вы отпустите, нажмите выбор для отношения ViewController.

Вот краткий пример того, как установить его с тремя вкладками, однас вашей точки зрения:

https://github.com/HubertK/TabBar_Example

0 голосов
/ 08 января 2012

Раскадровка, которая изначально была частью вашего проекта, уже включала контроллер представления и связанный с ним вид. Вы можете видеть это на изображении раскадровки, которое вы разместили - это значок внизу со светло-серым фоном. Этот контроллер представления был настроен как корневой контроллер представления, и код, который входил в состав шаблона проекта, загружал этот контроллер представления и его представление. Это то, что вы видели в симуляторе. Когда вы добавили другой контроллер представления, вы должны настроить его как корневой контроллер. Поскольку к нему не подключено представление (или, если оно есть, представление пустое), вы больше ничего не видите.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...