小编Jor*_*ios的帖子

为什么带有图像的按钮会使titleLable文本被切断?

我在下面有这个代码,它在代码中创建一个按钮,并将按钮置于其超级视图的中间:

let cameraButton: UIButton = {
        let button = UIButton()
        button.setImage(UIImage(named: "cam"), for: .normal)
        button.setTitle("Take Pic", for: .normal)
        button.setTitleColor(UIColor.black, for: .normal)
        button.translatesAutoresizingMaskIntoConstraints = false
        button.titleEdgeInsets = UIEdgeInsets(top: 0, left: 8, bottom: 0, right: 0)
        return button
}()

override func viewWillLayoutSubviews() {
        super.viewWillLayoutSubviews()
        view.addSubview(cameraButton)
        cameraButton.centerYAnchor.constraint(equalTo: view.centerYAnchor).isActive = true
        cameraButton.centerXAnchor.constraint(equalTo: view.centerXAnchor).isActive = true
}
Run Code Online (Sandbox Code Playgroud)

一切正常(因为按钮位于视图中心的中心)但titleLabel文本由于某种原因被切断(如下图所示):

在此输入图像描述

我认为按钮具有固有的宽度和高度,那么为什么titleLabel会被切断呢?宽度是否应该根据其内部(imageView以及标签)扩展?有人可以建议我解决这个问题的方法吗?

ios autolayout swift

1
推荐指数
1
解决办法
490
查看次数

标签 统计

autolayout ×1

ios ×1

swift ×1