2011-07-27 2 views
0

UINavigationBar에 대한 사용자 지정 배경을 구현하기 위해 범주를 사용하고 있습니다.UINavigationBar의 반투명 배경 이미지 (PNG24)는 회전 후 투명하게 나타납니다.

@implementation UINavigationBar (UINavigationBarCategory) 

- (void)drawRect:(CGRect)rect 
{ 
    UIImage *img = [UIImage imageNamed: @"TopNav-YellowRule.png"]; 
    [img drawInRect:CGRectMake(0, 0, self.frame.size.width, self.frame.size.height)]; 

} 
@end 

사용중인 이미지는 반투명 한 PNG24입니다. 앱이 UINavigationBar의 배경을로드 할 때 잘 보이지만 반투명하지는 않습니다. UINavigationBar 아래에있는보기를 볼 수 없습니다.

그러나 장치를 회전하면 이미지가 갑자기 반투명 해 정상적으로 작동합니다. 회전 할 때 어떤 현상이 일어나면 이미지를 의도 한대로 표시 할 수 있습니까? 회전하기 전에 초기로드에서 올바르게 표시되도록 수정하는 방법이 있습니까?

답변

0

@end 뒤에 추가하십시오. 도움이되는지보기

navgationController.navigationBar.backgroundColor = [UIColor clearColor]; 
+0

backgroundColor 또는 tintColor를 clearColor로 설정하면 두 번 설정해야한다는 점을 제외하면 트릭을 만드는 것처럼 보입니다. 앞이나 뒤 설정은 작동하지 않았습니다. 더 나은 솔루션이 있는지 궁금합니다. – Alison

+0

틴트 컬러를 사용하지 마십시오. 왜 두 번 설정해야합니까? 이걸 어떻게 사용하고 있는지 보여 주시겠습니까? – Sum