如何在Swift 4中将背景图像放置到按钮栏上

3

我经常遇到这样的问题:无法将类型为UIImage?.Type的值转换为预期的参数类型'UIImage?'。

我使用了以下代码:

btn.setBackgroundImage(UIImage?: welcome.png ,for : UIControlState.normal, barMetrics: UIBarMetrics.default)

1
你为什么在建议与iOS有关的问题时使用macOS标签? - El Tomato
4个回答

3
尝试这个:

btn.setBackgroundImage(UIImage(named: "welcome") ,for : UIControlState.normal)

0

Obj-C:

UIButton *btn = [UIButton buttonWithType:UIButtonTypeCustom];
[btn setFrame:CGRectMake(0.0f, 0.0f, 25.0f, 40.0f)];
[btn addTarget:self action:@selector(buttonEN:) forControlEvents:UIControlEventTouchUpInside];
[btn setImage:[UIImage imageNamed:@"cys_lang_en.png"] forState:UIControlStateNormal];
UIBarButtonItem *eng_btn = [[UIBarButtonItem alloc] initWithCustomView:btn];
self.navigationItem.rightBarButtonItem = eng_btn;

Swift 4.0:

var btn = UIButton(type: .custom)
btn.frame = CGRect(x: 0.0, y: 0.0, width: 25.0, height: 40.0)
btn.addTarget(self, action: Selector("buttonEN:"), for: .touchUpInside)
btn.setImage(UIImage(named: "cys_lang_en.png"), for: .normal)
var eng_btn = UIBarButtonItem(customView: btn)
navigationItem?.rightBarButtonItem = eng_btn

0
btn.setBackgroundImage(UIImage(named: "welcome.png"), for: .normal, barMetrics: .default)

0

Swift 5.0

btn.setBackgroundImage(UIImage(named: "welcome"), for: .normal, barMetrics: .default)

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接