Первое приложение для iPad: проблемы - PullRequest
1 голос
/ 18 марта 2012

Я пытаюсь получить представление о разделенном контроллере, вызывая его в AppDelegate, но он не отображается.Вот код, написанный в didfinishlaunchwithoptions:

self.window = [[UIWindow alloc] initWithFrame:[[UIScreen mainScreen] bounds]];
// Override point for customization after application launch.

SplitViewController *splitViewController = [[SplitViewController alloc] initWithNibName:@"SplitViewController" bundle:nil];
self.navigationController = [[UINavigationController alloc] initWithRootViewController:splitViewController];
self.window.rootViewController = self.navigationController;
[self.window makeKeyAndVisible];
return YES;

И у меня есть SplitViewController.xib с представлением красного цвета.Но симулятор iPad включается с черным экраном.

Пожалуйста, посмотрите, в чем может быть проблема.

Спасибо

Ответы [ 3 ]

3 голосов
/ 18 марта 2012

Контроллеры с разделенным видом не могут быть переданы на контроллер навигации

Это ключ здесь.Попробуйте добавить контроллер разделенного вида прямо в окно.

self.window.rootViewController = self.splitViewController;
1 голос
/ 18 марта 2012

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

В документах по UISplitViewController указано, что для свойства viewControllers необходимо установить ровно два представления. Я полагаю, что вы устанавливаете только один (красный вид).

edit: Вы также не установили основной вид .... поэтому он близок к тому, что я говорил ранее в комментариях (вид установлен неправильно)

0 голосов
/ 16 июля 2012
AppDemoMasterViewController *masterViewController = [[[AppDemoMasterViewController alloc] initWithNibName:@"AppDemoMasterViewController_iPad" bundle:nil] autorelease];

UINavigationController *masterNavigationController = [[[UINavigationController alloc] initWithRootViewController:masterViewController] autorelease];    

AppDemoDetailViewController *masterViewController = [[[AppDemoDetailViewController alloc] initWithNibName:@"AppDemoDetailViewController_iPad" bundle:nil] autorelease];

UINavigationController *detailNavigationController = [[[UINavigationController alloc] initWithRootViewController:detailViewController] autorelease];

self.splitViewController.viewControllers = [NSArray arrayWithObjects:masterNavigationController, detailNavigationController, nil];

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