2017-08-03 93 views
2

我已经阅读了很多如何更改标签位置,但我不能这样做。 这里是我的简单的代码如何更改标签的位置

import UIKit 

class ViewController: UIViewController { 

    @IBOutlet weak var TEKST: UILabel! 
    @IBOutlet weak var klik: UIButton! 
    override func viewDidLoad() { 
     super.viewDidLoad() 
     view.backgroundColor = UIColor.green 
     // Do any additional setup after loading the view, typically from a nib. 
    } 

    @IBAction func kliksad(_ sender: UIButton) { 
     if (view.backgroundColor==UIColor.green){ 
      TEKST.isHidden = false 
      TEKST.text = "Hi" 
      view.backgroundColor = UIColor.red 
      TEKST.frame.size.width = view.frame.size.width 
     } else if(view.backgroundColor == UIColor.red) { 
      view.backgroundColor=UIColor.green 
      TEKST.textColor=UIColor.purple 
      TEKST.text = " Hello " 
      TEKST.frame.origin = CGPoint(x: 10, y: 50) 
      print(TEKST.frame) 
     } 
    } 
} 
+2

标签在故事板中是否有任何限制?如果是,则需要更改它们以移动标签。 – RomanN

+0

@RomanN我应该删除它们吗? –

+0

如果您有它们,只需更新约束的值即可移动标签: labelLeftConstraint.constant = 50 view.layoutIfNeeded() – RomanN

回答

0

检查我的工作

1)标签与约束

enter image description here

enter image description here

2)我的代码

labelToMove.frame.origin = CGPoint(x: 20, y: 20) 

[![在这里输入的形象描述] [3] [3]

3)导致

enter image description here

其次 这是您的按钮操作代码

if (view.backgroundColor==UIColor.green){ 
      TEKST.isHidden = false 
      TEKST.text = "Hi" 
      view.backgroundColor = UIColor.red 
      TEKST.frame.size.width = view.frame.size.width 
     } else if(view.backgroundColor == UIColor.red) { 
      view.backgroundColor=UIColor.green 
      TEKST.textColor=UIColor.purple 
      TEKST.text = " Hello " 
      TEKST.frame.origin = CGPoint(x: 10, y: 50) 
      print(TEKST.frame) 
     } 

你已初始化View.color为绿色在didLoad 然后在行动中,您检查颜色是否为绿色使其变为红色并使用else if语句,sec ond语句将不会在此处执行

@IBAction func MOveLabell(_ sender: Any) { 
     if (view.backgroundColor==UIColor.green){ 
      view.backgroundColor = UIColor.red 
     } 

     if(view.backgroundColor == UIColor.red) { 
      view.backgroundColor=UIColor.red 
      labelToMove.frame.origin = CGPoint(x: 20, y: 20) 
     } 

    }