gpt4 book ai didi

ios - UINavigationBar 在推送 View 动画之前消失并在其之后出现。怎么了?

转载 作者:行者123 更新时间:2023-11-29 04:50:21 25 4
gpt4 key购买 nike

我有三个 View 和一个带有背景图像的导航栏。当我插入第二个 View 时,一切都按预期进行:导航栏与背景图像保持在其位置,只是标题和按钮向左滑动,并被“后退”按钮和第二个 View 的新标题取代。但是当我插入第三个 View 时,过渡是这样的:就在动画之前,导航栏完全消失,将应用程序的窗口背景颜色留在其位置,然后,新的导航栏与所有 ui 元素一起从右侧滑动。当我弹出第三个 View (按“后退按钮”)时也是如此。任何想法,为什么会发生?以前很正常,但在某个时候我注意到它开始像这样工作。

最佳答案

出于好奇,您要插入堆栈的 View 中是否有 UISearchBar?我遇到了与您描述的完全相同的问题,事实证明这是由 UISearchBar 和 UISearchDisplayController 引起的。

创建 UISearchBar 和 UISearchDisplayController 时,我正在调用

self.searchBar = [[[UISearchBar alloc] init] autorelease];//init the UISearchBarView

then somewhere further along in the code I was calling

[self.searchDisplayController setActive:YES animated:NO];
[self.searchDisplayController setActive:NO animated:NO];

由于某种未知的原因,上述两次调用“[setActive:animated:]”会正确布局 UISearchBar。我在互联网上的很多地方都看到过这个解决方案。但副作用是,当推送带有搜索栏的新 View 时,导航栏会变成白色。

为了解决所有问题,我通过调用初始化了 UISearchBar:

self.searchBar = [[[UISearchBar alloc] initWithFrame:frame] autorelease];

然后我删除了对“[setActive:animated:]”的两次调用

此更改导致搜索栏布局正确,导航栏不消失。

希望有人会觉得这篇文章有用!

关于ios - UINavigationBar 在推送 View 动画之前消失并在其之后出现。怎么了?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8953392/

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