Oni*_*han 184 objective-c ios swift
如何删除后退按钮文本.
self.navigationItem.backBarButtonItem?.title = "Back"
self.backItem?.title = ""
self.navigationController?.navigationBar.backItem?.title = ""
self.navigationItem.backBarButtonItem?.title = ""
self.navigationController?.navigationItem.backBarButtonItem?.title="Back"
self.navigationController?.navigationBar.backItem?.title = ""
self.navigationController?.navigationItem.backBarButtonItem?.title
Run Code Online (Sandbox Code Playgroud)
这些都没有奏效:
self.navigationItem.backBarButtonItem?.title = "Back"
self.backItem?.title = ""
self.navigationController?.navigationBar.backItem?.title = ""
self.navigationItem.backBarButtonItem?.title = ""
self.navigationController?.navigationItem.backBarButtonItem?.title="Back"
self.navigationController?.navigationBar.backItem?.title = ""
self.navigationController?.navigationItem.backBarButtonItem?.title
Run Code Online (Sandbox Code Playgroud)
Yar*_*sim 560
后退按钮属于上一个视图控制器,而不是当前在屏幕上显示的控制器.
要修改后退按钮,您应该在推送之前更新它,在启动segue的视图控制器上:
override func prepareForSegue(segue: UIStoryboardSegue, sender: AnyObject?) {
let backItem = UIBarButtonItem()
backItem.title = "Something Else"
navigationItem.backBarButtonItem = backItem // This will show in the next view controller being pushed
}
Run Code Online (Sandbox Code Playgroud)
斯威夫特3:
override func prepare(for segue: UIStoryboardSegue, sender: Any?) {
let backItem = UIBarButtonItem()
backItem.title = "Back"
navigationItem.backBarButtonItem = backItem // This will show in the next view controller being pushed
}
Run Code Online (Sandbox Code Playgroud)
Aji*_*til 114
您可以从界面构建器执行以下操作:
单击上一个视图控制器的导航项
从属性检查器中将后退按钮文本设置为您想要的任何内容.而已!!
min*_*zur 41
后退按钮文本取自父视图控制器的导航项标题.因此,无论您在之前的视图控制器的导航项目标题上设置什么,都将显示在当前视图控制器的后退按钮文本上.您可以在父视图控制器的viewWillAppear方法中将""作为导航项标题.
self.navigationItem.title = ""
Run Code Online (Sandbox Code Playgroud)
另一种方式是放
self.navigationController?.navigationBar.topItem?.title = ""
Run Code Online (Sandbox Code Playgroud)
在当前视图控制器的viewWillAppear方法中.如果导航堆栈太嵌套,这将导致一些其他问题.
小智 33
您可以将这3行代码放入您的代码中override func viewDidLoad() {}
.
let backButton = UIBarButtonItem()
backButton.title = "name"
self.navigationController?.navigationBar.topItem?.backBarButtonItem = backButton
Run Code Online (Sandbox Code Playgroud)
mus*_*taq 33
如果您正在为视图控制器使用xib文件,请在视图控制器类中执行此操作.
class AboutUsViewController: UIViewController {
override func viewDidLoad() {
super.viewDidLoad()
edgesForExtendedLayout = []
setUpNavBar()
}
func setUpNavBar(){
//For title in navigation bar
self.navigationController?.view.backgroundColor = UIColor.white
self.navigationController?.view.tintColor = UIColor.orange
self.navigationItem.title = "About Us"
//For back button in navigation bar
let backButton = UIBarButtonItem()
backButton.title = "Back"
self.navigationController?.navigationBar.topItem?.backBarButtonItem = backButton
}
}
Run Code Online (Sandbox Code Playgroud)
结果将是:
Fra*_*ero 28
我不知道你在哪里使用了你提出问题的方法,但是如果我在我的ViewController
课堂上(我想改变后退按钮),我可以得到所需的结果,在viewDidLoad()
功能上,如下所示:
self.navigationController?.navigationBar.backItem?.title = "Anything Else"
Run Code Online (Sandbox Code Playgroud)
结果将是:
之前
后
Moh*_*our 18
后退按钮属于上一个视图控制器,而不是当前在屏幕上显示的控制器.要修改后退按钮,您应该在推送之前更新它,添加viewdidload:
self.navigationItem.backBarButtonItem = UIBarButtonItem(title: "", style: .plain, target: self, action: nil)
Run Code Online (Sandbox Code Playgroud)
这应该工作:
override func viewDidLoad() {
super.viewDidLoad()
var button = UIBarButtonItem(title: "YourTitle", style: UIBarButtonItemStyle.Bordered, target: self, action: "goBack")
self.navigationItem.backBarButtonItem = button
}
func goBack()
{
self.navigationController?.popViewControllerAnimated(true)
}
Run Code Online (Sandbox Code Playgroud)
虽然不建议这样做,因为它实际上替换了backButton并且还删除了后退箭头和滑动手势.
Swift 4 - 在推送任何视图控制器之前配置后退按钮
// if you want to remove the text
navigationItem.backBarButtonItem = UIBarButtonItem()
// if you want to modify the text to "back"
navigationItem.backBarButtonItem = UIBarButtonItem(title: "back", style: .plain, target: nil, action: nil)
Run Code Online (Sandbox Code Playgroud)
斯威夫特4.2
如果要更改导航栏的后退按钮项文本,请将其放在viewDidLoad
控制器中显示后退按钮的位置之前,而不是放在显示后退按钮的视图控制器上。
let backButton = UIBarButtonItem()
backButton.title = "New Back Button Text"
self.navigationController?.navigationBar.topItem?.backBarButtonItem = backButton
Run Code Online (Sandbox Code Playgroud)
如果要更改当前导航栏标题文本,请使用下面的代码(请注意,这将成为推送到导航控制器上的NEXT视图的默认背景文本,但是该默认背景文本可以被上面的代码覆盖)
self.title = "Navigation Bar Title"
Run Code Online (Sandbox Code Playgroud)
小智 7
有两种方法。
1.在之前的ViewController.viewDidLoad()
let backBarBtnItem = UIBarButtonItem()
backBarBtnItem.title = "back"
navigationItem.backBarButtonItem = backBarBtnItem
Run Code Online (Sandbox Code Playgroud)
2.在currentViewController.viewDidAppear()
let backBarBtnItem = UIBarButtonItem()
backBarBtnItem.title = "back"
navigationController?.navigationBar.backItem?.backBarButtonItem = backBarBtnItem
Run Code Online (Sandbox Code Playgroud)
原因:backButton
来自navigationBar.backItem.backBarButtonItem
,所以第一种方式是显而易见的。在currentViewController.viewDidLoad()中,我们无法获得的引用backItem
,因为在viewDidAppear()中,navigationBar
推送navigationView
了它。所以stack
我们可以对backItem
currentViewController中的进行更改。 viewDidAppear()
更多详细信息,您可以查看文档:UINavigationBar
返回按钮文本和颜色文本:
navigationController?.navigationBar.tintColor = .red
navigationController?.navigationBar.topItem?.backButtonTitle = "Hi"
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
155434 次 |
最近记录: |