如何方面适合酒吧button图像

我想在导航栏button中添加图像。

这是我想要设置的图像:

在这里输入图像说明

我通过拖动bar buttonMain.storyboard来设置它。 然后我这样设置:

 @IBOutlet var addNewNoteButton: UIBarButtonItem! ... let featherImageView = UIImageView() featherImageView.contentMode = UIViewContentMode.ScaleAspectFit featherImageView.image = UIImage(named: "feather")?.imageWithRenderingMode(.AlwaysOriginal) addNewNoteButton.image = featherImageView.image 

但是它不能很好地展示图像:

在这里输入图像说明

我也看到某个地方,但他们只做创build一个button,然后将此button分配给导航栏button。

任何帮助,将不胜感激。

您可以为此创build一个自定义button。 在viewDidLoad方法中使用下面的代码。

 //create a new button let button: UIButton = UIButton(type: .Custom) //set image for button button.setImage(UIImage(named: "T018d.png"), forState: UIControlState.Normal) //set frame button.frame = CGRectMake(0, 0, 53, 31) let barButton = UIBarButtonItem(customView: button) //assign button to navigationbar self.navigationItem.rightBarButtonItem = barButton 

结果将是:

在这里输入图像说明

如果你想把它放在左边,那就更换这条线

 self.navigationItem.rightBarButtonItem = barButton 

 self.navigationItem.leftBarButtonItem = barButton 

尝试

 let addNewNoteButtonImage = UIImage(named: "feather")?.imageWithRenderingMode(.AlwaysOriginal) addNewNoteButton.image = addNewNoteButtonImage addNewNoteButton.contentMode = UIViewContentMode.ScaleAspectFit 

如果你想在UIButton中设置UIImage的内容模式,你必须通过以下方式访问buttonimageView:

 button(UIImage(named: "feather"), forState: .Normal) button?.contentMode = .ScaleAspectFit