0

나는이 질문을 이미 읽었습니다. QLPreviewController remove or add UIBarButtonItems하지만 제가 찾고있는 것이 아닙니다. 내비게이션 막대에있는 "인쇄"버튼을 유지하고 싶습니다. 그러나 은 탐색 모음에 새로운 "문서 삭제"버튼을 추가합니다. QLPreviewController에 UIBarButtonItem을 추가하는 방법

나는이 시도 :

QLPreviewController *previewer = [[[QLPreviewController alloc] init] autorelease]; 
[previewer setDataSource:self]; 

UIBarButtonItem *saveButton = [[UIBarButtonItem alloc]initWithTitle:@"Salva Documento" style:UIBarButtonItemStyleBordered target:self action:@selector(saveFileToDocuments)]; 
NSArray *buttons = [NSArray arrayWithObjects:[[previewer navigationItem]rightBarButtonItem],saveButton, nil]; 
[[previewer navigationItem]setRightBarButtonItems:buttons]; 

을하지만 그것은 작동하지 않았다.

+0

iOS 5 이상 *** 또는 iOS 4.X 및/또는 iOS 3.X를 지원하기 위해 건물에 있습니까? –

+0

그것은 iPad 전용 애플 리케이션이므로 5와 4.x는 괜찮을 것입니다 ... – Lolloz89

답변

0

"4.x는 괜찮을 것"이라고 말했기 때문에 문제가 있습니다.

UINavigationItem[setRightBarButtonItems: animated:] (documentatin이 링크되어 있음)에 대한 문서는이 기능이 iOS 5.0 이상에서만 작동한다고 말합니다.

아니요,은 iOS 4.0에서 작동합니다.

또한 animated: 매개 변수를 setRightBarButtonItems: 호출에 추가해야합니다.

+0

글쎄 ..이 역시 작동하지 않습니다 .. :( – Lolloz89

+0

디버거를 사용하고 각 코드 행을 단계별로 살펴보고 ' 예를 들어'[previewer navigationItem]'에 대한 여러 참조를 보았습니다. 'UINavigationItem * previewerNavigationItem = [previewer navigationItem];을 통해 변수에 할당 한 다음 nil인지 확인하십시오. [previewer navigationItem] rightBarButtonItem]'역시 nil을 반환합니다. –

+0

previewerNavigationItem은 nil이 아니지만 그 안에있는 거의 모든 것이 0x0입니다 (예 : title, left 및 rightBarButtonItem) ... 컨트롤러가있을 때 해당 객체가로드 될 수 있습니까? 스택에 푸시 되었습니까? 그렇다면 탐색 막대에 해당 버튼을 어떻게 추가해야합니까? – Lolloz89

0
UIBarButtonItem *rbb; 
-(void)addRightButton{ 
    if (!rbb) { 
     UIButton *orderButton = [UIButton buttonWithType:UIButtonTypeCustom]; 
     orderButton.frame = CGRectZero; 
     rbb = [[UIBarButtonItem alloc] initWithCustomView:orderButton]; 
    } 

    self.navigationItem.rightBarButtonItem = rbb; 
} 

- (void)viewDidLoad{ 
    [super viewDidLoad]; 
    [self performSelector:@selector(addRightButton) withObject:nil afterDelay:0.2]; 
} 
-(void)viewDidAppear:(BOOL)animated{ 
    [super viewDidAppear:animated]; 
    [self addRightButton]; 

}