2016-07-19 22 views
1

Also habe ich in Xcode mit PaintCode und StyleKits herumgespielt. Ich habe eine Schaltfläche erstellt, eine UIView mit ihrer eigenen Unterklasse erstellt und sie wird in meinem ViewController und auf meinem Gerät angezeigt. Ich möchte jedoch diese UIView in eine UIButton umwandeln, da Code beim Abgreifen ausgeführt werden soll. Wie würde ich das machen?UIButton in PaintCode (Swift)

Danke Jungs und hat einen guten :)

Antwort

1

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.

+0

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. –