Как загрузить навигационное представление, созданное программно, и сделать его ModalView? - PullRequest
0 голосов
/ 18 июля 2011

Я делаю приложение для iphone из шаблона утилиты в xcode.Так что в моем FlispSideView у меня есть кнопка, которая должна показывать пользовательский сборщик изображений.Я решил использовать этот хороший здесь ссылка .

Теперь я внес некоторые изменения, потому что я не использую навигационный контроллер для загрузки пользовательского средства выбора изображений (но скорее модально), который создаетсяпрограммно внутри .m файла.Поэтому я сделал FlipSideView делегатом для пользовательского средства выбора изображений, но все равно потерял, когда я загружал представление.Я создал файл xib и попытался подключить его к средству выбора изображений, но это не сработало.Поэтому мне интересно, как лучше это сделать?

Ответы [ 2 ]

2 голосов
/ 19 июля 2011

Я не уверен, что правильно истолковал ваш вопрос, но, основываясь на названии, думаю, это может быть то, что вы ищете:

// Initialize your custom controller and set the delegate
UIViewController *controller = [[UIViewController alloc] initWithNibName:@"MyView" bundle:nil];
controller.delegate = self;

// Set the title of your custom controller (optional)
controller.title = NSLocalizedString(@"My View", nil);

// Create a navigation controller with your custom controller as the root view controller
UINavigationController *navCon = [[UINavigationController alloc] initWithRootViewController:controller];

// Present the navigation controller as a modal view controller
[self.navigationController presentModalViewController:navCon animated:YES];

// Release objects you own
[navCon release];
[controller release];

Если средство выбора изображений - контроллер, и всерозетки на вашей XIB правильно подключены к нему, это должно работать.Вы должны быть в состоянии сделать свой FlipSideView делегатом.Нажатие кнопки «Отмена» или «Готово» в модальном представлении должно вызвать сообщение в делегате, которое гласит:

[self.navigationController dismissModalViewControllerAnimated:YES];

РЕДАКТИРОВАТЬ:

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

CustomImagePicker *controller = [[CustomImagePicker alloc] init];

Остальное тоже самое.Вы инициализируете контроллер навигации с controller в качестве корневого контроллера представления, затем представляете контроллер навигации как модальный контроллер представления.

0 голосов
/ 19 ноября 2013

Создание навигации программно Используйте приведенный ниже код для программной навигации. Напишите следующий код в AppDelegate.m класс

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
  {
    FirstViewController *firstViewController = [[FirstViewController alloc] initWithNibName:@"FirstViewController" bundle:nil];
    self.nav = [[UINavigationController alloc] initWithRootViewController:firstViewController];
    [_window addSubview:nav.view];
    [_window makeKeyAndVisible];
  }
...