代码之家  ›  专栏  ›  技术社区  ›  Tim Sullivan

在现有UnavigigCube控制器中显示AbHubEnvirNavigalAuthor控制器

  •  0
  • Tim Sullivan  · 技术社区  · 14 年前

    我有一个应用程序 UINavigationController 在显示一些信息的弹出窗口中。根项包含一个显示相关联系人的按钮。我想按“联系人”按钮并显示 ABPeoplePickerNavigationController . 我有这个密码:

    ABPeoplePickerNavigationController *contactController = [[ABPeoplePickerNavigationController alloc] init];
    [self.navigationController pushViewController:contactController animated:YES];
    

    但是,当我按下按钮时,会出现以下错误: 不支持推送导航控制器 .

    那么:是否有方法访问 ABPeoplePickerNavigationController (使用 topViewController visibleViewController 两者都给出了一个错误),或者一个替代的方法来做这将是感激的。

    1 回复  |  直到 14 年前
        1
  •  2
  •   Michael Prader    14 年前

    使用此选项显示导航控制器。问题是,您只能在控制器中推送视图,而不能推送整个导航控制器:

    ABPeoplePickerNavigationController *controller = [[ABPeoplePickerNavigationController alloc] init];
    // place the delegate of the picker to the controll
    controller.peoplePickerDelegate = self;
    
    
    NSArray *properties = [NSArray arrayWithObjects:[NSNumber numberWithInt:kABPersonPhoneProperty],nil];
    controller.displayedProperties = properties;
    
    // showing the picker
    [self presentModalViewController:controller animated:YES];
    

    你是否可以使用属性部分。你还必须实现委托协议。