gpt4 book ai didi

ios - UIPopoverController 放置

转载 作者:行者123 更新时间:2023-11-28 20:46:51 28 4
gpt4 key购买 nike

我正在开发一个应该是通用的应用程序,一个适用于 iPad 和 iPhone 的应用程序。我想让他们的界面尽可能相似。在 iPhone 应用程序中,我使用的是选项卡栏 Controller ,其中一个选项卡转到图像选择器 Controller 。显然我不能在 iPad 上这样做。所以我劫持了那个按钮的控制权来带来一个带有图像选择器的弹出 Controller 。这一切都很好,除了当我弹出弹出窗口时,它不在正确的位置。当我旋转模拟器时,弹出窗口会转到正确的位置,并在我向后旋转时保持不变。

我的代码是基于这个问题中的代码: Ipad UIImagePickerController and UIPopoverController error

为什么我的弹出窗口不在正确的位置?

最佳答案

如果您的代码基于您引用的问题,那么您似乎正在使用以下代码来显示弹出窗口:

[popoverController presentPopoverFromBarButtonItem:sender
permittedArrowDirections:UIPopoverArrowDirectionUp
animated:YES]

UIPopoverController:presentPopoverFromBarButtonItem:permittedArrowDirections:animated 接受 UITabBar 没有的发件人的 UIBarButtonItem*。 UITabBar 使用具有 UIBarItem 基础的 UITabBarItem。 UIBarButtonItem 也有那个基础 (UIBarItem)。

无论如何...我还需要从 tabbaritem 显示一个 uipopovercontroller,我使用了以下代码:

MyViewController *myVC = [[MyViewController alloc] initWithNibName:@"MyViewController" bundle:[NSBundle mainBundle]];
UIPopoverController *popover = [[UIPopoverController alloc] initWithContentViewController:myVC];
[myVC release];
popover.popoverContentSize = myVC.view.frame.size;
popover.delegate = self;
int tabBarItemWidth = self.tabBar.frame.size.width / [self.tabBar.items count];
int x = tabBarItemWidth * 6;
CGRect rect = CGRectMake(x, 0, tabBarItemWidth, self.tabBar.frame.size.height);
[popover presentPopoverFromRect:rect
inView:self.tabBar
permittedArrowDirections:UIPopoverArrowDirectionUp
animated:YES];

注意:您的 x 计算会有所不同。为我选择的标签栏项目是第 6 个。基本上

x = tabBarItemWidth * currentTabBarItemIndex;

关于ios - UIPopoverController 放置,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5278236/

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