我有一个下拉菜单,用户可以更改显示的数据。当用户选择选择一个项目时,按钮将被更新。
假设一开始按钮标题是“Cars”,选择另一个项目后它是“Example”,按钮显示如下:“E...le”。
如何调整按钮大小以适应其标题?
按钮代码:
func tableView(_ tableView: UITableView, didSelectRowAt indexPath: IndexPath) {
...
setButtonCars()
...
let tv: UITableViewController = self.children[0] as! HomeTableViewController
print(self.children[0])
tv.tableView.reloadData()
tv.viewWillAppear(true)
buttonDropdown(self)
tableView.deselectRow(at: indexPath, animated: true)
}
func setButtonCars() {
carsButton.setTitle(currentCar.uppercased(), for: .normal)
let icon = UIImage(named: "chevron")!
carsButton.setImage(icon, for: .normal)
carsButton.imageView?.contentMode = .scaleAspectFit
carsButton.imageEdgeInsets = UIEdgeInsets(top: 11, left: 3, bottom: 1, right: 0)
carsButton.transform = CGAffineTransform(scaleX: -1.0, y: 1.0)
carsButton.titleLabel?.transform = CGAffineTransform(scaleX: -1.0, y: 1.0)
carsButton.imageView?.transform = CGAffineTransform(scaleX: -1.0, y: 1.0)
}
编辑: 我忘了提及该按钮位于 UIBarButtonItem 内部。
最佳答案
更改标题后添加.sizeToFit()
:
func changeTitle(_ newTitle: String) -> Void {
carsButton.setTitle(newTitle, for: .normal)
carsButton.sizeToFit()
}
关于ios - 按钮标题在点击时被裁剪,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56292738/