Swift 4
iOS 11.2
Xcode 9.2
TableViewController1 ---segue---> TableViewController2
Вы можете изменить текст кнопки «Назад» в TableViewController1 или TableViewController2.
Измените текст кнопки "Назад" внутри TableViewController1:
1) In viewWillAppear()
:
override func viewWillAppear(_ animated: Bool) {
super.viewWillAppear(animated)
let myBackButton = UIBarButtonItem()
myBackButton.title = "Custom text"
navigationItem.backBarButtonItem = myBackButton
}
По какой-то причине viewDidLoad () еще слишком рано для добавления кнопки возврата в NavigationItem. Чтобы соединить два TableViewController, в элементе управления раскадровкой перетащите из TableViewCell в TableViewController1 в середину TableViewController2 и во всплывающем меню выберите Selection Segue > Show
.
2) In tableView(_:didSelectRowAt:)
:
override func tableView(_ tableView: UITableView, didSelectRowAt: IndexPath) {
let myButton = UIBarButtonItem()
myButton.title = "Custom text"
navigationItem.backBarButtonItem = myButton
performSegue(withIdentifier: "ShowMyCustomBackButton", sender: nil)
}
Чтобы соединить два TableViewController, в элементе управления раскадровкой перетащите из маленького желтого кружка над TableViewController1 в середину TableViewController2 и во всплывающем меню выберите Manual Segue > Show
. Затем выберите сегмент, соединяющий два TableViewController, и в инспекторе атрибутов рядом с «Идентификатором» введите «ShowMyCustomBackButton».
3) В storyboard
:
Если вам просто нужен статический настраиваемый текст для кнопки возврата, выберите NavigationItem для TableViewController1 (у него есть <
для значка в оглавлении раскадровки), затем откройте инспектор атрибутов и в поле «Кнопка возврата» введите свой собственный текст. (не забудьте выйти из этого поля, чтобы изменения вступили в силу).
Измените текст кнопки "Назад" внутри TableViewController2:
1) In viewWillAppear()
:
class MySecondTableViewController: UITableViewController {
override func viewWillAppear(_ animated: Bool) {
super.viewWillAppear(animated)
let myBackButton = UIBarButtonItem(
title: "<Custom text",
style: .plain,
target: self,
action: #selector(goBack) //selector() needs to be paired with an @objc label on the method
)
navigationItem.leftBarButtonItem = myBackButton
}
@objc func goBack() {
navigationController?.popViewController(animated: true)
}
Чтобы соединить два TableViewController, в элементе управления раскадровкой перетащите из TableViewCell в TableViewController1 в середину TableViewController2 и во всплывающем меню выберите Selection Segue > Show
.
person
7stud
schedule
02.02.2018