2016-06-27 10 views
-2

По умолчанию, навигация назад текстовому приходит как предыдущий заголовок экрана или <По умолчанию Назад Кнопка Текст и шрифт Установка

Я пытаюсь изменить это просто < = |

Но Его пришествии, как показано на рисунке BackButton Image. Итак, я хочу знать, как изменить свой шрифт, чтобы сделать большой < = | и удаления по умолчанию <

Я попытался

Пробовал один и тот же код в viewDidLoad первого стартового экрана, Так я также хотел бы знать, где разместить этот код:

override func viewWillAppear(animated: Bool) 
{ 
    self.navigationItem.leftBarButtonItem?.title = "<=|" 
    let FntStgVal = [NSFontAttributeName:UIFont.systemFontOfSize(50, weight: UIFontWeightLight)] 
    self.navigationItem.leftBarButtonItem?.setTitleTextAttributes(FntStgVal, forState: .Normal) 
} 

ответ

2

Изменить код в viewDidLoad вот так.

class BaseViewController: UIViewController { 

    override func viewDidLoad() { 
     super.viewDidLoad() 
    } 

    func setNavigationWithCustomBackButton() { 
     let btnLeft:UIButton! = UIButton(frame: CGRectMake(0, 0, 20, 16)) 
     btnLeft.setTitle("<=|", forState: .Normal) 
     btnLeft.titleLabel?.font = UIFont.systemFontOfSize(19, weight: UIFontWeightLight) 
     btnLeft!.addTarget(self, action: "handleBack:",forControlEvents: UIControlEvents.TouchUpInside) 
     let leftItem:UIBarButtonItem = UIBarButtonItem(customView: btnLeft!) 
     self.navigationItem.leftBarButtonItem = leftItem 
    } 

    func handleBack(sender: UIButton) { 
     self.navigationController?.popViewControllerAnimated(true) 
    } 
} 

Теперь используйте этот BaseViewController как родитель вашего всего viewController и вызвать его метод в viewDidLoad, как это.

class ViewController1: BaseViewController { 

    override func viewDidLoad() { 
     super.viewDidLoad() 
     self.setNavigationWithCustomBackButton() 
    } 
} 

Теперь он будет добавлять пользовательские кнопку назад в вашем NavigationBar.
Надеюсь, это поможет вам.

+0

Я хочу изменить эту кнопку назад через приложение, и действие: «handleBack:» не выполняет функцию возврата по умолчанию –

+0

'handleBack' - это пользовательское' Action'. Если вы хотите, чтобы это через приложение, создайте «BaseViewController» и назначьте этот «BaseViewController» как родительский элемент всего вашего 'viewController'. –

+0

У вас есть то, что я говорю, или я должен отредактировать свой ответ, чтобы объяснить вам? –