2013-02-14 5 views
0

iOS 5에 도입 된 UIAppearance을 사용하여 내 응용 프로그램의 모든 BarButtonItem에 대한 사용자 정의 배경 이미지를 설정합니다.가로 방향으로 UIAppearance가있는 UIBarButtonItem 크기 조정 (UIEdgeInsets)

다음 코드는 뒤로 단추를 설정하는 데 사용되며 세로 모드에서는 정상적으로 작동합니다. 그러나 전화기가 가로 방향으로 회전하고 탐색 줄의 크기가 조정되면 단추의 크기가 전혀 변경되지 않고 맨 아래가 잘립니다.

세로 크기 조정을 신경 쓰지 않기 위해 가장자리 인세 트를 설정 했으므로 자동으로 이렇게 할 것이라고 생각했습니다. 어떤 아이디어?

UIImage *colorViewBBIImage = [[UIImage imageNamed:@"backButton"] resizableImageWithCapInsets:UIEdgeInsetsMake(0, 17, 0, 7)]; 

[[UIBarButtonItem appearance] setBackButtonBackgroundImage:colorViewBBIImage forState:UIControlStateNormal barMetrics:UIBarMetricsDefault]; 

내 비 망막 이미지는 30px x 31px입니다. 가로 모드의 경우

답변

2

, 그냥 그렇게,

[[UIBarButtonItem appearance] setBackButtonBackgroundImage:colorViewBBIImage forState:UIControlStateNormal barMetrics:UIBarMetricsLandscapePhone]; 
+0

이 완벽하게 작동 마지막 매개 변수 UIBarMetricsLandscapePhone으로 감사를 코드의 두 번째 줄에 전화! –