1

我遇到問題。 ABUnknownPersonViewController嵌入在頂部視圖的導航控制器中,但是,我沒有在我的應用程序中使用導航欄。推到ABUnknownPersonView時,我沒有得到導航欄或後退按鈕。我的解決辦法是這樣的:添加人員時無法退出ABUnknownPersonViewController

ABUnknownPersonViewController *unknownPersonViewController = [[ABUnknownPersonViewController alloc] init]; 
unknownPersonViewController.displayedPerson = (ABRecordRef)[self buildContactDetails]; 
unknownPersonViewController.allowsAddingToAddressBook = YES; 
unknownPersonViewController.unknownPersonViewDelegate = self; 

UINavigationBar *navBar = [[UINavigationBar alloc] initWithFrame:CGRectMake(0, 0, [UIScreen mainScreen].bounds.size.width, 41)]; navBar.delegate = self; 

UINavigationItem *backItem = [[UINavigationItem alloc] initWithTitle:@"Back"]; 
[navBar pushNavigationItem:backItem animated:NO]; 

UINavigationItem *topItem = [[UINavigationItem alloc] initWithTitle:@"Your Title"]; 
[navBar pushNavigationItem:topItem animated:NO]; 
topItem.leftBarButtonItem = nil; 

[unknownPersonViewController.view addSubview:navBar]; 
[self.navigationController pushViewController:unknownPersonViewController animated:YES]; 

因此,這增加了一個導航欄,但後退按鈕的功能只是標題更改爲「後退」 ......非常有幫助的笑什麼。此外,還有無止境的在上面有我的導航欄,所以我有一點難度的......下面

navigation bar added programatically

slight issue when trying to go back... lol

回答

2

圖片您可以嘗試模態呈現它像這樣。我也沒有在主視圖中使用導航欄。這將在左上角添加一個取消按鈕。

ABUnknownPersonViewController *view = [[ABUnknownPersonViewController alloc] init]; 
    view.unknownPersonViewDelegate = self; 

    //Add person record data 

    view.displayedPerson = person; 
    view.allowsAddingToAddressBook = YES; 

    UINavigationController *nav = [[UINavigationController alloc] initWithRootViewController:view]; 

    view.navigationItem.leftBarButtonItem = [[UIBarButtonItem alloc] 
     initWithBarButtonSystemItem:UIBarButtonSystemItemCancel target:self 
     action:@selector(dismissContactView:)]; 

    [self presentViewController:nav animated:YES completion:nil]; 
+1

未知人視圖控制器必須與導航控制器一起使用才能正常工作。 –

+0

加入'''dismissContactView:'''請 –