2012-10-26 13 views
5

Mam następujący kod:Kolor UIImageView Border

UIColor *borderColor = [UIColor colorWithRed:182 green:10 blue:96 alpha:1.0]; 
[viewImage.layer setBorderColor:borderColor.CGColor]; 
[viewImage.layer setBorderWidth:3.0]; 
[productView addSubview:viewImage]; 

gdzie viewImage jest mój UIImageView i productView jest moja UIView.

Chcę uzyskać ten kolor enter image description here, ale wszystko, co otrzymuję, to ten kolor enter image description here. Próbowałem różnych wartości, a wszystkie kolory, które dostaję, są albo białe, czerwone, czarne, żółte, albo niebieskie. Nie mogę uzyskać żadnych innych kolorów, nie ma znaczenia, jakie wartości wprowadzę. Próbowałem colorWithHue: Saturation: Brightness i mam ten sam problem.

Używam tego na SDK iOS 6.

Co robię źle i jak mogę to naprawić?

Odpowiedz

6

Wartości dla czerwonego zielonego i niebieskiego powinny być w przedziale od 0,0 do 1,0. Z UIColor: doc:

Wartości poniżej 0,0 są interpretowane jako 0,0, a wartości powyżej 1,0 są interpretowane jako 1,0.

+0

gdzieś. Głupi błąd. Ma sens. Dzięki. – BlueChips23

+0

na pewno. jeśli jednak chcesz używać wartości rgb, myślę, że możesz po prostu podzielić wartości, które posiadasz, przez 255 – geraldWilliam

1

Spróbuj

UIColor *color = [UIColor colorWithRed:r/255.0 green:g/255.0 blue:b/255.0 alpha:1]; 
16
#import <QuartzCore/QuartzCore.h> 

[imageView.layer setBorderColor: [[UIColor blackColor] CGColor]]; 
[imageView.layer setBorderWidth: 2.0]; 
0

Swift w wersji 2.11 (Xcode 7.2.1):

let borderColor = UIColor(red:0, green:0, blue:0, alpha:1.0) 
viewImage.layer.borderColor = borderColor.CGColor 
viewImage.layer.borderWidth = 2.0