我試圖添加一個導航欄按鈕與自定義圖像。但是,無論我使用什麼方法,圖像總是顯得很緊張。爲什麼自定義導航欄按鈕圖像拉伸?
方法1:
let barbuttonitem = UIBarButtonItem(image: UIImage(named: "apps_small"), style: .plain, target: self, action: nil)
navigationItem.leftBarButtonItem = barbuttonitem
看起來像這樣:
方法2:
let button = UIButton(type: .custom)
button.setImage(UIImage(named: "apps_small"), for: .normal)
button.addTarget(self, action: #selector(TeachingRootViewController.appsTouched), for: .touchUpInside)
button.frame = CGRect(x: 0, y: 0, width: 10, height: 10)
button.bounds = CGRect(x: 0, y: 0, width: 10, height: 10)
navigationItem.leftBarButtonItem = UIBarButtonItem(customView: button)
似乎升IKE在此:
方法3:
let button = UIButton(type: .custom)
button.setImage(UIImage(named: "apps_small"), for: .normal)
button.setTitle("Button", for: .normal)
button.frame = CGRect(x: 0, y: 0, width: 10, height: 10)
button.bounds = CGRect(x: 0, y: 0, width: 10, height: 10)
button.imageEdgeInsets = .init(top: 5, left: 5, bottom: 5, right: 300)
navigationItem.leftBarButtonItem = UIBarButtonItem(customView: button)
navigationItem.leftBarButtonItem?.imageInsets = .init(top: 5, left: 5, bottom: 5, right: 300)
它看起來像這樣:
正如你可以看到標題已經一去不復返了。
UI層次結構,它看起來像這樣:
看來,按鈕已採取了所有的空格在導航欄中。
但是,對於按鈕沒有問題的系統項目:
是否有任何人誰知道這個問題的原因是什麼?我想我已經用完了想法。
你解決這個問題的? –