Kesalahan saat menambahkan tombol UINavigationbar dengan gambar

Saya mencoba menambahkan tombol UIBar dengan gambar di UINavigationbar saya. Namun, tombolnya berpindah ke tengah, bukan ke kiri, dan gambarnya juga menjadi besar. Bisakah kalian membantu saya?

Ikon Hamburger

  override func viewDidLoad() {
        super.viewDidLoad()
        //Delegate TableView
        self.tableViewTopSell.delegate = self
        //SetupNavBarCustom
        self.navigationController?.navigationBar.CustomNavigationBar()
        let logo = UIImage(named: "tag.png")
        let imageView = UIImageView(image:logo)
        self.navigationItem.titleView = imageView
        //Hamburg Menu
        self.navigationItem.leftBarButtonItem = nil
        let button = UIButton(type: .custom)
        button.setImage(UIImage (named: "hamburgIcon"), for: .normal)
        button.frame = CGRect(x: 0.0, y: 0.0, width: 35.0, height: 35.0)
        //button.addTarget(target, action: nil, for: .touchUpInside)
        let barButtonItem = UIBarButtonItem(customView: button)
        self.navigationItem.leftBarButtonItems = [barButtonItem]

person Bruno Vavretchek    schedule 21.06.2018    source sumber
comment
Anda menyetel nihil ke leftBarButtonItem bilah navigasi. Anda kemudian mengatur array item menjadi sama. Bukankah itu berlebihan?   -  person El Tomato    schedule 21.06.2018


Jawaban (1)


Gambar tombol bilah kiri khusus :

    let btnBack = UIButton()
    btnBack.setImage(#imageLiteral(resourceName: "back"), for: .normal)
    btnBack.frame = CGRect.init(x: 0, y: 0, width: 30, height: 30)
    btnBack.addTarget(self, action: #selector(addTapped), for: .touchUpInside)
    btnBack.imageView?.contentMode = .scaleAspectFit
    let leftBack = UIBarButtonItem.init(customView: btnBack)

    navigationItem.leftBarButtonItem = leftBack

Periksa juga ukuran gambar yang Anda coba atur untuk tombol bilah kiri. Saya menggunakan ukuran 35 x 35 untuk gambar 2x dan ukuran 53 x 53 untuk gambar 3x.

person Sahdevsinh Chavda    schedule 21.06.2018