2017-01-04 14 views
0

は:私は下の写真のような画像とテキストでnavigationItemのtitleViewを設定したいのiOS navigationItem titleViewの画像とテキスト

enter image description here

どのように私はそれを達成していますか?

具体的には、Swiftでこれを実行しようとしています。

+0

[スウィフトナビゲーションバーのイメージタイトル](http://stackoverflow.com/questions/24803178/swift-navigation-bar-image-title) – iYoung

+0

@iYoungの可能性のある重複したが、私は、以下のテキストを含めます画像 – andy7586

答えて

2

条件、お使いのコントローラがそのnavigation controllerを持っている必要がありますで

enter image description here

私のコードを使用して

enter image description here

私は以下の書き込み、結果はこのようなものですあなたのビューコントローラ、以下の私のコードを試してください:

override func viewDidLoad() { 
    super.viewDidLoad() 
    // Do any additional setup after loading the view, typically from a nib. 

    initUI() 
} 

// MARK: - init 

func initUI() { 

    let rect:CGRect = CGRect.init(origin: CGPoint.init(x: 0, y: 0), size: CGSize.init(width: 64, height: 64)) 

    let titleView:UIView = UIView.init(frame: rect) 
    /* image */ 
    let image:UIImage = UIImage.init(named: "01.jpg")! 
    let image_view:UIImageView = UIImageView.init(image: image) 
    image_view.frame = CGRect.init(x: 0, y: 0, width: 30, height: 30) 
    image_view.center = CGPoint.init(x: titleView.center.x, y: titleView.center.y - 10) 
    image_view.layer.cornerRadius = image_view.bounds.size.width/2.0 
    image_view.layer.masksToBounds = true 
    titleView.addSubview(image_view) 

    /* label */ 
    let label:UILabel = UILabel.init(frame: CGRect.init(x: 0, y: 30, width: 64, height: 24)) 
    label.text = "Hello" 
    label.font = UIFont.systemFont(ofSize: 12) 
    label.textAlignment = .center 
    titleView.addSubview(label) 

    self.navigationItem.titleView = titleView 

} 
+0

ありがとうございました! – andy7586

+1

@ andy7586、これで問題は解決しましたか?はいの場合は、答えを選択する必要があります。 – aircraft

関連する問題