Programing

UILabel 텍스트 색상을 변경할 수 없습니다.

crosscheck 2020. 11. 13. 07:51
반응형

UILabel 텍스트 색상을 변경할 수 없습니다.


UILabel 텍스트 색상을 변경하고 싶지만 색상을 변경할 수 없습니다. 이것이 제 코드의 모습입니다.

UILabel *categoryTitle = [[UILabel alloc] initWithFrame:CGRectMake(0, 0, 46, 16)];
categoryTitle.text = @"abc";
categoryTitle.backgroundColor = [UIColor clearColor];
categoryTitle.font = [UIFont systemFontOfSize:12];
categoryTitle.textAlignment = UITextAlignmentCenter;
categoryTitle.adjustsFontSizeToFitWidth = YES;
categoryTitle.textColor = [UIColor colorWithRed:188 green:149 blue:88 alpha:1.0];
[self.view addSubview:categoryTitle];
[categoryTitle release];

레이블 텍스트 색상은 내 사용자 정의 색상이 아닌 흰색입니다.

도움을 주셔서 감사합니다.


UIColor의 RGB 구성 요소는 최대 255가 아닌 0과 1 사이에서 조정됩니다.

시험

categoryTitle.textColor = [UIColor colorWithRed:(188/255.f) green:... blue:... alpha:1.0];

Swift에서 :

categoryTitle.textColor = UIColor(red: 188/255.0, green: ..., blue: ..., alpha: 1)

더 나은 방법이 될 수 있습니다

UIColor *color = [UIColor greenColor];
[self.myLabel setTextColor:color];

따라서 우리는 컬러 텍스트가 있습니다


알파는 불투명하고 다른 것은 빨강, 녹색, 파랑 샤넬입니다.

self.statusTextLabel.textColor = [UIColor colorWithRed:(233/255.f) green:(138/255.f) blue:(36/255.f) alpha:1];

가능하지만 InterfaceBuilder에 연결되어 있지 않습니다.

텍스트 색상 (colorWithRed:(188/255) green:(149/255) blue:(88/255))이 정확하고 연결 오류 일 수 있습니다.

backgroundcolor는 레이블의 배경색으로 사용되고 textcolor는 속성 textcolor로 사용됩니다.


신속한 코드에 속성 텍스트 색상을 추가합니다.

스위프트 4 :

  let greenColor = UIColor(red: 10/255, green: 190/255, blue: 50/255, alpha: 1)
  let attributedStringColor = [NSAttributedStringKey.foregroundColor : greenColor];

  let attributedString = NSAttributedString(string: "Hello World!", attributes: attributedStringColor)
  label.attributedText = attributedString

Swift 3 :

  let greenColor = UIColor(red: 10/255, green: 190/255, blue: 50/255, alpha: 1)
  let attributedStringColor : NSDictionary = [NSForegroundColorAttributeName : greenColor];


  let attributedString = NSAttributedString(string: "Hello World!", attributes: attributedStringColor as? [String : AnyObject])
  label.attributedText = attributedString 

// This is wrong 
categoryTitle.textColor = [UIColor colorWithRed:188 green:149 blue:88 alpha:1.0];

// This should be  
categoryTitle.textColor = [UIColor colorWithRed:188/255 green:149/255 blue:88/255 alpha:1.0];

// In the documentation, the limit of the parameters are mentioned.

colorWithRed : green : blue : alpha : 문서 링크

참고URL : https://stackoverflow.com/questions/2532409/can-not-change-uilabel-text-color

반응형