ios - 按钮标题在点击时被裁剪

标签 ios swift

我有一个下拉菜单,用户可以更改显示的数据。当用户选择选择一个项目时,按钮将被更新。

假设一开始按钮标题是“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 内部。

desc

最佳答案

更改标题后添加.sizeToFit():

func changeTitle(_ newTitle: String) -> Void {
    carsButton.setTitle(newTitle, for: .normal)
    carsButton.sizeToFit()
}

关于ios - 按钮标题在点击时被裁剪,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56292738/

相关文章:

ios - 为什么当我更改其背景图像时,按钮会返回到其原始位置?

ios - Swift Framework <-> ObjC 互操作

swift - 如何从另一个 Controller 运行此功能

ios - 返回类实例的 switch 语句

arrays - Swift 3 数组包含 vs 集合包含

ios - NSMutableAttributedString 的属性 NSStrikethroughStyleAttributeName 在 iOS8 中不能正常工作

ios - 动态生成按钮时应用程序移动缓慢

ios - AVAudioPlayer 'forgets' 由 MPRemoteCommand 触发时播放

android - 文字识别。使用tesseract识别里程表

Swift 4,仅使用 "input"实例变量子类化 CIFilter 崩溃