我正在尝试将视图控制器推送到已推送的视图控制器上,如下所示。但是,不知何故,当我尝试推送时newPersonViewController
,这个新控制器并没有被推送到堆栈上。我不知道为什么 Xcode 抱怨我试图添加一个不属于层次结构的新控制器。我是否呈现ABPeoplePickerViewController
错误?这就是newPersonViewController
无法将其推入堆栈的原因吗?
来自控制台的消息:
警告:尝试呈现不在窗口层次结构中的视图!
编码:
- (void)addPerson
{
ABNewPersonViewController *newPersonVC = [[ABNewPersonViewController alloc] init];
newPersonVC.newPersonViewDelegate = self;
UINavigationController *uiNav = [[UINavigationController alloc] initWithRootViewController:newPersonVC];
[self presentViewController:uiNav animated:YES completion:nil];
}
- (void)showPeoplePicker
{
ABPeoplePickerNavigationController *picker = [[ABPeoplePickerNavigationController alloc] init];
picker.peoplePickerDelegate = self;
[self presentViewController:picker animated:YES completion:nil];
[picker.topViewController setEditing:YES];
picker.topViewController.navigationItem.rightBarButtonItem = [[UIBarButtonItem alloc] initWithBarButtonSystemItem:UIBarButtonSystemItemAdd target:self action:@selector(addPerson)];
picker.topViewController.navigationItem.leftBarButtonItem = [[UIBarButtonItem alloc] initWithBarButtonSystemItem:UIBarButtonSystemItemCancel target:self action:@selector(peoplePickerCancel)];
}