Я хотел бы проверить, установлено ли изображение с именем "image.png"
в виде изображения "imgView"
. Я знаю, как я могу сделать это с помощью Swift в обычном ViewController.swift
, но не знаю, как я могу сделать это в расширении набора часов (InterfaceController.swift
). Кто-нибудь из вас, ребята, знает, как я могу это сделать?
Проверьте, установлено ли изображение с именем (WatchKit)
Ответы (1)
Глядя на заголовок для 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 есть только сеттеры и нет геттеров. Одной из стратегий может быть подкласс этого и отслеживание настройки, а также написание собственных пользовательских геттеров, но, к сожалению, вы не можете перейти на пользовательский класс в раскадровке, поэтому вы все равно не можете использовать этот пользовательский подкласс. Вы также не сможете программно читать изображения, которые были установлены непосредственно из раскадровки.
Но чтобы ответить на ваш вопрос, вы не можете спросить 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
}
person
thealienisreal
schedule
09.06.2015