【问题标题】:Place Label under each point from spaceBetweenPoints在 spaceBetweenPoints 的每个点下放置标签
【发布时间】:2014-11-28 10:44:44
【问题描述】:

我正在使用自定义 UIView 来创建此控件,该控件具有 4 个热点,点之间的空间相同。我正在尝试为点下的标签创建标签,似乎第一个标签正确对齐,但我似乎无法弄清楚为什么它们都不正确?

在这里您可以看到每个点之间的空间以及这些点上的半径。

customSlider?.spaceBetweenPoints = 95
customSlider?.radiusPoint = 5

现在的插图:

    customSlider?.frame = CGRectMake((self.frame.width-335)/2, 20, 335, 34)

    for var i = 0;i<4;i++
    {
        var xPointSpace = 95
        var xPos = xPointSpace * i
        var xSpace = (self.frame.width-335)/2
        var xWidth = Int(xSpace) + xPos
        var xFloat = CGFloat(xWidth)


        var textLabel:UILabel = UILabel(frame: CGRectMake(xFloat, 34, 30, 21))
        textLabel.text = "lol"
        textLabel.backgroundColor = UIColor.redColor()
        textLabel.textAlignment = NSTextAlignment.Center
        textLabel.font = UIFont(name: "HelveticaNeue", size: 12)
        self.addSubview(textLabel)

    }

添加标签:

【问题讨论】:

  • 也许通过在xPos 处添加i*5,似乎你的radiusPoint 搞砸了。
  • 好的,我已经添加了,但它仍然错过了距离。你知道为什么吗?

标签: ios swift uiview uilabel


【解决方案1】:

customSlider?.frame = CGRectMake((self.frame.width-335)/2, 20, 335, 34)

for var i = 0;i<4;i++
{
    var xPointSpace = 95
    var radiusPoint = 5
    var xPos = (xPointSpace + radiusPoint * 2)* i 
    var xSpace = customSlider?.frame.origin.x
    var xWidth = xSpace + xPos
    var xFloat = CGFloat(xWidth)


    var textLabel:UILabel = UILabel(frame: CGRectMake(xFloat, 34, 30, 21))
    textLabel.text = "lol"
    textLabel.backgroundColor = UIColor.redColor()
    textLabel.textAlignment = NSTextAlignment.Center
    textLabel.font = UIFont(name: "HelveticaNeue", size: 12)
    self.addSubview(textLabel)

}

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-07-22
    • 2014-11-19
    • 1970-01-01
    • 2011-11-28
    相关资源
    最近更新 更多