相关疑难解决方法(0)

如何在设置leftBarButtonItem后在UINavigationController中启用后退/左侧滑动手势?

我从这里得到了相反的问题.默认情况下iOS7,UINavigationController堆栈的后滑动手势可以弹出呈现的内容ViewController.现在我只是穿着所有self.navigationItem.leftBarButtonItem风格的制服ViewControllers.

这是代码:

self.navigationItem.leftBarButtonItem = [[UIBarButtonItem alloc] initWithImage:LOADIMAGE(@"back_button") style:UIBarButtonItemStylePlain target:self action:@selector(popCurrentViewController)];
Run Code Online (Sandbox Code Playgroud)

之后,navigationController.interactivePopGestureRecognizer被禁用.如何在不删除自定义的情况下启用弹出手势leftBarButtonItem

谢谢!

objective-c uinavigationbar uinavigationcontroller uinavigationitem ios

59
推荐指数
10
解决办法
8万
查看次数

在 SwiftUI 中隐藏导航栏而不会丢失向后滑动手势

在 SwiftUI 中,每当导航栏被隐藏时,滑动返回手势也会被禁用。

有什么办法可以在保留 SwiftUI 中的向后滑动手势的同时隐藏导航栏?我已经有一个自定义的“返回”按钮,但仍然需要手势。

我已经看到了一些 UIKit 的解决方案,但仍然不知道如何在 SwiftUI 中做到这一点

这是您自己尝试的代码:

import SwiftUI

struct RootView: View {
    var body: some View {
        NavigationView {
            NavigationLink(destination: SecondView()) {
                Text("Go to second view")
            }
        }
    }
}

struct SecondView: View {
    var body: some View{
        Text("As you can see, swipe to go back will not work")
        .navigationBarTitle("")
        .navigationBarHidden(true)
    }
}
Run Code Online (Sandbox Code Playgroud)

非常感谢任何建议或解决方案

swift swiftui

14
推荐指数
5
解决办法
5118
查看次数

当向后滑动失败时,SwiftUI 导航栏项目会失控

我有一个ListViewTasksView然后EditView

流程是这样的:你有一个列表单元格,你点击它会带你到TasksView当一行被点击时TasksView它会带你到EditView

当我向后滑动一半以导航到上一个视图时,导航栏会变得笨拙并重叠。它主要发生在我使用 navigationBarItem -(按钮)时。

其中TasksView (detailView)有一个列表和一些导航栏修饰符:

ZStack {
   List {
    // code here
 }

}
.onAppear { UITableView.appearance().separatorStyle = .none }
.onDisappear { UITableView.appearance().separatorStyle = .none }
.background(Color("primaryBackground"))
.edgesIgnoringSafeArea(.bottom)
.navigationBarTitle("\(listItem.name ?? "")", displayMode: .inline)
.navigationBarItems(trailing:
    Button(action: {self.deleteList()}) {
              Image(systemName: "trash.circle.fill")
          }
     )
Run Code Online (Sandbox Code Playgroud)

也可以这样说EditView,当您轻扫一半EditView返回 时TasksView,会发生同样的事情。

这是行动中的错误:

在此处输入图片说明

任何人都知道如何解决这个错误?

编辑:

struct TasksView: View {
@Environment(\.presentationMode) var presentationMode
@EnvironmentObject var taskControl: TaskControl
@EnvironmentObject …
Run Code Online (Sandbox Code Playgroud)

navigation swipe ios swiftui

14
推荐指数
1
解决办法
1281
查看次数