代码之家  ›  专栏  ›  技术社区  ›  Bruno Vavretchek

添加带有图像的uinavigationbar按钮时出错

  •  0
  • Bruno Vavretchek  · 技术社区  · 7 年前

    super.viewdidload()。 //汉堡菜单 //button.addTarget(target,action:nil,for:.touchupinside) self.navigationitem.leftbarbuttonitems=[barbuttonitem].但是,按钮移动到中心而不是保持在左侧,图像也会变大。你们能帮我吗?

    Hamburguer Icon

      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]
    
    1 回复  |  直到 7 年前
        1
  •  0
  •   Sahdevsinh Chavda    7 年前

        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
    

    我用35 x 35作为2倍图像,用53 x 53作为3倍图像。