查找WKInterfaceImage的高度和宽度

时间:2015-03-11 06:53:48

标签: ios swift watchkit wkinterfaceimage

我想以编程方式呈现UIImage,然后在WKInterfaceImage的Apple Watch上显示它,我设置的高度和宽度为#34;相对于容器" (这样它基本上占用了整个屏幕空间)。 如何获得WKInterfaceImage的宽度和高度?据我所知,没有frame - ,border - 或layer - 我可以从我的扩展程序代码访问的属性。那么获取这些信息的正确方法是什么?

奇怪的是我发现有一个setWidth和setHeight方法,但我无法根据getter方法找到它。

在一天结束时,我基本上在寻找与此相当的Watch Kit:

@IBOutlet weak var imageView: UIImageView!
//...
var width = imageView.frame.width
var height = imageView.frame.height

2 个答案:

答案 0 :(得分:5)

这是与WatchKit非常常见的误解。

您无法以这种方式查询运行时数据。原因是Apple每次需要读取值时都不希望你ping Watch。他们希望尽可能地优化电池寿命。相反,您需要“知道”WKInterfaceImage的宽度和高度。您在故事板中定义了它,因此您确切地知道它已经是什么。 Xscope确实有助于确定大小的大小。一旦知道了大小,就需要在WKInterfaceController中存储该大小,以便在运行时获得数据。

class ImageInterfaceController : WKInterfaceController {
    let imageSize38mm = CGSize(width: 100, height: 100)
    let imageSize42mm = CGSize(width: 120, height: 120)
}

希望这有助于说明您无法在运行时查询布局和调整大小信息,就像在iOS应用程序中一样。

答案 1 :(得分:1)

可悲的是,您无法以编程方式设置图像的宽度和高度。将图像模式设置为适合内容的大小,也与容器视图相同。它将调整自身大小以适应内容。

引用类引用中唯一可用的属性 enter image description here