iPhone — запуск UIImagePickerController из UIWindow

#iphone #ios #uinavigationcontroller #uiimagepickercontroller #uiwindow

#iPhone #iOS #uinavigationcontroller #uiimagepickercontroller #uiwindow

Вопрос:

Как я могу запустить a UIImagePickerController из основного UIWindow (представление не определено) - (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions в проекте, для которого в главном окне нет встроенного контроллера навигации в IB (и без необходимости добавлять его в IB)?

Ответ №1:

Если вам не нужно UINavigationController , просто поместите regular UIViewController в качестве корневого представления для основных окон. И представление UIImagePickerController из него.

Пример:

 - (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
{
    self.window.rootViewController = [[[UIViewController alloc] init] autorelease];
    UIImagePickerController *imagePickerController = [[[UIImagePickerController alloc] init] autorelease];
    [self.window.rootViewController presentModalViewController:imagePickerController animated:YES];
    [self.window makeKeyAndVisible];
    return YES;
}
  

Комментарии:

1. не могли бы вы дать мне более подробную информацию. Я бы хотел избежать бесполезного кода и просто запустить пикет из appdidfinishlaunching…

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

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

Ответ №2:

 self.window = [[[UIWindow alloc] initWithFrame:[[UIScreen mainScreen] bounds]] autorelease];    
[window addSubview:imagePickerController.view];
  

Это должно выполнить то, что вы хотите.