2017-04-12 19 views
1

Ich habe eine Frage zu UIButton in iOS. Ich benutze Apple UIButton aus der Bibliothek und ich brauche es, wenn gedrückt wird "ausgewählt" und sein Hintergrund ist blau. Ich mache alles und es funktioniert richtig, aber um das "Etikett" des Titels herum ist meine Farbe dunkler. Ich versuche, Label-Hintergrund auf ClearColor zu setzen, aber es ist keine Farbe des Labels und ich weiß nicht, welche Schaltfläche Subview ist. Irgendeine Idee? Ich benutze Objective-C, aber wenn jemand eine Idee über Swift hat, verstehe ich auch.Rahmen um Text UIButton

Vielen Dank im Voraus

enter image description here

+0

Haben Sie überprüfen, ob es Hintergrundfarbe der Schaltfläche oder nicht ist? –

+0

Sieht so aus, als ob Sie auch die blaue Farbe für die Konfiguration des Normalstatus einstellen. Stellen Sie sicher, dass die Hintergrundfarbe nur für die ausgewählte Statuskonfiguration vorhanden ist. –

+0

Setzen Sie die Farben im Code? Wenn ja, müssen Sie nicht. Sie können Text- und Hintergrundfarben für den Normal- und den hervorgehobenen Status vom Interface Builder konfigurieren ... – DonMag

Antwort

1

schreiben Sie diesen Code in

viewDidLoad()

self.btnDemo.layer.borderWidth = 1.0; 
    self.btnDemo.layer.borderColor = [UIColor grayColor].CGColor; 
    [self.btnDemo setTitle:@"ESTERNO" forState:UIControlStateNormal]; 
    [self.btnDemo setTitle:@"ES" forState:UIControlStateHighlighted]; 
    [self.btnDemo setBackgroundImage:[self imageWithColor:[UIColor clearColor]] forState:UIControlStateNormal]; 
    [self.btnDemo setBackgroundImage:[self imageWithColor:[UIColor colorWithRed:0 green:0 blue:255 alpha:1.0]] forState:UIControlStateHighlighted]; 
    [self.btnDemo setTitleColor:[UIColor blackColor] forState:UIControlStateNormal]; 
    [self.btnDemo setTitleColor:[UIColor whiteColor] forState:UIControlStateHighlighted]; 

Hier btnDemo ist UIButton Steckdose

  • Below Verfahren für convert Farbe Bild

    - (UIImage *)imageWithColor:(UIColor *)color { 
        CGRect rect = CGRectMake(0.0f, 0.0f, 1.0f, 1.0f); 
        UIGraphicsBeginImageContext(rect.size); 
        CGContextRef context = UIGraphicsGetCurrentContext(); 
    
        CGContextSetFillColorWithColor(context, [color CGColor]); 
        CGContextFillRect(context, rect); 
    
        UIImage *image = UIGraphicsGetImageFromCurrentImageContext(); 
        UIGraphicsEndImageContext(); 
    
        return image; 
    } 
    
+0

[button setBackgroundImage: [self imageWithColor: "myColor"] forState: UIControlStateSelected]; mein Problem lösen. – iNiko84

+0

Genießen Sie mit Code. –