2015-07-08 1 views
9

Как удалить «<» с кнопки обратной связи UINavigationItem. У меня есть UIViewController на моей раскадровке, которая открыта с помощью Push Segue. Я бы хотел, чтобы текст был на обратной кнопке, а не на спине.Удалить «<» из UINavigationItem Back Button

До сих пор я добавил этот код к функции prepareForSegue в вызывающем UITableViewController.

 let backItem = UIBarButtonItem(title: "Done", style: UIBarButtonItemStyle., target: nil, action: nil) 
     navigationItem.backBarButtonItem = backItem 

Когда UIView приходит, он имеет «< Готово» в тексте кнопки возврата. Как я могу настроить его так, чтобы он просто «сделал»?

+1

кнопку набор leftbar вместо BackButton –

ответ

18

Добавить 2 строки кода в AppDelegate. Он будет удалять индикатор возврата со всех контроллеров.

func application(application: UIApplication, didFinishLaunchingWithOptions launchOptions: [NSObject: AnyObject]?) -> Bool { 

    UINavigationBar.appearance().backIndicatorImage = UIImage() 
    UINavigationBar.appearance().backIndicatorTransitionMaskImage = UIImage() 

} 

Если вы получаете пространство, в левой стороне затем установить название должности

UIBarButtonItem.appearance().setBackButtonTitlePositionAdjustment(UIOffsetMake(-20, 0), for: UIBarMetrics.default) 
+0

Это удалило «<». Есть ли способ вернуть оставшееся пространство? Текст моей кнопки занимает то же место, что и при отображении «<», и это оставляет поле с очень хорошим размером слева от текста кнопки. –

+0

@ScottKilbourn работает для вас или нет? –

+1

Да, это прекрасно! Огромное спасибо. –

2

В viewDidLoad

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

Если у вас есть обычай UINavigationBar установить leftBarButtonItem в nil

+0

я поставил self.navigationItem.setHidesBackButton линию в viewDidLoad открывающей UIViewController. Теперь кнопка полностью исчезла. –

+0

@ScottKilbourn старый ответ .... но это не проблема. Вы можете добавить левую кнопку на панели навигации в контроллере просмотра, используя 'self.navigationItem.leftBarButtonItem', как и правую. Я бы рекомендовал использовать этот метод, поскольку он дает вам больше контроля над назначением левой и правой кнопок, а не скрыть только шеврон глобально через Appdelegate. – Annjawn