XCode / Swift无法更改文本标签位置

时间:2015-06-17 23:09:31

标签: ios xcode swift position label

我试图随机更改屏幕上标签的位置并且无法正常工作。但是,如果我打开一个新的xcode项目,这个相同的代码。另外,请注意我的代码底部的print语句。事实上,每次调用函数时都会打印一个不同的位置,但不会改变标签的位置。

func displayCurrGoal() {

    self.label.text = "heyyy"

    // Find the labels width and height
    let labelWidth = self.label.frame.width
    let labelHeight = self.label.frame.height

    // Find the width and height of the enclosing view
    let labelViewWidth = self.label.superview!.bounds.width
    let labelViewHeight = self.label.superview!.bounds.height

    // Compute width and height of the area to contain the labels center
    let labelXwidth = labelViewWidth - viewWidth
    let labelYheight = labelViewHeight - viewHeight

    // Generate a random x and y offset
    let viewXoffset = CGFloat(arc4random_uniform(UInt32(labelXwidth)))
    let viewYoffsset = CGFloat(arc4random_uniform(UInt32(labelYheight)))

    // Offset the labels center by the random offsets.
    self.label.center.x = viewXoffset + labelWidth / 2
    self.label.center.y = viewYoffset + labelHeight / 2


    //test if coordinate is changing every time func is called 
    println(self.label.center.y) }

另外,自动配置未启用。

2 个答案:

答案 0 :(得分:1)

这是正确的方法所以你必须使用cocoapods或其他东西。如果是这样,你使用的imageview可能是固定的,所以你需要尝试不同的东西......

答案 1 :(得分:0)

  • 您是否看到屏幕上显示的标签?
  • 你看到文字被改为“heyyy”吗?
  • label.constraints()返回什么?
  • 尝试将位置设置为硬编码

通常view.center.x = 100有效