2015-03-08 3 views
4

Мне нужно установить атрибут радиуса WKInterfaceImage кодом Swift.Устанавливаем (граничный) радиус WKInterfaceImage по коду

мне нужно такое же форматирование, как и для моих других UIImageViews:

logoView.layer.cornerRadius = logoView.frame.width/2 
    logoView.clipsToBounds = true 
    logoView.layer.borderWidth = 1.0 
    logoView.layer.borderColor = UIColor (
            red: 0x33/255, 
            green: 0x99/255, 
            blue: 0x66/255, 
            alpha: 1.0 
           ).CGColor 

Я проверил справочное руководство, но я не нашел решения. Спасибо за помощь!

ответ

12

У вас нет такого типа функций с помощью WKInterfaceImage. Существует только несколько общедоступных API.

Для округления углов элемента интерфейса в WatchKit вам необходимо использовать WKInterfaceGroup. Он позволяет изменять радиус всех углов непосредственно в раскадровке.

WKInterfaceGroup Parameters in Storyboard

Если вам необходимо создать описанную границу вокруг группы, то вам нужно создать пользовательский UIImage и установить его в качестве фонового изображения группы.

+0

Спасибо за идею! Проблема в том, что я не знаю, сколько пикселей должно иметь радиус (рассчитано исходным кодом) и атрибут «clipsToBounds». :( – Tobonaut

+1

Ну, у вас есть несколько вариантов. Вы можете визуализировать изображение вручную с помощью Core Graphics, или вы могли бы создать несколько разных контурных изображений, используя накладки с капюшоном, чтобы они масштабировались до соответствующего размера. Не зная больше о вашем случае использования, это примерно столько, сколько я могу помочь. – cnoon

6

Нет прямого способа сделать это. Но я могу думать о работе. Единственным объектом интерфейса, который может иметь радиус угла, является WKInterfaceGroup. Таким образом, вы можете поместить группу внутри группы и дать как радиус угла. Установите изображение как фон внутренней группы.

Чтобы иметь ширину рамки &, придайте вашей внутренней группе относительную ширину и высоту внешнего. И дайте внешний фон, которым вы хотите, чтобы ваш цвет границы был.

+0

Это звучит логично. Спасибо за идею. – Tobonaut

0

Просто установите Radius свойство и помните, группа не должна быть вложенными иначе углы не будет установлен в 0


Just set the Radius Property and remember group should not be nested otherwise radius will not apply