2012-05-08 3 views
1

XIB에 문제가 있습니다. 인터페이스 빌더에서 내 자리 표시 자 색상의 기본 색상은 회색이지만 응용 프로그램에서 텍스트 i 흰색의 색상을 실행하면 배경이 하얗기 때문에이를 볼 수 있습니다.UITextField 자리 표시 자 글꼴 색 흰색 iOS 5?

누구에게도 해결책이 있습니까?

답변

5

수동으로 위의 솔루션은 나를 위해 작동하지 않았다 UITextField

- (void) drawPlaceholderInRect:(CGRect)rect { 
    [[UIColor blueColor] setFill]; 
    [[self placeholder] drawInRect:rect withFont:[UIFont systemFontOfSize:16]]; 
} 
+0

, 그건 당신이'UITextField'의 서브 클래스를 만들 필요가 의미 하는가? 예를 들어, 'CustomTextField'라고 말하십니까? – James

+0

이 오류가 있습니다 : : CGContextSetFillColorWithColor : 유효하지 않은 컨텍스트 0x0 pls 어떻게 해결할 수 있습니까? – Bimawa

+0

[activeView.layer renderInContext : UIGraphicsGetCurrentContext()]; – Aseem

1

에 자리 표시 자 텍스트를 렌더링하는 등 drawPlaceholderInRect:(CGRect)rect을 대체 할 수 있습니다, 나는 다음과 같은 해결 방법을 사용했다.

[UILabel appearanceWhenContainedIn:[UITextField class], nil] setTextColor:[UIColor darkGrayColor]]; 

그러나 나는 또 다른 버그를 알고있어, 위의 작업을했지만 그것은 또한 블랙을 기본 다른 모든 라벨의 색상을 다시 설정합니다. 그런 다음 UILabel 클래스의 하위 클래스를 만들고 다른 클래스의 모든 클래스에서 내 클래스를 사용해야했습니다. 구문에 대한

0

빠른 수정 : 재정의 할 때

[[UILabel appearanceWhenContainedIn:[UITextField class], nil] setTextColor:[UIColor darkGrayColor]];