2017-03-18 6 views
-1

Ich habe eine Ansicht erstellt, und legen Sie zwei Attribute, backgroundColor und backgroundAlpha, wenn ich v.background = color gesetzt, die Backgroundcolor ist blau, aber wenn ich v.background = [color colorWithAlphaComponent:b] gesetzt, ist die Backgroundcolor klar, als ob die b ist Null;Meine benutzerdefinierte Ansicht zeigt don nicht background

+0

Was ist der Wert, den Sie bei b vorbei sind? – tausun

+0

Ändern Sie den b-Wert und überprüfen Sie einmal –

Antwort

0

Sie dürfen die Ausgabe des Compilers nicht beobachten, um zu sehen, dass Xcode Sie über die Parametertypen warnt. Laut der Dokumentation ist der Alpha-Wert-Parameter für colorWithAlphaComponent ein CGFloat zwischen 0.0 und 1.0, daher ist Ihr NSInteger nicht korrekt. Ändern Sie Ihren Code wie folgt zu sein:

+ (instancetype)initWithBgrColor:(UIColor *)color bgrAlpha:(CGFloat) b 
{ 
    NSLog(@"initWithBgrColor: b = %f", (float)b); 
    view *v = [[view alloc] init]; 
    v.backgroundColor = [color colorWithAlphaComponent:b]; 
    return v; 
} 

https://developer.apple.com/reference/uikit/uicolor?language=objc

+0

thx, ich muss vorsichtiger sein –

Verwandte Themen