Showing posts with label Label. Show all posts
Showing posts with label Label. Show all posts

Wednesday, October 4, 2017

Label có thể ấn được

Bạn muốn tạo một label có thể ấn được, hãy thêm dòng sau
la.userInteractionEnabled=true
Ta sẽ tạo một lable mà khi ấn nó mở ra màn hình mới.
Khai báo label
var la: UILabel!
Định vị, set chữ, tô màu, nhét vào view
la = UILabel(frame: CGRect(x: 100, y: 30, width: 280, height: 25))
la.text = "Chạm để mở class mới"
la.textColor = UIColor.orangeColor()
la.userInteractionEnabled=true
view.addSubview(la)
Sau đó tạo hàm để khi chạm sẽ bật ra class mới, copy xuống trên ngoặc đóng cuối cùng.
func tap (g:UIGestureRecognizer) {
let vc = second()
self.presentViewController(vc, animated: true, completion: nil)
    }
Thêm dòng sau vào trong viewDidLoad là được.
let t = UITapGestureRecognizer(target:self, action:#selector(ViewController.tap(_:)))
la.addGestureRecognizer(t)



Căn chỉnh chữ trong Label Swift

Label dùng để hiển thị chữ trong Swift.
Để set chữ ra label, ta dùng lệnh
la.text = “Đây là chữ ví dụ”
Để tô màu chữ, ta dùng lệnh
la.textColor = UIColor.blueColor()
Để thay đổi font chữ, màu chữ, cỡ chữ ta dùng lệnh
let t="Chữ cần set"
let at=NSMutableAttributedString(string: t , attributes: [NSForegroundColorAttributeName: UIColor.blueColor(), NSFontAttributeName: UIFont(name: "Arial", size: 15.0)!])
 la.attributedText(at, forState: .Normal)
Để làm chữ đậm ta dùng lệnh
la.font = UIFont.boldSystemFontOfSize(17)
Để làm chữ nghiêng ta dùng lệnh
la.font = UIFont.italicSystemFontOfSize(17)
Để căn chỉnh chữ vào giữa label, ta dùng lệnh
la.textAlignment = NSTextAlignment.Center
Để label có độ cao tự động đủ để hiển thị chữ nhiều dòng, ta dùng
la.sizeToFit()
Để tạo viền, đổ màu cho viền, ta dùng lệnh
la.layer.borderColor = hex("#6699cc").CGColor
la.layer.borderWidth = 1

Hàm hex để dùng mã hex code bạn xem ở đây.

Cho view vào giữa

Để cho chữ trong label vào giữa màn hình, ta dùng lệnh sau:
la.textAlignment = NSTextAlignment.Center
Cách này chữ đã vào giữa nhưng label vẫn chưa vào giữa mà hình.
Để cho label vào giữa màn hình, ta có thể dùng lệnh sau
ima.center = CGPoint(x: view.center.x, y:250)
Tuy nhiên cách này đôi khi chỉ số y không đúng như ta set.
Có một cách khác, ta lấy chiều rộng màn hình bằng lệnh sau
let r = UIScreen.mainScreen().bounds.size.width
Giả sử label của ta rộng 240, hãy tạo một biến tên le để canh lề cho Label
let le = (Int(r) - 240)/2
Sau đó dùng lệnh sau để set vị trí của nó
la = UILabel(frame: CGRect(x: le, y: 60, width: 240, height: 25))
Lúc này label đã vào đúng giữa màn hình.
Cách này có thể dùng cho mọi view, ta chỉ cần biết chiều rộng của nó là được.