を私はPaintCodeのUIImageメソッドを使用して、UIButtonの画像としてUIImageことを使用します。 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];
しかし、これはボタンのようには動作しません。そのようにするのはおそらく望んでいません。
ありがとうございました。私はもともとUIViewでTapGestureRecognizerを使用してから別のVCにセグを作成しましたが、より洗練されたソリューションが見つかりました。 UIButtonの新しいサブクラスを作成し、同じStyleKit描画メソッドを使用しました。次に、インタフェースビルダーのボタンをドラッグし、定義したサブクラスにクラスを変更しました。魔法のように働いた。 –