Я использую пользовательскую кнопку в своем приложении с именем «addButton», и я хочу выделить ее белым цветом, как я могу получить белую рамку вокруг моей пользовательской кнопки?
ios
objective-c
iPhone
источник
источник
Ответы:
Вы можете установить свойства границы в CALayer, открыв свойство layer кнопки.
Сначала добавьте кварц
Установить свойства:
Видеть:
https://developer.apple.com/documentation/quartzcore/calayer#//apple_ref/occ/cl/CALayer
CALayer по ссылке выше позволяет вам установить другие свойства, такие как радиус радиуса, maskToBounds и т. Д.
Также хорошая статья о кнопке веселья:
https://web.archive.org/web/20161221132308/http://www.apptite.be/tutorial_custom_uibuttons.php
источник
CGColor
Это очень просто, просто добавьте заголовок quartzCore в свой файл (для этого вы должны добавить каркас кварца в свой проект)
а затем сделать это
Вы можете изменить значения с плавающей запятой по мере необходимости.
наслаждаться.
Вот типичный современный код ...
это похоже на сегментированные элементы управления.
Просто сделать:
источник
И в быстрых, вам не нужно импортировать "QuartzCore / QuartzCore.h"
Просто используйте:
или
источник
Проблема в настройке слоя
borderWidth
иborderColor
состоит в том, что когда вы касаетесь кнопки, граница не оживляет эффект выделения.Конечно, вы можете наблюдать за событиями кнопки и соответственно менять цвет границы, но это не нужно.
Другой вариант - создать растягиваемый UIImage и установить его в качестве фонового изображения кнопки. Вы можете создать набор изображений в вашем Images.xcassets следующим образом:
Затем вы устанавливаете его как фоновое изображение кнопки:
Если ваше изображение является шаблоном изображения, вы можете установить оттенок цвета кнопки, и граница изменится:
Теперь граница будет выделена с остальной частью кнопки при прикосновении.
источник
borderWidth
.Чтобы изменить кнопку Радиус, Цвет и Ширина я установил так:
источник
Вот обновленная версия ( Swift 3.0.1 ) из ответа Бена Паккарда .
В результате кнопка может быть использована внутри раскадровки , благодаря применению
@IBDesignable
и@IBInspectable
тегов.Также определены два свойства, позволяющие установить ширину и цвет границы непосредственно в конструкторе интерфейса и предварительно просмотреть результат.
Другие свойства могут быть добавлены аналогичным образом для радиуса границы и времени затухания выделения.
источник
prepareForInterfaceBuilder
только из IB, а не при запуске приложения. Так что также установите UIEdgeInsetsawakeFromNib
, тогда он будет отображаться и при запуске приложения.Вам не нужно импортировать
QuartzCore.h
сейчас. Беру iOS 8 sdk и Xcode 6.1 в ссылке.Непосредственно используйте:
источник
Вот
UIButton
подкласс, который поддерживает выделенную анимацию состояния без использования изображений. Он также обновляет цвет границы при изменении режима оттенка вида.Использование:
let button = BorderedButton(style: .System) //style .System is important
Внешность:
источник
Это может быть достигнуто различными способами в Swift 3.0. Работает на последней версии Август - 2017
Непосредственно назначьте значения свойства borderWidth для кнопки пользовательского интерфейса:
Установить заголовок со значениями цвета по умолчанию для кнопки пользовательского интерфейса:
Установите границу с цветом по умолчанию для значений свойств границы для кнопки пользовательского интерфейса:
Установите пользовательский цвет для значений свойств границы для кнопки пользовательского интерфейса:
Используйте метод Extension, чтобы Button во всем приложении выглядела согласованно и не нужно было повторять несколько строк кода где угодно.
Использование в коде:
Вывод метода расширения Кнопка:
источник
Обновление со Swift 3
источник
**** В Свифт 3 ****
Создать границу
Сделать угол закругленным
источник
Swift 5
Для изменения цвета рамки используйте
источник