Я использую метод UIImage PaintCode, и использовать этот UIImage в качестве образа UIButton в. Вот код, который я использую, который находится в ObjC, но должен быть легко преобразован в Swift.
PaintCode, порожденных код - вещи вам не нужно писать (изобразите этот класс называется PaintCodeClass):
+ (UIImage*)imageOfIcon
{
if (_imageOfIcon)
return _imageOfIcon;
UIGraphicsBeginImageContextWithOptions(CGSizeMake(30, 30), NO, 0.0f);
[PaintCodeClass drawIcon];
_imageOfIcon = UIGraphicsGetImageFromCurrentImageContext();
UIGraphicsEndImageContext();
return _imageOfIcon;
}
и мой код:
UIImage *image = [PaintCodeClass imageOfIcon];
UIButton *button = (initialize, set frame, etc)
[button setImage:image forState:UIControlStateNormal];
Некоторые люди, как это лучше:
[button setBackgroundImage:image forState:UIControlStateNormal];
Вместо того, чтобы все, что, если вы действительно хотите, вы можете сделать:
[button addSubview:whateverThePaintCodeViewIsCalled];
но это не будет вести себя как кнопка - так что вы, вероятно, не хотите этого делать.
Большое вам спасибо за ваш ответ. Первоначально я использовал TapGestureRecognizer в UIView, а затем создал segue для другого VC, но затем я нашел более элегантное решение. Я создал новый подкласс для UIButton и использовал тот же метод рисования StyleKit. Затем я нажал кнопку в построителе интерфейса и изменил класс на подкласс, который я определил. Работал как магия. –