ios - 使用 WatchKit 拍摄 Group 元素的快照并保存到相机胶卷

标签 ios objective-c watchkit apple-watch wkinterfacegroup

我正在尝试以编程方式拍摄 Group 元素及其内容(文本标签)的快照并将其保存到相机胶卷中。

我通常会为 iPhone 应用程序执行类似的操作(请参阅代码片段),但使用 WatchKit 时,Group 元素具有与 UIView 不同的结构。

任何帮助将不胜感激。这是我的代码:

    // grab reference to the area you'd like to capture
    WKInterfaceGroup *theArea = _theGroup;

    // define the size and grab a UIImage from it
    UIGraphicsBeginImageContextWithOptions(theArea.bounds.size, theArea.opaque, 0.0);
    [theArea.layer renderInContext:UIGraphicsGetCurrentContext()];
    UIImage *screengrab = UIGraphicsGetImageFromCurrentImageContext();
    UIGraphicsEndImageContext();

    // save screengrab to Camera Roll
    UIImageWriteToSavedPhotosAlbum(screengrab, nil, nil, nil);

最佳答案

不幸的是,当前版本的 WatchKit 中没有快照样式的方法,因此您提到的技术不可用。事实上,可以从 WatchKit 接口(interface)读取的属性非常少。

您能够执行此类操作的唯一方法是,在 WatchKit 扩展中将组呈现为图像,然后使用该图像填充 WKInterfaceImage (或适当的背景图像) )在 watch 上。当然,这意味着您必须创建模仿 Watch 控件外观的自定义绘图代码。根据界面的复杂性,这可能需要大量工作。

关于ios - 使用 WatchKit 拍摄 Group 元素的快照并保存到相机胶卷,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30391483/

相关文章:

ios - Cordova 不适用于 iOS 多目标

objective-c - 播放音频时,该应用程序崩溃且设备接听电话

ios - 如何在 Xcode 中使用 watchkit 将动画 Gif 分配给 Wkinterfaceimage 直接运行它?

ios - Apple Watch、几个目标和共享的 Watchkit 扩展/Watckit 应用程序目标

iphone - 从 NSMutableData 即时创建 PDF

javascript - 如何使用样式表在 ios 应用程序中显示本地存储的 HTML 页面

iphone - 后台网络检查

iphone - 如何以编程方式复制界面生成器中内置的 UIView?

ios - 从 WatchKit 发送数据流

ios - Flutter iOS 电子邮件文本字段内容类型