我想检查名为"image.png"
的图片是否设置为图片视图"imgView"
。我知道如何使用Swift在正常的ViewController.swift
中做到这一点,但我不知道如何在监视工具包扩展(InterfaceController.swift
)中执行此操作。你们有人知道我怎么做吗?
答案 0 :(得分:0)
查看WKInterfaceImage的标题:
@available(watchOS 2.0, *)
class WKInterfaceImage : WKInterfaceObject, WKImageAnimatable {
func setImage(image: UIImage?)
func setImageData(imageData: NSData?)
func setImageNamed(imageName: String?)
func setTintColor(tintColor: UIColor?)
}
API只有setter而且没有getter。一种策略可能是对此进行子类化并跟踪设置,并编写自己的自定义getter,但遗憾的是,您无法在故事板中更改为自定义类,因此无论如何都无法使用该自定义子类。您还无法以编程方式直接读取故事板中设置的图像。
但是要回答你的问题,你不能向WKInterfaceImage询问它有什么样的图像。唯一的方法是跟踪您手动设置的图像,如下所示:
@IBOutlet var myImage: WKInterfaceImage!
var lastImageUsed: String? = "image.png" // Pre-populate with the image used for myImage in the storyboard
func setImageWrapper(newImage: String) {
lastImageUsed = newImage
myImage.setImageNamed(newImage)
}
func getImageWrapper() -> String? {
return lastImageUsed
}