2015-05-05 9 views
3

У меня есть приложение в swift, где контроллеры представления встроены в контроллер навигации, теперь на втором и третьем контроллерах просмотра, на задней кнопке есть синяя стрелка, указывающая назад (он есть по умолчанию). Я попытался удалить это, но когда я хочу иметь изображение, изображение становится все скверно. Кто-нибудь знает, как вы собираетесь снимать стрелку с помощью кнопки «Назад» и заменять ее изображением? Спасибо большое!swift - навигационный контроллер remove back button стрелка

ответ

5

Используйте это ....

Set Text:

let backBtn = UIBarButtonItem(title: "Back", style: UIBarButtonItemStyle.Plain, target: self, action: "BtnTapBack:") 
navigationItem.leftBarButtonItem = backBtn 
navigationItem.leftBarButtonItem?.setTitleTextAttributes([NSFontAttributeName: UIFont(name: "YourFontName", size: 20)!], forState: UIControlState.Normal) 

Set Image:

let image = UIImage(named:"YourImageName") as UIImage! 
var btnBack:UIButton = UIButton.buttonWithType(UIButtonType.Custom) as! UIButton 
btnBack.addTarget(self, action: "BtnTapBack:", forControlEvents: UIControlEvents.TouchUpInside) 
btnBack.setImage(image, forState: UIControlState.Normal) 
btnBack.setTitleColor(UIColor.blueColor(), forState: UIControlState.Normal) 
btnBack.sizeToFit() 
var myCustomBackButtonItem:UIBarButtonItem = UIBarButtonItem(customView: btnBack) 
self.navigationItem.leftBarButtonItem = myCustomBackButtonItem 

Действие перейти к предыдущей ViewController

@IBAction func BtnTapBack(sender: UIButton) { 
     navigationController?.popViewControllerAnimated(true) 
} 
+0

Да, но если бы я хотел изображение вместо текста, как бы я это сделал? –

+0

Да, я обновлю свой ответ .... – Rahul

+0

Итак, если бы я хотел, чтобы это действие перешло к предыдущему диспетчеру просмотра, как бы я это сделал? –