【问题标题】:How do I set an ABPeoplePickerNavigationController's prompt?如何设置 ABPeoplePickerNavigationController 的提示?
【发布时间】:2010-03-13 15:24:41
【问题描述】:

这是我用来调用人员选择器的代码,但提示标签文本没有改变:

ABPeoplePickerNavigationController *picker = [[ABPeoplePickerNavigationController alloc] init];
picker.peoplePickerDelegate = self;
picker.displayedProperties = [NSArray arrayWithObjects: [NSNumber numberWithInt:kABPersonEmailProperty], nil];  

picker.navigationItem.prompt = @"Choose a contact to...";

[self presentModalViewController:picker animated:YES];

【问题讨论】:

    标签: iphone objective-c cocoa-touch addressbook


    【解决方案1】:

    其他答案中缺少关键信息,而且不是很明显。您需要在 行之后设置提示:

    [self presentModalViewController:picker animated:YES];
    

    所以,如果你这样做,它会起作用:

    [self presentModalViewController:picker animated:YES];
    picker.navigationBar.topItem.prompt = @"Choose a contact to...";
    

    【讨论】:

      【解决方案2】:

      您可以更改标题:

      picker.navigationBar.topItem.title = @"iPhone Contacts";
      

      您可以使用以下命令更改提示:

      picker.navigationBar.topItem.prompt = @"iPhone Contacts";
      

      【讨论】:

      • picker.navigationBar.topItem.title = @"iPhone 联系人";没有改变标题。有什么想法吗?
      【解决方案3】:

      我刚刚偶然发现了一种方法来做到这一点。但是,我不确定这是最好的方法。只需替换行上方的代码

      picker.navigationItem.prompt = @"Choose a contact to...";
      

      picker.navigationBar.topItem.prompt = @"Choose a contact to...";
      

      【讨论】:

        【解决方案4】:

        如果您要对 ABPeoplePickerNavigationController 进行子类化,则需要在推送视图控制器后进行设置。这实际上是实现了 Johan 建议的相同目标,但来自班级内部。

        在 ABPeoplePickerNavigationController 中实现以下委托方法,如下所示:

        -(void)navigationController:(UINavigationController *)navigationController 
             willShowViewController:(UIViewController *)viewController 
                           animated:(BOOL)animated
        {
            [[[self navigationBar] topItem] setPrompt:@"test"];
        }
        

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2015-03-27
          • 2011-02-13
          • 1970-01-01
          • 1970-01-01
          • 2016-08-14
          相关资源
          最近更新 更多