2016-12-28 2 views
0

問題があります。ナビゲーション項目の機能を変更する方法、rootViewに戻す

私はshow(vc)を使用して、ビューコントローラを表示します。

VC1 - > VC2 - > VC3

私は、ユーザーが、私は以下のコードを言及を使用していますことを達成するために、VC3に戻るボタンをクリックするとVC1からユーザーをリダイレクトします。

override func viewDidLoad() { 
    super.viewDidLoad() 

    self.navigationItem.hidesBackButton = true 
    let newBackButton = UIBarButtonItem(title: "<", style: UIBarButtonItemStyle.plain, target: self, action: #selector(backToRoot(sender:))) 
    self.navigationItem.leftBarButtonItem = newBackButton 
} 

func backToRoot(sender: UIBarButtonItem) { 

    _ = self.navigationController?.popToRootViewController(animated: true) 
} 

私はカスタマイズされたボタンではなく、戻るボタンのデフォルトイメージが必要です。

これを行う方法はありますか?

+0

Parth Bhattに感謝します。 –

答えて

0

これを今日作成しました。私はシステムの戻るボタンの動作を変更する方法が見つかりませんでした。システムスタイルのように見えるように、私は同じ絵を描く(シミュレータのスナップショットと写真店での変更)。 、高さのデフォルトのサイズは30である

let button: UIButton = UIButton(type: .system) 

幅はあなたが

button.frame = CGRect(x: 0, y: 0, width: 80, height: 30) 
button.setImage(UIImage(named: "BackButton"), for: .normal) 

を設定するものは何でもデフォルトのフォントは、次のされている:以下のようにコードがある

button.setTitle("Back", for: .normal) 
button.titleLabel?.font = UIFont(name: "AvenirNext", size: 15) 

これは、トリック、あなたはシステムの同じ位置を見つける必要があります、次は私の結果です、私は何度も調整していた。私はあなたが使えることを願っていますが、あなた自身のサイズを見つける必要があると思います。

button.imageEdgeInsets = UIEdgeInsetsMake(0, -43, 0, 0) 
button.titleEdgeInsets = UIEdgeInsetsMake(0, -33, 0, 0) 

button.addTarget(target, action: action, for: .touchUpInside) 
let barButton = UIBarButtonItem(customView: button) 
+0

ok。あなたのアドバイスについてありがとうございます。 –

関連する問題