1. 程式人生 > >IOS控制元件-UILabel的使用 及字型樣式自定義

IOS控制元件-UILabel的使用 及字型樣式自定義

Label的簡單使用

//建立一個label標籤  並給它一個顯示區域
        let label=UILabel(frame: CGRect(x: 10, y: 100, width: 300 , height: 150  ));
        //設定顯示內容 字型 顏色
        label.text="顯示的內容顯示的內容顯示的內容顯示的內容顯示的內容顯示的內容顯示的內容顯示的內容顯示的內容顯示的內容顯示的內容顯示的內容顯示的內容顯示的內容顯示的內容顯示的內容顯示的內容顯示的內容顯示的內容顯示的內容"
        label.font=UIFont(name: "Arial", size: 24 );
        label.textColor=UIColor.red;
        //設定居中
        label.textAlignment=NSTextAlignment.center
        //設定背景
        label.backgroundColor=UIColor.brown
        //設定陰影
        label.shadowOffset=CGSize(width: 2, height: 2)
        label.shadowColor=UIColor.lightGray
        //設定標籤文字的換行方式為 一空格為界,保留整個單詞
        label.lineBreakMode=NSLineBreakMode.byWordWrapping
        //設定標籤物件不限制行數
        label.numberOfLines=0;
        self.view.addSubview(label)

字型樣式自定義

新建一個MyLabel

//自定義Label的字型樣式
class MyLabel: UILabel {
    override func draw(_ rect: CGRect) {
        //重寫父類的繪圖方法。自定義樣式
        //獲取上下文
        let context=UIGraphicsGetCurrentContext();
        //設定文字渲染為描邊模式
        context?.setTextDrawingMode(CGTextDrawingMode.stroke)
        //設定秒變寬度為2
        context?.setLineWidth(2)
        //  設定描邊的頂點連線方式為圓角方式
        context?.setLineJoin(CGLineJoin.round);
        //設定描邊顏色為白色
        self.textColor=UIColor.white
        //將文字的描邊資訊繪製在制定位置上
        super.drawText(in: rect)
        //設定在上下文中,文字渲染模式為填充
        context?.setTextDrawingMode(CGTextDrawingMode.fill);
        self.textColor=UIColor.black
        super.drawText(in: rect)
        
        //以空格為界。 並保留正個單詞  換行  設定標籤物件不限制行數
        
    }
}

在檢視中使用

let myLabel = MyLabel();
        myLabel.frame=(CGRect(x: 10, y: 300, width: 300, height: 120   ))
        myLabel.text="自定義label"
        myLabel.textAlignment=NSTextAlignment.center;
        myLabel.font=UIFont(name: "Georgia",size: 30);
        myLabel.backgroundColor=UIColor.purple
        self.view.addSubview(myLabel)