2012-11-05 2 views
1

두 개의 UIToolbar 인스턴스가 있는데, 하나는 화면 맨 위에 추가되고 다른 하나는 하단에 추가됩니다. iOS 5 모양 프로토콜을 사용하여 스타일을 지정하고 싶습니다.프로그래밍 방식으로 추가 된 도구 모음에 대한 UIToolbar 모양

나는 다음과 같은 작동시킬 수 있습니다

[[UIToolbar appearance] setBackgroundImage:[UIImage imageNamed:@"toolbarimage.png"] 
          forToolbarPosition:UIToolbarPositionAny barMetrics:UIBarMetricsDefault]; 

는 그러나, 나는 UIToolbarPositionTop 또는 UIToolbarPositionBottom 내 프로그래밍 방식으로 추가 된 도구 모음 작업을 얻을 수 없습니다입니다. 내가 알고있는 것처럼

_topBar = [[UIToolbar alloc] initWithFrame: CGRectMake(0, 0, self.view.frame.size.width, 44)]; 
_topBar.autoresizingMask = UIViewAutoresizingFlexibleWidth; 
[self.view addSubview: _topBar]; 

_bottomBar = [[UIToolbar alloc] initWithFrame: CGRectMake(0, self.view.frame.size.height - 44, self.view.frame.size.width, 44)]; 
    _bottomBar.autoresizingMask = UIViewAutoresizingFlexibleWidth; 
    [self.view addSubview: _bottomBar]; 

, UIToolbarPositionTop 인터페이스 빌더 파일이 잘 작동하지만 사람이 프로그래밍 방식으로 작업을 얻을 수있는 방법을 알고 있나요 :이 같은 도구 모음을 만드는 오전?

답변

4

이것은 비교적 간단한 해결책이었습니다. 오히려 같은 특정 도구 모음을 타겟팅 할 수 있습니다 일반

[[UIToolbar appearance] setBackgroundImage:[UIImage imageNamed:@"toolbarimage.png"] 
         forToolbarPosition:UIToolbarPositionAny 
           barMetrics:UIBarMetricsDefault]; 

하나를 사용하는 것보다 : 나는 비슷한 대답을 발견

// Setup top tool bar 
UIToolbar *topToolbar = [[UIToolbar alloc] init]; 
[topToolbar setBackgroundImage:[UIImage imageNamed:@"top_toolbar.png"] 
       forToolbarPosition:UIToolbarPositionAny 
         barMetrics:UIBarMetricsDefault]; 

// Setup bottom toolbar 
UIToolbar *bottomToolbar = [[UIToolbar alloc] init]; 
[bottomToolbar setBackgroundImage:[UIImage imageNamed:@"bottom_toolbar.png"] 
       forToolbarPosition:UIToolbarPositionAny 
         barMetrics:UIBarMetricsDefault]; 

이유 UIToolbarPositionTop 등에 대한 몇 가지 세부 사항, 시스템 속성이며 의존해서는 안 in this answer.

관련 문제