相关疑难解决方法(0)

SwiftUI中NavigationView导航栏的自定义后退按钮

我想添加一个自定义导航按钮,该按钮看起来会像这样:

所需的导航后退按钮

现在,我BackButton为此编写了一个自定义视图。将该视图用作导航栏的主要项目时,请执行以下操作:

.navigationBarItems(leading: BackButton())
Run Code Online (Sandbox Code Playgroud)

...导航视图如下所示:

当前导航后退按钮

我玩过类似的修饰符:

.navigationBarItem(title: Text(""), titleDisplayMode: .automatic, hidesBackButton: true)
Run Code Online (Sandbox Code Playgroud)

没有任何运气。

我怎么能够...

  1. 在导航栏中设置用作自定义后退按钮的视图?要么:
  2. 以编程方式将视图弹出回到其父级?
    在采用这种方法时,我可以使用完全隐藏导航栏.navigationBarHidden(true)

swift navigationview swiftui

11
推荐指数
8
解决办法
4262
查看次数

从 SwiftUI 的导航栏中删除后退按钮文本

我最近开始在 SwiftUI 中工作,得出的结论是使用导航还不是很好。我想要实现的是以下内容。我终于在不使应用程序崩溃的情况下摆脱了半透明背景,但现在我遇到了下一个问题。如何摆脱导航栏内的“返回”文本?

在此处输入图片说明

我通过在SceneDelegate.swift文件中设置默认外观来实现上述视图。

let newNavAppearance = UINavigationBarAppearance()
newNavAppearance.configureWithTransparentBackground()
newNavAppearance.setBackIndicatorImage(UIImage(named: "backButton"), transitionMaskImage: UIImage(named: "backButton"))
newNavAppearance.titleTextAttributes = [
    .font: UIFont(name: GTWalsheim.bold.name, size: 18)!,
    .backgroundColor: UIColor.white

]

UINavigationBar.appearance().standardAppearance = newNavAppearance
Run Code Online (Sandbox Code Playgroud)

我可以实现这一目标的一种可能方法是覆盖导航栏项目,但是这有一个缺点(用于 NavigationView 的 SwiftUI 自定义后退按钮文本),正如此问题的创建者已经说过的那样,覆盖导航栏后后退手势停止工作项目。有了这个,我也想知道如何设置后退按钮的前景颜色。它现在具有默认的蓝色,但是我想用另一种颜色覆盖它。

navigation ios swift swiftui

9
推荐指数
6
解决办法
7150
查看次数

标签 统计

swift ×2

swiftui ×2

ios ×1

navigation ×1

navigationview ×1