2013-01-10 2 views
3

SDK에서 발견 된 스플 리볼 뷰 마스터/디테일 예제에서 시작하여 가로 방향의 왼쪽에 마스터가있는 iPad 앱이 생겨나는 반면 세로 방향에서는 " 마스터 "는 마스터 표시를 허용합니다.아이콘이있는 ipad splitview 마스터 버튼

Landscape Master

Portrait Master

다음 코드 마스터 뷰 검색보기 어떤 종류의 것입니다 내 응용 프로그램에서

- (void)splitViewController:(UISplitViewController *)splitController willHideViewController:(UIViewController *)viewController withBarButtonItem:(UIBarButtonItem *)barButtonItem forPopoverController:(UIPopoverController *)popoverController 
{ 
    barButtonItem.title = @"Master"; 
    [self.navigationItem setLeftBarButtonItem:barButtonItem animated:YES]; 
    self.masterPopoverController = popoverController; 
} 

를 사용하는이 버튼을 표시하려면, 내가 버튼을 싶습니다 마스터라는 시스템 제공 검색 아이콘을 표시합니다.

우선, 프로그래밍 방식으로 (런타임에) 버튼에 시스템 아이콘을 추가하는 방법을 모르겠습니다. 개발시 Xcode의 스토리 보드에서이를 선택하는 방법을 알고 있지만 런타임에는 이해하지 못합니다.

나는이 같은 테스트 목적을 위해 내가 막대의 상단 오른쪽 막대 버튼을 추가하고 나는 단순히 마스터 버튼의 이미지를 할당, 그것을하는 방법을 알고하지 않는 :

- (void)splitViewController:(UISplitViewController *)splitController willHideViewController:(UIViewController *)viewController withBarButtonItem:(UIBarButtonItem *)barButtonItem forPopoverController:(UIPopoverController *)popoverController 
{ 
    //barButtonItem.title = @"Master"; 
    barButtonItem.image = searchBarButton.image; 
    [self.navigationItem setLeftBarButtonItem:barButtonItem animated:YES]; 
    self.masterPopoverController = popoverController; 
} 

그 결과 마스터 버튼이 단순히 표시되지 않습니다. 나는 반복

enter image description here

이 마침내 나는 단순히 시스템 제공 검색 아이콘을 지정하려는 단지 테스트 목적을위한 것입니다.

그래서 내 두 질문은 다음과 같습니다

  1. 왜 마스터 버튼이 표시되지 않는 이유는 무엇입니까? 이 버튼에 "텍스트"를 사용해야합니까?
  2. 시스템 제공 아이콘 (런타임에)을 해당 버튼에 어떻게 할당합니까?

누구든지 나를 도와 줄 수 있습니까?

답변

2

막대 버튼 항목을 초기화해야합니다. 다음 코드를 사용하여 대상 및 작업 매개 변수를 대상 및 함수로 대체하여이 작업을 수행 할 수 있습니다. 당신이 시스템 항목을 사용하려면

self.barButtonItem = [[UIBarButtonItem alloc] initWithTitle:@"Master" style:UIBarButtonItemStylePlain target:self action:@selector(action)]; 
[self.navigationItem setLeftBarButtonItem:_barButtonItem animated:YES]; 

후 initWithBarButtonSystemItem와 initWithTitle 교체, 다음 코드를 사용합니다. 다시 한번 표적과 행동 매개 변수를 대체하십시오.

self.barButtonItem = [[UIBarButtonItem alloc] initWithBarButtonSystemItem:UIBarButtonSystemItemSearch target:self action:@selector(action)]; 
[self.navigationItem setLeftBarButtonItem:_barButtonItem animated:YES]; 

또한 @interface 아래에 barButtonItem을 포함시켜야합니다.

@interface ViewController() 
@property UIBarButtonItem *barButtonItem; 
@end 
관련 문제