1

Все, кто его читает, привет и благодарю вас. Я пишу приложение вроде Viber или WhatsApp для iOS-устройств с использованием Xcode 8.2.1 и Swift 3.0. У меня проблема: я хочу, чтобы в моем приложении был контроллер навигации, но не простой, я хочу, чтобы он был обычным. Существует экран печати с WhatsApp быть понимание, что я пытаюсь достичь:Swift 3 Custom Navigation Controller Class

Screenshot of WhatsApp chat with somebody

Как мы видим, эта навигация контроллер имеет 3 кнопки, метки и изображение с аватаром. Я также хочу изменить свой цвет на зеленый. Из-за этого я создал класс:

import UIKit 

class CustomNavigationController: UINavigationController { 

    override func viewDidLoad() { 
     super.viewDidLoad() 
     self.navigationBar.barTintColor = UIColor.green 


     let imageView = UIImageView(frame: CGRect(x: 0, y: 0, width: 39, height: 39)) 
     imageView.contentMode = .scaleAspectFit 
     let image = UIImage(named: "logo") 
     imageView.image = image 
     navigationItem.titleView = imageView 


    } 
} 

И это дает этот результат: enter image description here Как вы можете видеть, что это не картина. Я знаю, что если добавить этот код:

 let imageView = UIImageView(frame: CGRect(x: 0, y: 0, width: 39, height: 39)) 
     imageView.contentMode = .scaleAspectFit 
     let image = UIImage(named: "logo") 
     imageView.image = image 
     navigationItem.titleView = imageView 

к ViewController, изображение с логотипом появится, но я хочу, полный класс, который я соединит где (например, в Interface Builder) и он будет делать красивый Навигационный контроллер с кнопками, изображениями и т. д. Кроме того, я могу создать другой класс с другим контроллером навигации и подключить его к различным экранам, на которые, например, мне не нужны изображения, только кнопки. Итак, вопрос заключается в следующем: как создать пользовательский класс контроллера навигации?

Я буду очень рад и благодарен за любую помощь, спасибо!

ответ