#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];
Это должно выполнить то, что вы хотите.