2017-03-18 75 views
-1

我創建了一個視圖,並設置兩個屬性,backgroundColorbackgroundAlpha,當我設置v.background = color的的backgroundColor是藍色的,但是當我設置v.background = [color colorWithAlphaComponent:b]的的backgroundColor是明確的,因爲如果B是零;我的自定義視圖唐不顯示的backgroundColor

+ (instancetype)initWithBgrColor:(UIColor *)color bgrAlpha:(NSInteger) b 
{ 
    view *v = [[view alloc] init]; 
    v.backgroundColor = [color colorWithAlphaComponent:b]; 
    return v; 
} 
+0

什麼是你逝去的B點的價值? – tausun

+0

更改b值並檢查一次 –

回答

0

你不能看編譯器的輸出地看到,Xcode是警告你的參數類型。根據文檔,colorWithAlphaComponent的alpha值參數是0.0到1.0之間的CGFloat,因此,您的NSInteger不正確。更改你的代碼是這樣的:

+ (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,我必須更加小心 –