2012-03-06 3 views
0

Здравствуйте, у меня есть этот код в моем AppDelegate:Создать UINavigationController в другом xib?

[window addSubview:viewController.view]; 
[window makeKeyAndVisible]; 

return YES; 

Теперь я хочу, чтобы создать XIB файл, в котором я хочу поставить UINavigationController и добавить UITableView. Как создать этот код без изменения класса делегата?

Я попытался это, но он не работает:

PlacesTableViewController *obj = [[PlacesTableViewController alloc]init]; 
obj.title = @"Farmacie intorno a te"; 


UINavigationController *navC = [[UINavigationController alloc]initWithRootViewController:obj]; 
[self.window addSubview:navC.view]; 

ответ

0

Во-первых, «современный» способ настроить окно, чтобы использовать rootViewController свойство окна:

window.rootViewController = someViewController; 

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

Во-вторых, если вы собираетесь заменить контроллер корневого представления (в этом случае вы заменяете viewController на navC), используя старый стиль, вы хотите удалить из окна старый вид контроллера представления. Лучше всего использовать свойство окна rootViewController, так как ваш код, как ожидается, будет использовать это движение в любом случае.

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