从UIView捕获UIImage,然后在WatchKit WKInterfaceImage中使用它

时间:2015-03-31 05:37:09

标签: ios swift uiview watchkit

所以我认为我使用与此类似的函数以编程方式快照:

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?

1 个答案:

答案 0 :(得分:1)

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

enter image description here

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

然后从WatchKit Extension中检索它。但是,如果你想要某种触发器。您可以使用此类方法 + openParentApplication:reply:来背景告诉您包含的iOS执行某些操作。并在App Delegate func application(application: UIApplication!, handleWatchKitExtensionRequest userInfo: [NSObject : AnyObject]!, reply: (([NSObject : AnyObject]!) -> Void)!)

中实现其委托方法