2015-06-09 5 views
1

Я хочу проверить, если изображение с именем "image.png" установлено на изображение "imgView". Я знаю, как я могу это сделать с Swift в обычном ViewController.swift, но не знаю, как это сделать в расширении набора часов (InterfaceController.swift). Кто-то из вас, ребята, знает, как я могу это сделать?Проверьте, установлено ли изображение с именем (WatchKit)

ответ

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-интерфейс имеет только сеттеры и нет добытчиками. Одна из стратегий может заключаться в подклассе этого и отслеживании настройки и написании собственных пользовательских геттеров, но, к сожалению, вы не можете изменить свой собственный класс в раскадровке, так что вы не можете использовать этот пользовательский подкласс в любом случае. Вы также не сможете программно читать изображения, которые были установлены непосредственно из раскадровки.

Но чтобы ответить на ваш вопрос, вы не можете спросить 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 
} 

 Смежные вопросы

  • Нет связанных вопросов^_^