2017-11-15 9 views
1

私は何日も探していましたが、新しいことから利用可能な情報があまりありません(または見つけられません)。iOS 11 NavigationBarのロゴとタイトル

とにかく、私はiOS 11の新しいナビゲーションバーの機能の使用を取得しようとしていますが、私は私のNavBarにロゴと(各ViewControllerの)大型タイトルの両方を載せていきたいと思います。下のスクリーンショットのような何か:それはこれを実現することが可能である方法

enter image description here

サイドヒント:iOS 10で同じappについては

は、私が代わりに表示のNavBartitleViewするロゴを設定しますが、今、新しいバージョンでは、我々はあまりにもタイトルを追加したいです。

ありがとうございます事前にありがとう

答えて

1

それはあなたのためにうまくいかないことを言うのは難しいですが、これだけで動作します:

override func viewDidLoad() { 
    super.viewDidLoad() 

    if #available(iOS 11, *) { 
     navigationController?.navigationBar.prefersLargeTitles = true 
     navigationItem.largeTitleDisplayMode = .always 
     title = "Your title" 
    } 

    let titleImageView = NavigationImageView() 
    titleImageView.image = UIImage(named: "yourImageName") 
    navigationItem.titleView = titleImageView 
} 

EDIT:あなたができるあなたのタイトルビューのカスタムサイズを設定するには私はそれを試してませんでしたが、おかげでは私の問題は、ANで解決されませあなたUIView(UIImageView)をサブクラス化しないとsizeThatFits

class NavigationImageView: UIImageView { 
    override func sizeThatFits(_ size: CGSize) -> CGSize { 
     return CGSize(width: 50, height: 50) 
    } 
} 
+0

完璧ですが、今は別の問題があります。サイズ 'titleImageView.frame = CGRect(x:0.0、y:0.0、width:64、height:30)を設定していても、この部分は 'iOS 10 'でうまく動作しますが、' iOS 11'では動作しません。新しい 'iOS'では変更されていますか? –

+0

@AbedNaseri私は自分の答えを編集しました。おそらくそれが役に立ちます。 –

+0

私が必要としてくれたことがありがとう、NavとiOS 11に関する別の質問があります。 –

0

あなたのnavbarの背景画像を設定しようとしましたか?このように:あなたのコードサンプルなし

// Set Navigation bar background Image 
let navBgImage:UIImage = UIImage(named: "[image.jpg]")! 
self.navigationController!.navigationBar.setBackgroundImage(navBgImage, for: .default) 
+0

を上書き上にうろつく。 –

関連する問題