Добавить изображение справа от центрированного заголовка View Controller в Swift - PullRequest
0 голосов
/ 30 декабря 2018

В SO много ответов о том, как заменить заголовок для контроллера представления изображением, используя titleView, следующим образом:

let myimage: UIImage = UIImage(named: "myimage.png")!
let imageView = UIImageView(frame: CGRect(x: 0, y: 0, width: 40, height: 40))
imageView.contentMode = .scaleAspectFit
imageView.image = image
self.navigationItem.titleView = imageView 

Кроме того, вы можете поместить заголовок и изображение впредставление и его центрирование .

extension UIViewController {func setTitle(_ title: String, andImage image: UIImage) {
            let titleLbl = UILabel()
            titleLbl.text = title
            titleLbl.textColor = UIColor.white
            titleLbl.font = UIFont.systemFont(ofSize: 20.0, weight: .bold)
            let imageView = UIImageView(image: image)
            let titleView = UIStackView(arrangedSubviews: [imageView, titleLbl])
            titleView.axis = .horizontal
            titleView.spacing = 10.0
            navigationItem.titleView = titleView
        }
    }

call with: `setTitle("yourTitle", andImage: UIImage(named: "yourImage"))`

Однако я хочу отцентрировать заголовок (который может варьироваться по ширине) обычным способом, а затем зафиксировать изображениерасстояние вправо.

Есть ли простой способ сделать это?

...