UIImagePickerController в Qt 5.3

Я хочу реализовать приложение для iOS, Я использовал Qt 5.3 на Mac, Я хочу определить пользовательский интерфейс в Qt, Я хочу иметь кнопку на *.ui, При нажатии на это, iOS Будет открыта библиотека фотографий, после чего пользователь сможет выбрать фотографию. Я знаю, что я должен использовать UIImagePickerController,

Я должен использовать корневой контроллер и показать UIPickerImageController на этом. Для этого мне нужно использовать некоторые внутренние Qt API:

во-первых, в *.pro:

QT += gui-private

тогда в моем *.mm код получить указатель на корневой контроллер вида Qt приложение:

UIView *view = static_cast<UIView *>( QGuiApplication::platformNativeInterface()->nativeResourceForWindow("uiview",quickView) );
UIViewController* rootCtrl = [[view window] rootViewController];

и теперь я могу показать UIImagePickeController:

[rootCtrl presentViewController:imagePickerController animated:YES completation:nil]

таким образом, чтобы получить контроллер корневого представления с QML, решил мою проблему, но я не хочу использовать QML, Есть ли другой способ получить указатель на основной корневой контроллер вида Qt приложение(C++ + Objective-C) без использования QML?

Спасибо!

1 ответ

Вы можете использовать UIApplication и свойство keyWindow:

UIViewController* rootViewController = [[UIApplication sharedApplication].keyWindow rootViewController];
Другие вопросы по тегам