2016-05-18 4 views
0

Очень новая разработка Swift и iOS. Каков правильный способ настройки UIButton?Циркуляр UIButton с подсветкой Непрозрачность и анимация

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

В идеале я бы сделал это без изображений и использовал UIBezierPath, поэтому я могу поддерживать согласованную ширину границы для разных размеров.

ответ

1

Чтобы сделать круговую кнопку, вы можете использовать свойство углового радиуса! Пока рамка/граница кнопки представляет собой квадрат, если вы установите angleRadius на половину ширины, она появится в виде круга. Во-первых, вам необходимо импортировать структуру QuartzCore:

import QuartzCore 

Corner Radius

Чтобы задать радиус угла:

myButton.layer.cornerRadius = 8.0 

Чтобы сделать круг для произвольного кадра, вам могут использовать следующее:

myButton.layer.cornerRadius = myButton.frame.size.width/2.0 

Вы возможно, придется установить свойство clipsToBounds для изменения угла закругления, чтобы быть видимым:

myButton.clipsToBounds = true 

Border

Вы можете также использовать свойство слоя, чтобы установить границу:

myButton.layer.borderWidth = 1.0 
myButton.layer.borderColor = UIColor.purpleColor() 

(См. this post для получения дополнительных примеров в Objective-C)

+0

Есть ли способ, чтобы граница отображала цвет оттенка при выделенной области, d также анимировать с помощью системной анимации? – Jacob

+0

Я не уверен, что вы можете сохранить системную анимацию - я предполагаю, что она останется, но я не уверен :) Чтобы изменить цвет и анимировать границу прикосновениями, вы можете добавить цель для '.TouchDown' и '.TouchUpInside | .TouchUpOutside'. Например: 'myButton.addTarget (self, action:" changeHighlightAndAnimate ", forControlEvents: .TouchDown)'. Затем, в вашей функции changeHighlightAndAnimate, измените цвет рамки и анимируйте выцветание. – Carter

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