gpt4 book ai didi

ios - 导航栏下方出现黑条

转载 作者:可可西里 更新时间:2023-11-01 03:30:40 34 4
gpt4 key购买 nike

有几个类似的问题没有答案,但描述得很模糊。我已将问题简化为一个非常薄的应用程序,并添加了详细的屏幕截图。我非常感谢为此提供解决方案!

唯一涉及的代码是 在根 VC 的 viewDidLoad 中添加了一行。此行的目的是使导航 Controller 不透明:

- (void)viewDidLoad
{
[super viewDidLoad];
self.navigationController.navigationBar.translucent = NO;
}

这个问题的一个关键信息是“Title1”在其导航项中有提示而“Title2”没有提示

我有一个带有一个导航 Controller 的 Storyboard,一个名为“Title1”的根 VC,带有一个转到第二个名为“Title2”的 VC 的 segue 按钮

storyboard


在这里按下按钮时:

pre press


我得到这个奇怪的屏幕:

after press


当按回 (Title1) 时,情况变得更糟(即:Title1 的原始标签被推上去,现在再也看不到了!!!):

after back

有人要吗??

最佳答案

迟到的答案,但我今天偶然发现了这个问题并找到了你的问题,但它还没有被接受的答案。

我在 Storyboard 中从有提示的 viewController 转到无提示的 viewController 时遇到此错误。

我和你一样有黑条。

并修复:

// In prompted vc
override func prepareForSegue(segue: UIStoryboardSegue, sender: AnyObject?) {
UIView.setAnimationsEnabled(false)
self.navigationItem.prompt = nil
UIView.setAnimationsEnabled(true)
}

这将在切换 View Controller 之前立即删除提示。

更新

func prompt() -> String? {
return nil
}

override func viewWillAppear(animated: Bool) {
let action = { self.navigationItem.prompt = self.prompt() }

if self.navigationController?.viewControllers.count <= 1 {
UIView.performWithoutAnimation(action)
}
else {
action()
}
}

override func prepareForSegue(segue: UIStoryboardSegue, sender: AnyObject?) {
UIView.performWithoutAnimation {
self.navigationItem.prompt = (segue.destinationViewController as? ViewController)?.prompt()
}
}

关于ios - 导航栏下方出现黑条,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21073865/

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