相关疑难解决方法(0)

UINavigationController后退按钮不可见,但有效

我有一个场景,我的UINavigationController缺少后退按钮(左按钮),但点击左按钮似乎仍然有效.

我在这里发现了一个类似的问题:UINavigationController的后退按钮消失了吗? 通过不将标题设置为@""解决了这个问题,但这不是我的问题.是否有任何其他情况会导致此行为?

更新:

如果重要的是我的视图层次结构:我的MainWindow包含一个UINavigationView,它首先加载一个UIViewController(这个视图包含一个Map).当点击注释附件按钮时,它会加载UITableViewController.这个视图应该有后退按钮.

谢谢.

iphone uinavigationcontroller

7
推荐指数
1
解决办法
1万
查看次数

iOS 自定义导航栏后退按钮标题在点击时消失

你好 StackOverflow 社区,

我有一个相当奇怪的情况,导航控制器的导航栏上的自定义后退按钮在交互时消失。

一些附加信息是我的代码没有使用 Storyboard,而是使用 UIKit - 包括 UI 在内的所有内容都是以编程方式构建的。

这是我的设置:

  • 我首先创建一个自定义 UINavigationController 子类,以抽象出所有与导航控制器相关的自定义项

  • 在这个子类中,我有一个被调用的方法来自定义后退按钮的外观

private func customizeBackButton() {
    let backImage = UIImage(named: "BackButton")?.withRenderingMode(.alwaysOriginal)
    navigationBar.backIndicatorImage = backImage
    navigationBar.backIndicatorTransitionMaskImage = backImage
    
    UIBarButtonItem.appearance().setTitleTextAttributes([
      NSAttributedString.Key.foregroundColor: UIColor.panoStoryYellow,
      NSAttributedString.Key.font: UIFont(name: "Montserrat-SemiBold", size: 15)!
    ], for: .normal)
}
Run Code Online (Sandbox Code Playgroud)
  • 上面的自定义给出了以下结果,这正是我想要的结果,图库是我上一个屏幕的标题

UINavigationController 自定义后退按钮

  • 当我点击箭头所在的后退按钮的最左边缘时,该按钮正常工作。但是,如果我点击后退按钮的标签部分(图库文本所在的位置),文本就会消失并使用户保持在同一屏幕上。

UINavigationController UINavigationBarButton后退按钮消失

当我在标签消失后点击后退箭头时,它会起作用并将我带回到上一个屏幕,但是,为什么会发生这种消失呢?

我尝试过什么 我尝试过许多关于堆栈溢出的建议,例如:

  • 确保我的代码中没有任何行显式隐藏后退按钮
  • 随时检查上一屏幕的标题是否为空字符串

我可以确认这些不是问题,因为我有有效的标题并且从不隐藏后退按钮。

以下是我在确定它们都不适合我的情况之前检查过的一些资源,我在这里提出了问题:

UINavigationController 后退按钮不可见,但可以使用

UINavigationController的后退按钮消失了?

使用自定义后退按钮后导航标题消失

按下后退按钮时,上一屏幕上的导航标题消失

连续推送 ViewController 时缺少导航或后退按钮的标题

关于为什么这个后退按钮文本消失的任何想法?

uikit uinavigationcontroller uibarbuttonitem ios swift

2
推荐指数
1
解决办法
795
查看次数