I PaintCode die UIImage Methode verwenden, und dass UIImage als das Image des UIButton verwenden. Hier ist Code, den ich benutze, der in ObjC ist, aber sollte leicht zu Swift konvertiert werden.
PaintCode des generierten Codes - die Dinge, die Sie brauchen nicht zu schreiben (diese Klasse so tun, heißt PaintCodeClass):
+ (UIImage*)imageOfIcon
{
if (_imageOfIcon)
return _imageOfIcon;
UIGraphicsBeginImageContextWithOptions(CGSizeMake(30, 30), NO, 0.0f);
[PaintCodeClass drawIcon];
_imageOfIcon = UIGraphicsGetImageFromCurrentImageContext();
UIGraphicsEndImageContext();
return _imageOfIcon;
}
und mein Code:
UIImage *image = [PaintCodeClass imageOfIcon];
UIButton *button = (initialize, set frame, etc)
[button setImage:image forState:UIControlStateNormal];
Einige Leute mögen diese besser:
[button setBackgroundImage:image forState:UIControlStateNormal];
Statt das alles, wenn Sie wirklich wollten, könnten Sie tun:
aber das würde sich nicht wie eine Schaltfläche verhalten - also wollen Sie das wahrscheinlich nicht tun.
Vielen Dank für Ihre Antwort. Ich habe ursprünglich einen TapGestureRecognizer auf dem UIView verwendet und dann einen Übergang zu einem anderen VC erstellt, aber dann fand ich eine elegantere Lösung. Ich habe eine neue Unterklasse für UIButton erstellt und dieselbe StyleKit-Zeichnungsmethode verwendet. Dann zog ich eine Schaltfläche im Interface Builder und änderte die Klasse in die von mir definierte Unterklasse. Arbeitete wie Magie. –