2011-11-28 3 views
1

내 앱에 내장 된 메일 작성기를 사용하고 있습니다.스타일링은 iOS SDK 4.3에서 5.0까지 다양합니다.

좋은 : 아이폰 OS SDK 4.3 good http://k.minus.com/jbmHVxSGOpPnhE.png


BAD : 아이폰 OS SDK 5.0 bad http://k.minus.com/jwkNg6irPuMKU.png

내가 다른 결과를 얻을 응용 프로그램을 컴파일하기 위해 사용하고있는 아이폰 OS SDK에 따라 그렇다면 SDK iOS 5.0을 사용하여 동일한 모양을 얻는 가장 좋은 방법은 무엇입니까?

도와 주셔서 감사합니다

+0

가 탐색 모음에서의 drawRect을 재정의 할 범주를 사용하고 들어

@implementation UINavigationBar (UINavigationBarCategory) - (void)drawRect:(CGRect)rect { if ([[[UIDevice currentDevice] systemVersion] doubleValue] < 5.0) { UIColor *color = kColorSCSNavigationBarBackgroundBlue; UIImage *img = [UIImage imageNamed: @"TitleBar.png"]; [img drawInRect:CGRectMake(0, 0, self.frame.size.width, self.frame.size.height)]; self.tintColor = color; } } @end 

(카테고리 사용)? – jrturton

+0

@jrturton : 예 전 iOS 5.0 카테고리를 사용하고 있습니다. 내 대답은 아래를 참조하십시오. – Besi

답변

0

다음과 같이 내 문제를 해결할 수에 대한 많은. 그러나 이것이 가장 깨끗한 가능한 솔루션인지 확실하지 않으므로 표준 또는 깨끗한 방법으로 알려주십시오.

iOS> 4.0을 지원해야하므로 다음 두 가지 접근 방법이 필요합니다. 아이폰 OS < 5.0

아이폰 OS> = 5.0 (AppDelegate에의 applicationDidFinishLaunching 방법)

if ([[[UIDevice currentDevice] systemVersion] doubleValue] >= 5.0) { 
    [[UINavigationBar appearance] setBackgroundImage:[UIImage imageNamed:@"TitleBar.png"] forBarMetrics:UIBarMetricsDefault]; 
    [[UINavigationBar appearance] setTintColor:kColorSCSNavigationBarBackgroundBlue];   
} 
관련 문제