2017-06-12 233 views
0

我想在Swift中使数组定义标签,但是当我尝试这样做并且运行该应用程序时,它们只是不显示。我的视图控制器代码就在这里:进口UIKit的Swift:标签没有显示

class SmallPainViewController: UIViewController { 

    var tips = ["Play your favorite videogame", "Watch a movie", "Watch YouTube"] 

    override func viewDidLoad() { 
     super.viewDidLoad() 
     // Do any additional setup after loading the view, typically from a nib. 
     for (i, tip) in tips.enumerate() { 
      let tipLabel = UILabel(frame: CGRectMake(CGFloat(i*50+150), 0, 30, 30)) 
      tipLabel.center = CGPointMake(CGFloat(i*50+150), 0) 
      tipLabel.text = tip 
      tipLabel.textAlignment = NSTextAlignment.Center 
      self.view.addSubview(tipLabel) 
     } 
    } 

    override func didReceiveMemoryWarning() { 
     super.didReceiveMemoryWarning() 
     // Dispose of any resources that can be recreated. 
    } 

} 
+1

'tipLabel.center = CGPointMake(CGFloat的(我* 50 + 150),0)',为什么?你没有足够的设置框架?此外,你的意思是'tipLabel.center = CGPointMake(CGFloat(i * 50 + 150),15)' – Larme

回答

1

尝试使用:

var tips = ["Play your favorite videogame", "Watch a movie", "Watch YouTube"] 

override func viewDidLoad() { 
    super.viewDidLoad() 
    // Do any additional setup after loading the view, typically from a nib. 
    for (i, tip) in tips.enumerated() { 
     let tipLabel = UILabel(frame: CGRect(x: (i*50+150), y: 150, width: 30, height: 30))//CGRect(CGFloat(i*50+150), 0, 30, 30) 
     tipLabel.center = CGPoint(x: (i*50+150), y: 150) //CGPoint(CGFloat(i*50+150), 0) 
     tipLabel.text = tip 
     tipLabel.textAlignment = NSTextAlignment.center 
     self.view.addSubview(tipLabel) 
    } 
} 

我认为你正在使用SWIFT 2.0

+0

我实际上使用2.1 – salipshitz

+0

上面的代码与Swift 3.1完美配合 – agscastaneda

+0

我不得不稍微修改它以去我的Swift版本 – salipshitz