UILabel 文字標籤


宣告資料

var label = UILabel() 
let WIDTH = UIScreen.main.bounds.size.width

viewDidLoad

  • 背景顏色
    view.backgroundColor = .lightGray
    
  • UILabel
        // frame
        /*label = UILabel(frame: CGRect(x: 50,
                                        y: 50,
                                        width: 100,
                                        height: 50))*/
        // 大小
        label.frame.size = CGSize(width: 150,
                                  height: 50)
        // 座標
        /*label.frame.origin = CGPoint(x: 50,
                                       y: 50)*/
        // 中心點
        label.center = CGPoint(x: WIDTH / 2, 
                               y: 75)
        // 文字, 加入"\n", 使文字跳行
        label.text = "test  1\ntest  2"
        // 顏色
        label.textColor = .black
        // 系統預設字體
        label.font = UIFont.systemFont(ofSize: 15)
        /* 
        UIFont
         .systemFont           預設
         .boldSystemFont       粗體
         .italicSystemFont     斜體, 英文適用
         */
        // 自訂字體
        /*label.font = UIFont(name: "Helvetica-Light",
                              size: 15)*/
        // 行數, 值為0, 在範圍內可顯示多行代碼
        label.numberOfLines = 0
        // 對齊
        label.textAlignment = .center
        /*
        NSTextAlignment
         .left        向左對齊
         .center      置中
         .right       向右對齊
         .fill        填滿
         */
        // 過濾
        label.lineBreakMode = .byTruncatingTail
        /*
        NSLineBreakMode
         .byTruncatingTail      隱藏尾部並顯示省略符號
         .byTruncatingMiddle    隱藏中間並顯示省略符號
         .byTruncatingHead      隱藏開頭並顯示省略符號
         .byClipping            截去多餘部分  
         .byWordWrapping        保留所有單字
         .byCharWrapping        保留所有單字, 如果換行則消失
         */
        // 內容自適應標籤大小
        label.adjustsFontSizeToFitWidth = true
        // 背景顏色
        label.backgroundColor = .white
        // 陰影顏色
        //label.shadowColor = .black
        // 陰影擴散範圍
        /*label.shadowOffset = CGSize(width: 1,
                                      height: 1)*/
        // 標籤傾斜
        //label.transform = CGAffineTransform(rotationAngle: 0.2)
        // 圓角
        label.layer.cornerRadius = 10
        // 渲染, 設置為true 展示圓角效果
        label.layer.masksToBounds = true
        // 邊寬寬度
        label.layer.borderWidth = 2
        // 邊寬顏色
        label.layer.borderColor = UIColor.black.cgColor
        // 互動
        label.isUserInteractionEnabled = true
        // 觸發條件
        let tap = UITapGestureRecognizer(target: self,
                                         action: #selector(labelpressed))
        // 加入觸發條件
        label.addGestureRecognizer(tap)
    view.addSubview(label)
    

建立提示框動作

func labelpressed(_ recognizer: UITapGestureRecognizer) {
    let alert = UIAlertController(title: "點選",
                                  message: "",
                                  preferredStyle: .alert)
    let cancel = UIAlertAction(title: "取消",
                               style: .destructive,
                               handler: nil)
    alert.addAction(cancel)
    present(alert, 
            animated: true, 
            completion: nil)
}

results matching ""

    No results matching ""