【问题标题】:Capture UIImage from UIView then use it in WatchKit WKInterfaceImage从 UIView 捕获 UIImage 然后在 WatchKit WKInterfaceImage 中使用它
【发布时间】:2015-03-31 05:37:08
【问题描述】:

所以我有一个观点,我使用一个基本类似于此的函数以编程方式进行快照:

func captureImage() -> UIImage{

UIGraphicsBeginImageContextWithOptions(bounds.size, false, 0.0)

    drawViewHierarchyInRect(self.bounds, afterScreenUpdates: true)

    // old style: layer.renderInContext(UIGraphicsGetCurrentContext())

    let image = UIGraphicsGetImageFromCurrentImageContext()
    UIGraphicsEndImageContext()
    return image
}

该函数按预期工作,并返回一个 UIImage。

我需要知道的:有没有办法在不打开实际 iPhone 应用程序的情况下从 WatchKit 扩展触发时捕获 UIView 的 UIImage,然后如何检索该图像并将其显示为 WKInterfaceImage?

【问题讨论】:

    标签: ios swift uiview watchkit


    【解决方案1】:

    您可以将此图像保存为 NSData 到您的共享用户默认值。

    引用自应用扩展编程指南:https://developer.apple.com/library/ios/documentation/General/Conceptual/ExtensibilityPG/ExtensionScenarios.html#//apple_ref/doc/uid/TP40014214-CH21-SW1

    然后从 WatchKit 扩展中检索它。但是,如果您想要某种触发器。您可以使用此类方法 + openParentApplication:reply: 在后台告诉您包含iOS 做某事。并在App Delegate中实现其委托方法func application(application: UIApplication!, handleWatchKitExtensionRequest userInfo: [NSObject : AnyObject]!, reply: (([NSObject : AnyObject]!) -> Void)!)

    【讨论】:

    • 那么,使用 openParentApplication 我将能够加载视图,并执行快照功能?我想我很难理解我会怎么做。
    猜你喜欢
    • 1970-01-01
    • 2012-02-16
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-12-04
    • 1970-01-01
    相关资源
    最近更新 更多