Можно ли управлять свойствами границ UIView (цвет, толщина и т. Д.) Непосредственно из конструктора интерфейса, или я могу сделать это только программно?
ios
uiview
interface-builder
border
matteo.cajani
источник
источник
Ответы:
На самом деле вы можете установить некоторые свойства слоя представления через конструктор интерфейса. Я знаю, что я могу установить borderWidth и cornerRadius слоя через xcode. borderColor не работает, вероятно, потому что слой хочет CGColor вместо UIColor.
Возможно, вам придется использовать строки вместо чисел, но это работает!
источник
Ответ Rich86Man верен, но вы можете использовать категории для прокси-свойств, таких как layer.borderColor. (От обычного C CocoaPod)
CALayer + XibConfiguration.h:
CALayer + XibConfiguration.m:
Результат будет очевиден во время выполнения, а не в Xcode.
Изменить : Вам также нужно установить
layer.borderWidth
по крайней мере 1, чтобы увидеть границу с выбранным цветом.В Swift 2.0:
В Swift 3.0:
источник
Аналогичный ответ на вопрос iHulk, но в Swift
Добавьте файл с именем UIView.swift в свой проект (или просто вставьте его в любой файл):
Тогда это будет доступно в Интерфейсном Разработчике для каждой кнопки, imageView, метки и т. Д. В Панели утилит> Инспектор атрибутов:
Примечание: граница появится только во время выполнения.
источник
@IBDesignable
с начала расширения.Вы можете создать категорию UIView и добавить ее в .h файл категории
Теперь добавьте это в файл .m
и это тоже в. м файл
теперь вы увидите это в вашей раскадровке для всех подклассов UIView (UILabel, UITextField, UIImageView и т. д.)
Вот и все .. Нет необходимости импортировать категорию куда угодно, просто добавьте файлы категории в проект и посмотрите эти свойства в раскадровке.
источник
Для Swift 3 и 4 , если вы хотите использовать
IBInspectable
s, вот что:источник
хотя это может устанавливать свойства, на самом деле это не отражается в IB. Так что, если вы по сути пишете код в IB, вы можете сделать это в исходном коде.
источник
Если вы хотите сэкономить время, просто используйте два
UIViews
поверх друг друга, один сзади - цвет рамки, а другой - меньше, что дает эффект окаймления. Я тоже не думаю, что это элегантное решение, но если Apple заботится немного больше, вам не нужно этого делать.источник
Это абсолютно возможно только тогда, когда вы сидите
layer.masksToBounds = true
и отдыхаете.источник
Так что это всегда идеальный ответ, используя код, просто создайте экземпляр IBOutlet из UIView и добавьте свойства
Короткий ответ :
Длинный ответ:
Закругленные углы UIView / UIButton и т. Д.
Толщина границы
Цвет границы
источник
Пожалуйста, добавьте эти 2 простые строки кода:
Это будет работать нормально.
источник