gpt4 book ai didi

ios - 在 iOS 9 中将 barButtonItem 用于 popoverPresentationController 时遇到问题?

转载 作者:塔克拉玛干 更新时间:2023-11-01 21:21:21 28 4
gpt4 key购买 nike

我有一些代码使用新的 UIAlertController 类,在 iOS 8 中工作得很好。它现在在 iOS 9 中崩溃,并显示以下错误消息:

2015-07-23 10:38:27.499 MyApp[828:563509] -[UITabBarItem _viewForPresenting]: unrecognized selector sent to instance 0x157644960
2015-07-23 10:38:27.500 MyApp[828:563509] *** Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: '-[UITabBarItem _viewForPresenting]: unrecognized selector sent to instance 0x157644960'

问题似乎是使用 barButtonItem 字段来配置 popoverPresentationController,而不是仅仅使用 sourceView/sourceRect 东西。如果我切换到后者,那很好(当然,操作表不会从我希望它弹出的位置弹出)。到目前为止,用谷歌搜索错误消息是空白的。

这是代码。这是非常基本的,这里没有什么特别的:

    UIAlertController *alertController = [UIAlertController alertControllerWithTitle:@"What do you want to do?" message:nil preferredStyle:UIAlertControllerStyleActionSheet];
[alertController addAction:[UIAlertAction actionWithTitle:@"Clear Call History" style:UIAlertActionStyleDestructive handler:^(UIAlertAction *action) {
[self confirmClearCallHistory];
}]];
[alertController addAction:[UIAlertAction actionWithTitle:@"Cancel" style:UIAlertActionStyleDefault handler:^(UIAlertAction * action) {}]];
[alertController setModalPresentationStyle:UIModalPresentationPopover];

//if I do this (like I want to), it crashes:
[alertController popoverPresentationController].barButtonItem = self.tabBarController.callsTab;

// if I do this, it's fine:
// [alertController popoverPresentationController].sourceView = self.editButton;
// [alertController popoverPresentationController].sourceRect = self.editButton.bounds;

[self presentViewController:alertController animated:YES completion:nil];

其他人有类似的问题吗?到目前为止,这在所有三个 iOS 9 测试版中都是一样的......

(哦,我应该提到它只在 iPad 上崩溃,在 iPhone 上不会...但这并不奇怪,因为操作表的演示模式在 iPhone 上是无操作的,即所有操作表都显示无论如何都一样)

最佳答案

哦,有趣。我实际上是将 UITabBarItem 实例传递到 barButtonItem 字段中。 (我继承了旧代码,所以我不知道这一点)不知何故,这实际上适用于 iOS 8?去图吧。

所以是的,我猜不能那样做。呵呵。

关于ios - 在 iOS 9 中将 barButtonItem 用于 popoverPresentationController 时遇到问题?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31590644/

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