Не вижу навигационную панель Элементы кнопки в моем контроллере таблицы просмотра - PullRequest
0 голосов
/ 31 декабря 2018

Я создал UITableViewController в моей main.storyboard, а затем связал его с классом MainMenu.В классе я вручную добавил UIBarButtonItems для добавления друзей и выхода из системы, но ничего не вижу.Все, что я вижу, - это пустое табличное представление с серыми линиями.

 class MainMenu: UITableViewController {

override func viewDidLoad() {
    super.viewDidLoad()



    navigationItem.leftBarButtonItem = UIBarButtonItem(title: "Logout", style: .plain, target: self, action: #selector(handleLogout))

    let image = UIImage(named: "add_friend_image")


    let menuButton = UIButton(type: .custom)
    menuButton.frame = CGRect(x: 0.0, y: 0.0, width: 20, height: 20)
    menuButton.setImage(image, for: .normal)
    menuButton.addTarget(self, action: #selector(handleFriend), for: UIControlEvents.touchUpInside) 

    let menuBarItem = UIBarButtonItem(customView: menuButton)
    let currWidth = menuBarItem.customView?.widthAnchor.constraint(equalToConstant: 24)
    currWidth?.isActive = true
    let currHeight = menuBarItem.customView?.heightAnchor.constraint(equalToConstant: 24)
    currHeight?.isActive = true;
    self.navigationItem.rightBarButtonItem = menuBarItem



}

1 Ответ

0 голосов
/ 31 декабря 2018
  1. Создайте раскадровку и добавьте TableViewController т.е. MainMenu
  2. Внедрите контроллер MainMenu в Navigation Controller
  3. Установите контроллер навигации в качестве контроллера начального вида
  4. Затем в viewDidLoad из MainMenu добавьте свой код для установки элементов кнопок панели навигации

    class MainMenu: UITableViewController {
    
        override func viewDidLoad() {
            super.viewDidLoad()
    
            navigationItem.leftBarButtonItem = UIBarButtonItem(title: "Logout", style: .plain, target: self, action: #selector(handleLogout))
    
            let image = UIImage(named: "add_friend_image")
    
    
            let menuButton = UIButton(type: .custom)
            menuButton.frame = CGRect(x: 0.0, y: 0.0, width: 20, height: 20)
            menuButton.setImage(image, for: .normal)
            menuButton.addTarget(self, action: #selector(handleFriend), for: .touchUpInside)
    
            let menuBarItem = UIBarButtonItem(customView: menuButton)
            let currWidth = menuBarItem.customView?.widthAnchor.constraint(equalToConstant: 24)
            currWidth?.isActive = true
            let currHeight = menuBarItem.customView?.heightAnchor.constraint(equalToConstant: 24)
            currHeight?.isActive = true;
            self.navigationItem.rightBarButtonItem = menuBarItem
        }
    
        @objc func handleLogout() {
    
        }
    
        @objc func handleFriend() {
    
        }
    }
    

Шаги добавленыдля файла раскадровки,

Image 1Image 2Image 3

вывод:

output

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...