gpt4 book ai didi

ios - 当点击其他栏按钮时弹出 Controller 不会关闭但当点击其他按钮(或外部弹出窗口)时关闭

转载 作者:行者123 更新时间:2023-11-29 13:15:58 24 4
gpt4 key购买 nike

我使用 - “presentPopoverFromBarButtonItem” 显示弹出窗口 - 之后当我单击右侧导航栏按钮中的其他栏按钮项目时,弹出窗口不会关闭。

但是当我点击别处时关闭弹出窗口。当我们使用“presentPopoverFromRect: inView:”显示弹出窗口时,问题也不存在 - 奇怪?

因为我们没有从 UIBarButtonItem 获取框架,我如何才能从 barbutton 正确显示弹出框。

谢谢,

最佳答案

回答我自己的问题来帮助别人,

// Presenting from BarButton will not dismiss popover when we click on other bar button.
// [self.popoverController presentPopoverFromBarButtonItem:self.barButton permittedArrowDirections:UIPopoverArrowDirectionAny animated:YES];

NSMutableArray* buttons = [[NSMutableArray alloc] init];
for (UIView *subview in self.navigationController.navigationBar.subviews) {
if ([subview isKindOfClass:[UIControl class]]) {
[buttons addObject:subview];
}
}

UIView *view = [buttons objectAtIndex:1]; // The '1' is the index to your bar item in the array of .items

CGRect barButtonFrame = [self.navigationController.navigationBar convertRect:view.frame toView:self.navigationController.view];
[self.popoverController presentPopoverFromRect:barButtonFrame inView:self.navigationController.view permittedArrowDirections:UIPopoverArrowDirectionUp animated:YES];

我上面所做的是找到条形按钮的框架并显示弹出窗口“presentPopoverFromRect”。

关于ios - 当点击其他栏按钮时弹出 Controller 不会关闭但当点击其他按钮(或外部弹出窗口)时关闭,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15827128/

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