当前位置: 首页 > 知识库问答 >
问题:

SwiftUI-导航barbackbuttonhidden-向后滑动手势?

苏淇
2023-03-14

如果我设置了一个自定义的后退按钮(每个人都想要的,隐藏丑陋的文本-)),并使用。NavigationBarbackButtonHidden,导航控制器上的标准向后滑动手势不起作用。有没有办法让这个后退并拥有一个自定义的后退按钮?

例如:

NavigationView {
    NavigationLink(destination: DummyViewer())
     {
       Text("Go to next view"
    } 
 }
struct DummyViewer: View {
    @Environment(\.presentationMode) var presentationMode: Binding<PresentationMode>
    var body: some View {
        Text("Hello, World!").navigationBarBackButtonHidden(true)
            .navigationBarItems(leading:
                Button(action: { self.presentationMode.wrappedValue.dismiss()}) {
                    Text("Custom go back")
                }
        )
    }
}

如果我这样做了,我就不能刷回前面的视图,似乎手势就被禁用了。怎么把它拿回来?

BR Steffen

共有3个答案

慕金林
2023-03-14

您可以将标题设置为空的 。因此“后退栏”按钮标题将为空:

struct ContentView: View {

    var body: some View {

        NavigationView {

            NavigationLink(destination: Text("Here you are")) {

                Text("Next").navigationBarTitle("")
            }
        }
    }
}

如果需要,可以设置标题 。/sub>

花稳
2023-03-14

如果它仍然是实际的,这里我回答,如何设置自定义后退按钮和保存滑动后退手势。

夹谷斌蔚
2023-03-14

我没有发现关于创建自定义NavigationView的任何工作,但是我发现通过扩展 ,我能够拥有一个自定义的back按钮和swipe back手势。

extension UINavigationController: UIGestureRecognizerDelegate {
    override open func viewDidLoad() {
        super.viewDidLoad()
        interactivePopGestureRecognizer?.delegate = self
    }

    public func gestureRecognizerShouldBegin(_ gestureRecognizer: UIGestureRecognizer) -> Bool {
        return viewControllers.count > 1
    }
}
 类似资料:
  • 问题内容: 在SwiftUI中,每当导航栏被隐藏时,向后滑动手势也将被禁用。 在保留SwiftUI中的向后滑动手势的同时,有什么方法可以隐藏导航栏?我已经有一个自定义的“后退”按钮,但仍然需要该手势。 我已经看到了UIKit的一些解决方案,但仍然不知道如何在SwiftUI中进行操作 这是尝试代码的代码: 任何建议或解决方案,不胜感激 问题答案: 这应该通过扩展来起作用。

  • 问题内容: 在这里四处寻找了一段时间,但似乎找不到有效的解决方案。 我试图在Swift中禁用滑动以返回到上一个视图手势。 我尝试了多种解决方案,包括: 和 是否有执行此操作的新方法或其他可行的方法? 问题答案: 您可以禁用它,但是不建议这样做,因为大多数iOS用户通过滑动来回退,而通过按后退按钮可以减少回退。如果要禁用它,则使用a 代替推送转移(不是很大的转移)更为合理。如果您真的想摆脱滑动返回功

  • 二等 三等

  • 侧边栏导航 Off-Canvas 滑动导航现在逐渐在移动页面变得越来越流行了 (点击菜单按钮菜单从左侧滑出): 创建滑动导航 创建滑动导航实例如下: 实例<!-- 最外层div:页面布局 --> <div data-offcanvas>   <!-- 内部元素: "工具栏" 内容 (图标, 链接, 描述内容等)-->   <div>     <nav>       <section class="

  • mui提供了两种侧滑导航实现:webview模式和div模式,两种模式各有优劣,适用于不同的场景。 webview模式 主页面和菜单内容在不同的webview中,两个页面根据内容需求分别组织DOM结构,mui对其DOM结构无特殊要求,故其有如下优点: 菜单内容是单独的webview,故可被多个页面复用; 菜单内容在单独的webview中,菜单区域的滚动不影响主界面,故可使用原生滚动,滚动更为流畅;

  • 有没有办法禁用滑动手势来打开导航抽屉?在标签之间滑动时出现菜单真的很烦人。

  • 我一直在遵循谷歌的导航抽屉指南,我想把它添加到一个带有标签和手势的活动中。 我想禁用打开导航抽屉的手势,有人知道怎么做吗?

  • 函数功能:向后滑动 函数方法 widget.scrollBackward(wid) 参数 类型 必填 说明 wid userdata 是 控件对象 函数用例 --脚本页面运行 --除控件函数外请勿将其他积木编程函数用于触动精灵,同理请勿将触动精灵函数用于积木编程 mSleep(1000) wid=widget.find({["id"]="com.play4u.luabox:id/item_rl_t