自定义的导航栏按钮大小不正确

3

我有一个自定义应用程序,其中包含自定义的工具栏按钮项,在Swift 3中,它被适当地调整大小,但是更新到Swift 4后,它不再按照提供的约束进行调整大小。这是我的代码:

let infoButton = UIButton.init(type: .custom)
infoButton.setImage(UIImage(named: "info button white.png"), for: UIControlState.normal)
infoButton.addTarget(self, action: #selector(StartViewController.infoButtonPressed), for: UIControlEvents.touchUpInside)
infoButton.frame = CGRect(x: 0, y: 0, width: 25, height: 25)

let barButton = UIBarButtonItem(customView: infoButton)
self.navigationItem.rightBarButtonItem = barButton

我试着改变CGRect的数字来看是否有所改变,但实际上没有任何变化,它仍然按照导航栏的限制进行调整,而且现在看起来非常难看。

enter image description here 有关Swift 4有什么变化的想法吗? 我正在运行Xcode 9.0(9A235)


问题可能出在iOS 11上。我在另一部运行iOS 10.3.2(14F89)的手机上运行了该应用程序,信息按钮大小适当,但在我的第一台设备上运行iOS 11.0.1(15A402)时出现了问题。 - user1698875
1个回答

1

尝试设置如下约束条件:

infoButton.widthAnchor.constraint(equalToConstant: 25).isActive = true
infoButton.heightAnchor.constraint(equalToConstant: 25).isActive = true

或者使用正确大小的图片。

嗨@user1698875,如果这个或任何答案解决了你的问题,请考虑通过点击复选框接受它。这向更广泛的社区表明你已经找到了解决方案,并为回答者和你自己赢得了一些声誉。没有义务这样做。 - El Horrible

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