на самом деле я не знаю, как правильно сделать изображение внутри навигационной панели, например, с помощью контроллера навигации или с помощью собственного представления самостоятельно
Мне нужно вставить эти 2 изображения в качестве кнопки панели и заголовка изображения
, поэтому я попытался использовать навигационный контроллери вставьте изображение в viewDidLoad
, как показано ниже:
import UIKit
class ViewController: UIViewController {
override func viewDidLoad() {
super.viewDidLoad()
// insert image title
let aspectRatio : CGFloat = 0.25
let widthOfImageHeader = view.frame.width * 0.5
let heightOfImageHeader = widthOfImageHeader * aspectRatio
let imageView = UIImageView(frame: CGRect(x: 0, y: 0, width: widthOfImageHeader, height: heightOfImageHeader))
imageView.contentMode = .scaleAspectFit
let image = UIImage(named: "testImage2")
imageView.image = image
navigationItem.titleView = imageView
// set bar button image
//create a new button
let button = UIButton(type: .custom)
//set image for button
button.setImage(UIImage(named: "hamburgerIcon"), for: .normal)
//set frame
button.frame = CGRect(x: 0, y: 0, width: 53, height: 51)
let barButton = UIBarButtonItem(customView: button)
//assign button to navigationbar
self.navigationItem.leftBarButtonItem = barButton
}
}
, но результат будет похож на изображение ниже:
положение изображенияназвание не точно в центре для iPhone 5s, а кнопка панели кажется немного неактивной справа.
, и если я назначу кнопку правой панели изображения, используя
/
/create a left button
let button = UIButton(type: .custom)
//set image for button
button.setImage(UIImage(named: "hamburgerIcon"), for: .normal)
//set frame
button.frame = CGRect(x: 0, y: 0, width: 53, height: 51)
let barButton = UIBarButtonItem(customView: button)
//assign button to navigationbar
self.navigationItem.leftBarButtonItem = barButton
//create a right button
let button2 = UIButton(type: .custom)
//set image for button
button2.setImage(UIImage(named: "backButton"), for: .normal)
//set frame
button2.frame = CGRect(x: 0, y: 0, width: 53, height: 51)
let barRightButton = UIBarButtonItem(customView: button)
//assign button to navigationbar
self.navigationItem.rightBarButtonItem = barRightButton
, результатеще страннее
одна из кнопок исчезает, значок гамбургера должен быть слева, теперь справа
будет гораздо проще, если я использую пользовательский вид, но ... странно ли, если я использую пользовательский вид, который использует как панель навигации?Я новичок в iOS Developer.Заранее спасибо