【问题标题】:UIImagePickerController in Qt 5.3Qt 5.3 中的 UIImagePickerController
【发布时间】:2014-10-25 08:59:11
【问题描述】:

我想为iOS 实现一个应用程序。我在Mac 上使用了Qt 5.3。我想在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。是否有另一种方法可以在不使用QML 的情况下获取指向Qt 应用程序(C++ + Objective-C) 的主根视图控制器的指针?

谢谢!

【问题讨论】:

    标签: objective-c uiimagepickercontroller qt5.3


    【解决方案1】:

    你可以使用 UIApplication 和 keyWindow 属性:

    UIViewController* rootViewController = [[UIApplication sharedApplication].keyWindow rootViewController];
    

    【讨论】:

      猜你喜欢
      • 2014-07-18
      • 2014-08-07
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-07-26
      • 2014-10-12
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多