gpt4 book ai didi

objective-c - 模态中的 ABPersonViewController

转载 作者:行者123 更新时间:2023-12-03 17:23:38 24 4
gpt4 key购买 nike

我想将 ABPersonViewController 显示为模式,而不是将其推送到导航堆栈上。我已经完成了这个工作,但为了保持完成按钮存在,我必须使用 NSTimer 每 0.25 秒添加一次按钮,因为完成按钮可能会在 View 出现时被删除,并且在应用程序进入前台时总是被删除。这是一个非常蹩脚的黑客,所以我想知道是否有人有更好的主意:)

我创建了 ABPersonViewController 的子类,它添加了完成按钮并在 View 加载时启动计时器,并在 View 被释放时使其无效。

这是我的代码显示模式的样子:

- (IBAction)showContactModal:(id)sender{
CNABPersonViewController *personViewController = [[CNABPersonViewController alloc] init];
personViewController.displayedPerson = self.contact.record;
personViewController.addressBook = [[CNAddressBookManager sharedManager] addressBook];
personViewController.viewDelegate = self;
personViewController.shouldShowLinkedPeople = YES;
UINavigationController *navigationController =
[[UINavigationController alloc] initWithRootViewController:personViewController];
navigationController.modalPresentationStyle = UIModalPresentationFormSheet;
[self presentViewController:navigationController animated:YES completion:nil];
}

最佳答案

我这样做很成功。插入此行以将按钮添加到导航栏:

    personViewController.navigationItem.rightBarButtonItem = [[UIBarButtonItem alloc]initWithTitle:@"Test" style:UIBarButtonItemStylePlain target:self action:@selector(_yourAddressBookAction)];

如果这不能解决您的问题,请向我们展示您遇到问题的代码。

关于objective-c - 模态中的 ABPersonViewController,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13574818/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com