【问题标题】:Fontsize of two labels on one line一行上两个标签的字体大小
【发布时间】:2020-06-23 21:56:11
【问题描述】:

所以我想要的是:我想在一行上有一个标签。第一个单词的字体大小应为 100,另一个单词的字体大小为 10。有人知道如何实现这一点吗? 当我调用下面的方法时,我会得到一个由具有完全相同属性的两个标签组成的字符串。

    public let speedLabel: UILabel = {
       let label = UILabel()
        label.translatesAutoresizingMaskIntoConstraints = false
        label.sizeToFit()
        label.font = UIFont(name: "Helvetica-Bold", size: 100)
        label.text = "0.0"
        label.textColor = UIColor.blue
        label.textAlignment = .left
        return label
    }()
    
    public let speedUnitLabel: UILabel = {
        let label = UILabel()
        label.translatesAutoresizingMaskIntoConstraints = false
        label.sizeToFit()
        label.font = UIFont(name: "Helvetica-Bold", size: 10)
        label.text = "km/h"
        label.textAlignment = .right
        label.textColor = UIColor.blue
        return label
    }()

这就是我设置这些标签的方式:

        func setupSpeedLabel() {
            SpeedContainerView.addSubview(speedLabel)
            speedLabel.centerXAnchor.constraint(equalTo: TopBackGroundView.centerXAnchor, constant: 0).isActive = true
            speedLabel.centerYAnchor.constraint(equalTo: SpeedContainerView.centerYAnchor, constant: 0).isActive = true
            speedLabel.isUserInteractionEnabled = false
            view.bringSubviewToFront(speedLabel)
        }
        func setupSpeedUnitLabel() {
            SpeedContainerView.addSubview(speedUnitLabel)
            speedUnitLabel.centerXAnchor.constraint(equalTo: speedLabel.leftAnchor, constant: 0).isActive = true
            speedUnitLabel.centerYAnchor.constraint(equalTo: SpeedContainerView.centerYAnchor, constant: 0).isActive = true
            speedUnitLabel.isUserInteractionEnabled = false
            view.bringSubviewToFront(speedUnitLabel)
        }

【问题讨论】:

    标签: ios swift xcode uikit


    【解决方案1】:

    试过代码和标签有不同的属性,所以问题可能与标签的父视图有关。

    我所做的是将 setupSpeedUnitLabel() 上的 speedUnitLabel.centerXAnchor.constraintspeedLabel.leftAnchor, constant: 0 更改为 speedLabel.rightAnchor, constant: 20(20 常量只是为了在文本之间留出一点空间)。

    结束了

    func setupSpeedUnitLabel() {

        SpeedContainerView.addSubview(speedUnitLabel)
        speedUnitLabel.centerXAnchor.constraint(equalTo: speedLabel.rightAnchor, constant: 20).isActive = true
        speedUnitLabel.centerYAnchor.constraint(equalTo: SpeedContainerView.centerYAnchor, constant: 0).isActive = true
        speedUnitLabel.isUserInteractionEnabled = false
        view.bringSubviewToFront(speedUnitLabel)
    }
    

    这是输出:

    enter image description here

    我假设是你想要达到的目标。

    确保 SpeedContainerView 及其父视图足够大以支持 100 字号。

    希望这会有所帮助。

    【讨论】:

      猜你喜欢
      • 2016-03-14
      • 1970-01-01
      • 2012-07-05
      • 1970-01-01
      • 2015-08-07
      • 2012-02-18
      • 2020-05-17
      • 2016-11-11
      • 1970-01-01
      相关资源
      最近更新 更多