我正在尝试以编程方式拍摄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);
答案 0 :(得分:2)
不幸的是,当前版本的WatchKit中没有快照式方法,因此您提到的技术不可用。事实上,可以从WatchKit界面读取的属性非常少。
您可以执行此类操作的唯一方法是,如果您将组渲染为WatchKit扩展中的图像,然后使用该图像填充WKInterfaceImage
(或相应的背景图像)看。当然,这意味着您必须创建模仿Watch控件外观的自定义绘图代码。根据您的界面的复杂程度,这可能需要做很多工作。