我想从后退按钮中删除文本,但我想保留图标.我试过了
let backButton = UIBarButtonItem(title: "", style: UIBarButtonItemStyle.Plain, target: navigationController, action: nil)
navigationItem.leftBarButtonItem = backButton
Run Code Online (Sandbox Code Playgroud)
但是,这会完全删除文本和图标.
在今天早上安装Xcode 11 beta 5之后,我注意到它NavigationDestinationLink已不推荐使用NavigationLink。
另外,这就是苹果在发行说明中所说的:
NavigationDestinationLink和DynamicNavigationDestinationLink已弃用;它们的功能现在包含在NavigationLink中。(50630794)
我使用NavigationDestinationLink的方式是通过编程将新视图推入堆栈self.link.presented?.value = true。似乎没有该功能NavigationLink。
有人知道吗?我宁愿不再使用NavigationDestinationLink它,因为它已被弃用...
谢谢!
更新:
实际上,这种NavigationDestinationLink方式不再起作用,所以我想我们无法以编程方式进行推送了吗?
更新2:
NavigationLink(destination: CustomView(), isActive: $isActive) {
return Text("")
}
Run Code Online (Sandbox Code Playgroud)
这是可行的,但是当您传递isActive为true时,任何状态更新都将触发此代码并一遍又一遍地推送...此外,如果将其传递回false,它将弹出视图。不仅更新,如果将其设置isActive为true,它还将推动视图(良好),并且如果我们按后退按钮,它将返回并立即再次推动,因为它仍然是正确的。玩onAppear是我的希望,但是回到它时并没有被要求……我不确定我们应该如何使用它。
我使用 aNavigationLink从“View1”导航到“View2”,在第二个视图上,后退按钮获取上一个视图的标题
但是,如果前一个视图的标题很长,则后退按钮将获取文本“后退”
我怎么能改变那个“返回”文本?
我想让我的应用程序以多种语言提供,但是当手机的语言改变时,“返回”似乎没有改变
struct ContentView: View {
var body: some View {
return NavigationView {
VStack {
Text("View1")
NavigationLink(destination: Text("View2").navigationBarTitle("Title View2", displayMode: .inline)) {
Text("NavigationLink")
}
}.navigationBarTitle("Title View1")
}
}
}
Run Code Online (Sandbox Code Playgroud)
PS:我想保留这个功能,我只想更改用于后退按钮的语言