gpt4 book ai didi

ios - UINavigationBar 之上的 UIViewController

转载 作者:行者123 更新时间:2023-11-28 19:05:15 25 4
gpt4 key购买 nike

我正在尝试在所有内容之上添加自定义 UIViewController 但不覆盖全屏(基本上是弹出窗口),如下所示:

- (void) displayPopoverController: (UIViewController*) content;
{
[self addChildViewController:content];
content.view.frame = [self frameForContentController];
[self.view addSubview:content.view];
[content didMoveToParentViewController:self];
}

一切正常,但不幸的是它在导航栏下方。所以我决定像这样将 UIViewController 添加到导航 Controller 中:

- (void) displayPopoverController: (UIViewController*) content;
{
[self.navigationController addChildViewController:content];
content.view.frame = [self frameForContentController];
[self.navigationController.view addSubview:content.view];
[content didMoveToParentViewController:self.navigationController];
}

成功了,但是有两个问题:

1) viewWillAppear 在我添加 popover 时没有被调用(只有 viewDidLoad 被调用)

2) 如果我改变方向,我的弹出窗口会收到通知并调整到新的方向,但它后面的 UIViewController 不会。它只会在我删除弹出窗口后更新其 View 。

有什么办法可以修复1和2吗?也许有更好的方法(我不想将 UIPopoverController 与自定义 UIPopoverBackgroundView 一起使用)?

最佳答案

在我看来,您应该进行自定义转换并以模态方式呈现 UIViewController。

您可以在此处获得有关自定义 UIViewController 转换的帮助:http://www.doubleencore.com/2013/09/ios-7-custom-transitions/

关于ios - UINavigationBar 之上的 UIViewController,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21003399/

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