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];