2015-01-01 5 views
0

У меня есть требование создать несколько кнопок пользовательского интерфейса и вы хотите инициализировать ширину границы каждого из них, когда и когда эти кнопки создаются и организуются на экране.Ручная настройка границы границы пользовательского интерфейса - Swift editor

Редактор быстрого доступа Xcode имеет свойства для настройки нескольких атрибутов кнопки пользовательского интерфейса, но я не вижу способа установить ширину границы. Другим вариантом является, чтобы сделать это с помощью кода, как

button.layer.borderWidth = 1 

Но если я создаю н кнопки мне нужно вставить ссылки н выходе установить ширину границы каждого из них, которые я не хочу делать. Есть ли простое решение, так что, когда у меня есть одна кнопка, созданная с заданной шириной границы, тогда я могу создать реплики с помощью copy-paste.

ответ

1

Вы можете сделать что-то подобное программно.

 for view in self.view.subviews 
    { 
     if view.isKindOfClass(UIButton) 
     { 
      view.layer.borderWidth = 1 
     } 
    } 
1

Вы можете создать пользовательский класс расширения UIButton.

class BorderButton : UIButton { 
    init(frame: CGRect) { 
     super.init(frame: frame) 
     layer.borderWidth = 1 
    } 
} 

И еще, вы хотите, чтобы настроить значение BorderWidth так:

@IBDesignable 
class BorderButton : UIButton { 

    @IBInsepctable borderWidth: CGFloat = 0 { 
     didSet { 
      layer.borderWidth = borderWidth 
     } 
    } 

    init(frame: CGRect) { 
     super.init(frame: frame) 
     borderWidth = 1 
    } 

    required init(coder aDecoder: NSCoder) { 
     super.init(coder: aDecoder) 
     borderWidth = 1 
    } 
} 

Использование @IBDesignable и @IBInspectable, вы можете установить значение BorderWidth из раскадровки.

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