Удалить кнопку «Назад» при использовании пользовательской панели навигации с контроллером uinavigation - PullRequest
0 голосов
/ 10 января 2019

У меня проблемы с поиском способа удаления «призрачной» кнопки возврата (ничего, кроме синей стрелки назад), когда я инициализирую свой контроллер uinavigation с помощью пользовательской панели навигации. Когда я нажимаю эту кнопку «Назад», я вижу свою пользовательскую панель навигации, но мне не нужно нажимать эту кнопку «Назад».

Я испробовал почти все другие решения, включая setHidesBackButton и т. Д., И играл в порядке, в котором я вызываю эти функции.

class TabsVC : UITabBarController {

func setupTabBar() {
    // setup feed tab
    let navVC = UINavigationController(navigationBarClass: NavBar.self, toolbarClass: nil)

    self.navigationItem.setHidesBackButton(true, animated: false)

    let feedVC = FeedVC()
    navVC.pushViewController(feedVC, animated: false)
    let feedIcon = UIImage.fontAwesomeIcon(name: .home, textColor: ColorConstants.baseColor, size: CGSize(width: 40, height: 40))
    navVC.tabBarItem = UITabBarItem(title: "", image: feedIcon, tag: 1)

    // other tabs stuff
}

class NavBar : UINavigationBar {

func prepare() {
    let item = UINavigationItem(title: "")
    let titleV = titleView()
    item.titleView = titleV

    item.hidesBackButton = true
    item.setHidesBackButton(false, animated: false)

    item.leftBarButtonItem = UIBarButtonItem(image: UIImage.fontAwesomeIcon(name: .userCircle, textColor: ColorConstants.baseColor, size: CGSize(width: 40, height: 40)), style: .plain, target: nil, action: nil)
    item.leftBarButtonItem?.tintColor = .white
    item.leftBarButtonItem?.action = #selector(moveToProfileScreen)
    self.pushItem(item, animated: false)
}

Я просто хочу видеть мою пользовательскую навигационную панель с самого начала, и мне не нужно нажимать пустую кнопку "Назад", чтобы увидеть навигационную панель. Спасибо!

...