首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >如何使用Swift以编程方式创建UILabel?

如何使用Swift以编程方式创建UILabel?
EN

Stack Overflow用户
提问于 2014-06-06 20:21:12
回答 12查看 234.6K关注 0票数 124

如何在Xcode6中使用Swift以编程方式创建UILabel

我已经在Xcode6中开始了一个新的“单视图应用程序”,并为这个项目选择了Swift。我有我的文件AppDelegate.swiftViewController.swift,但我不确定从这里该做什么。

EN

回答 12

Stack Overflow用户

回答已采纳

发布于 2014-06-06 20:29:17

在Swift 3+中以编程方式创建UILabel:

代码语言:javascript
复制
override func viewDidLoad() {
    super.viewDidLoad()

    let label = UILabel(frame: CGRect(x: 0, y: 0, width: 200, height: 21))
    label.center = CGPoint(x: 160, y: 285)
    label.textAlignment = .center
    label.text = "I'm a test label"

    self.view.addSubview(label)
}
票数 271
EN

Stack Overflow用户

发布于 2016-08-29 10:28:13

以下是Swift 3的正确代码,以及用于教学目的的注释:

代码语言:javascript
复制
override func viewDidLoad()
{
    super.viewDidLoad()

    // CGRectMake has been deprecated - and should be let, not var
    let label = UILabel(frame: CGRect(x: 0, y: 0, width: 200, height: 21))

    // you will probably want to set the font (remember to use Dynamic Type!)
    label.font = UIFont.preferredFont(forTextStyle: .footnote)

    // and set the text color too - remember good contrast
    label.textColor = .black

    // may not be necessary (e.g., if the width & height match the superview)
    // if you do need to center, CGPointMake has been deprecated, so use this
    label.center = CGPoint(x: 160, y: 284)

    // this changed in Swift 3 (much better, no?)
    label.textAlignment = .center

    label.text = "I am a test label"

    self.view.addSubview(label)
}
票数 28
EN

Stack Overflow用户

发布于 2017-10-04 11:39:21

只是为了在已经很棒的答案上添加,你可能想要在你的项目中添加多个标签,所以做所有这些(设置大小,样式等)将是一种痛苦。要解决这个问题,您可以创建一个单独的UILabel类。

代码语言:javascript
复制
  import UIKit

  class MyLabel: UILabel {

    required init?(coder aDecoder: NSCoder) {
        super.init(coder: aDecoder)
        initializeLabel()
    }

    override init(frame: CGRect) {
        super.init(frame: frame)
        initializeLabel()
    }

    func initializeLabel() {

        self.textAlignment = .left
        self.font = UIFont(name: "Halvetica", size: 17)
        self.textColor = UIColor.white

    }

}

要使用它,请执行以下操作

代码语言:javascript
复制
import UIKit

class ViewController: UIViewController {

     var myLabel: MyLabel()

     override func viewDidLoad() {
          super.viewDidLoad()

          myLabel = MyLabel(frame: CGRect(x: self.view.frame.size.width / 2, y: self.view.frame.size.height / 2, width: 100, height: 20))
          self.view.addSubView(myLabel)
     }


}
票数 15
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/24081731

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档