

UINavigationControllerの戻るボタンの文字をtitle=""で空にして、合わせてnavigationItem.titleView=UISearchBar()のように検索バーをセットするとtitleViewと戻るの間に空間が出来る問題を解決したいと考えています。どなたか良い解決方法をご存知ありませんでしょうか。

[![症状のスクリーンショット](https://i.stack.imgur.com/Xh4s4.png)](https://i.stack.imgur.com/Xh4s4.png)


CC BY-SA 3.0
2016-02-28T04:45:06.333
22616
2016-05-04T05:15:00.437
12662
question
ios swift objective-c uikit uinavigationcontroller
UINavigationControllerのtitleを空にしtitleViewを使うと空間が出来る


解決になるかどうかはわかりませんが、戻るボタンを自作する事で、隙間を減らす事は出来ます。  
（Xcode 7.2.1／iOS9.2のシミュレーター環境で確認）

[![戻るボタンの比較画像](https://i.stack.imgur.com/eCFvy.png)](https://i.stack.imgur.com/eCFvy.png)

ソースコードはこんな感じになります。

[code]

    import UIKit
    
    class SecondViewController: UIViewController {
    
        override func viewDidLoad() {
            super.viewDidLoad()
    
            // サーチバーを追加
            let sb = UISearchBar()
            navigationItem.titleView = sb
    
            // 標準とそっくりの画像でUIBarButtonItemを作成
            let img = UIImage(named: "back-image")
            navigationItem.leftBarButtonItem = UIBarButtonItem(image: img, style: .Plain, target: self, action: "backMenu")
        }
    
        /// 前の画面に戻る
        func backMenu() {
            dismissViewControllerAnimated(true, completion: nil)
        }
    }
    
[/code]


CC BY-SA 3.0
2016-03-05T04:29:24.730
22824
2016-03-05T04:29:24.730
7459
22616
answer