Используя функции Core Animation, вы можете сделать их немного более захватывающими.Сначала импортируйте библиотеку QuartzCore.Затем вы можете получить доступ к свойствам view.layer.
button.layer.cornerRadius изменяет закругленные углы button.layer.strokeWidth изменяет толщину границы button.layer.strokeColor меняет цвет границыэто и другие свойства тени для добавления приятной мягкой тени
Существует целый ряд свойств, которые можно настроить, если вы посмотрите документацию CALayer, и они работают для любого UIView или подкласса, а не только для кнопок.
Чтобы добавить градиент, проверьте CAGradientLayer.Вы можете создать один из них и добавить его в качестве подслоя к своему button.layer.
Существует также CAShapeLayer для добавления к кнопке произвольной многоугольной фигуры, все нарисованные с использованием кода без изображений.