code

[UIColor colorWithRed:green:blue:alpha:]을(를) UITableView 구분 기호 색상과 함께 사용할 수 없습니까?

starcafe 2023. 8. 16. 22:30
반응형

[UIColor colorWithRed:green:blue:alpha:]을(를) UITableView 구분 기호 색상과 함께 사용할 수 없습니까?

다크 그레이 구분자 색상을 구성하려고 합니다.다음은 왜 아무 소용이 없습니까?

self.tableView.seperatorStyle = UITableViewCellSeperatorStyleSingleLine;
self.tableView.seperatorColor = [UIColor colorWithRed: 127 green:127 blue:127 alpha:1];

구분 기호가 전혀 없는 테이블을 반환합니다.

[UIColor blackColor](유아이컬러 블랙컬러)를 사용하면 바로 분리기가 정상적으로 작동합니다.무슨 일입니까?

다음을 기준으로 나누어야 합니다.255.0

저는 1.0에서 0.0 사이의 값을 거의 사용하지 않기 때문에 매우 단순한 UIColor 범주를 만들었습니다. 이 범주는 그 자체로 지저분한 구분을 수행합니다. (http://github.com/Jon889/JPGeneral) 에서)

//.h file
@interface UIColor (JPExtras)
+ (UIColor *)colorWithR:(CGFloat)red G:(CGFloat)green B:(CGFloat)blue A:(CGFloat)alpha;
@end

//.m file
@implementation UIColor (JPExtras)
+ (UIColor *)colorWithR:(CGFloat)red G:(CGFloat)green B:(CGFloat)blue A:(CGFloat)alpha {
    return [UIColor colorWithRed:(red/255.0) green:(green/255.0) blue:(blue/255.0) alpha:alpha];
}
@end

따라서 다음 작업을 수행할 수 있습니다(위에 연결한 범주를 가져오면).

[UIColor colorWithR:127 G:127: B:127 A:1];

UIColor 방법에는 0-255가 아닌 0-1의 부동 소수점이 필요하기 때문입니다.다음과 같이 모든 RGB 값을 255.0으로 나누어야 합니다.

self.tableView.seperatorColor = [UIColor colorWithRed:127.0f/255.0f green:127.0f/255.0f blue:127.0f/255.0f alpha:1.0f];

범위가 0-1이므로 값을 255로 나누어야 합니다.127/255 = 0.49f를 선택하고 대신 입력합니다.저기 있어요, 그냥 흰색이에요 :)

편집: 댓글의 원인, 해결 방법에 대한 코드를 추가했습니다.

-(float)getRGBValue:(int) rgbValue{  
    return rgbValue/255.0;
]

두 가지 새로운 방법이 있습니다.UIColor0 ~ 255의 정수 값을 사용할 수 있습니다.

UIColor(red: Int, green: Int, blue: Int)

그리고.

UIColor(alpha: Float, red: Int, green: Int, blue: Int)

설명서에는 없지만 사용해 본 적이 있고 매력적으로 작동합니다.

언급URL : https://stackoverflow.com/questions/5641523/using-uicolor-colorwithredgreenbluealpha-doesnt-work-with-uitableview-sep

반응형