ABPeoplePicker导航控制器隐藏按钮

子类化ABPeoplePickerNavigationController之后,想问问怎么隐藏右侧的工具栏项"Cancel"

在网上搜索了一些但是没找到答案。
谢谢。

ChatGPT尝试为您解答,仅供参考
您可以使用以下方法隐藏右侧的 "Cancel" 工具栏项:

  • 在您的子类中重写 viewWillAppear: 方法,并使用 self.navigationItem.rightBarButtonItem 属性将其设置为 nil。这样,在视图出现时,就会隐藏 "Cancel" 工具栏项。
- (void)viewWillAppear:(BOOL)animated
{
    [super viewWillAppear:animated];

    self.navigationItem.rightBarButtonItem = nil;
}
  • 在您的子类的初始化方法中,使用 initWithRootViewController: 方法初始化 ABPeoplePickerNavigationController,并传递一个空的视图控制器作为根视图控制器。这样,就不会显示 "Cancel" 工具栏项。
- (instancetype)init
{
    self = [super initWithRootViewController:[UIViewController new]];
    if (self) {
        // 其他设置
    }
    return self;
}

请注意,如果您使用第二种方法隐藏 "Cancel" 工具栏项,则在您的子类中可能需要提供自定义按钮来关闭视图控制器。