2015-03-11 5 views
2

Я хочу программно отобразить UIImage, а затем отобразить его на Apple Watch в WKInterfaceImage, высота и ширину которых я устанавливаю в «Относительно контейнера» (так что он в основном занимает весь экран пространство). Как я могу получить ширину и высоту WKInterfaceImage? Насколько я вижу, нет frame -, border - oder layer -property Я могу получить доступ к коду моего добавочного номера. Итак, каков правильный способ получить эту информацию?Найти высоту и ширину WKInterfaceImage

Довольно странно, что я обнаружил, что существует метод setWidth и setHeight, но я не могу найти соответствующие методы getter.

В конце дня я в основном разыскивая Kit эквивалент Watch к этому:

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

Аналогичный вопрос здесь (для WKInterfaceButton, но концепция такая же) http://stackoverflow.com/questions/27205623/how-to-get-title-from-wkinterfacebutton/27211175#27211175 – msk

ответ

1

К сожалению, вы просто не можете установить ширину и высота ее в образе программно. Установите для режима изображения размер, соответствующий содержанию, а также то же, что и в представлении контейнера. Он изменит размер, чтобы соответствовать содержимому.

Цитирование только доступные атрибуты из класса ссылки enter image description here

+2

Хмм ... I Я не уверен, что у меня есть ур (или у меня есть): я не пытаюсь установить ширину и высоту ImageViews, а скорее ПОЛУЧИТЬ их. – Christian

+0

Ах, извините! Виноват. Является ли сама фотография единственным элементом? –

+0

Да, это ... Принимая это во внимание ваш ответ, позвольте мне в любом случае в любом случае: Построить квадрат UIImage, а затем применить его в WKInterfaceImage! – Christian

5

Это очень распространенное заблуждение, с WatchKit.

Вы не можете запрашивать данные времени выполнения таким образом. Причина в том, что Apple не хочет, чтобы вы пинговали Watch каждый раз, когда вам нужно было прочитать значение. Они хотят максимально увеличить время автономной работы. Вместо этого вам нужно «знать», что ширина и высота WKInterfaceImage. Вы определили его в Раскадке, так что вы точно знаете, что это такое. Xscope может быть очень полезным при определении того, что такое размер. Как только вы знаете размер, вам необходимо сохранить этот размер в вашем WKInterfaceController, чтобы у вас были данные во время выполнения.

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

Надежда, что помогает пролить свет на то, что вы не можете запросить расположение и проклейки информации во время выполнения так же, как вы можете в приложении IOS.

+0

Хорошее объяснение. – GeneCode

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