Computer >> Máy Tính >  >> Lập trình >> IOS

Làm cách nào để tạo nhiều kiểu bên trong một TextView trên Ứng dụng iOS?

Để tạo nhiều kiểu bên trong một textview, chúng ta cần sử dụng chuỗi phân bổ. Chế độ xem văn bản trong ios có một thuộc tính doText có thể được sử dụng để tạo kiểu cho văn bản bên trong chế độ xem văn bản. Chúng tôi sẽ thấy điều này với sự trợ giúp của một ví dụ.

Đầu tiên, chúng tôi sẽ tạo một thuộc tính

let attributeOne : [NSAttributedString.Key : Any] = [NSAttributedString.Key(rawValue: NSAttributedString.Key.font.rawValue) : UIFont.systemFont(ofSize: 16.0), NSAttributedString.Key(rawValue: NSAttributedString.Key.foregroundColor.rawValue) : UIColor.blue]

Sau đó, chúng tôi sẽ tạo một chuỗi phân bổ với thuộc tính chúng tôi đã tạo

let string = NSAttributedString(string: "Text for first Attribute", attributes: attributeOne)

Tương tự, chúng tôi sẽ tạo một chuỗi khác với thuộc tính khác. Sau đó, chúng tôi sẽ khởi tạo văn bản của textView bằng chuỗi phân bổ.

Bây giờ toàn bộ mã sẽ giống như hình dưới đây.

let tx = UITextView()
   tx.isScrollEnabled = true
   tx.isUserInteractionEnabled = true
   tx.frame = CGRect(x: 10, y: 25, width: self.view.frame.width, height: 100)
   let attributeOne : [NSAttributedString.Key : Any] = [NSAttributedString.Key(rawValue: NSAttributedString.Key.font.rawValue) : UIFont.systemFont(ofSize: 16.0), NSAttributedString.Key(rawValue: NSAttributedString.Key.foregroundColor.rawValue) : UIColor.blue]
   let attributeTwo : [NSAttributedString.Key : Any] = [NSAttributedString.Key(rawValue: NSAttributedString.Key.font.rawValue) : UIFont.systemFont(ofSize: 20.0), NSAttributedString.Key(rawValue: NSAttributedString.Key.foregroundColor.rawValue) : UIColor.red]
   let string = NSAttributedString(string: "Text for first Attribute", attributes: attributeOne)
   let string2 = NSAttributedString(string: "Text for first Attribute", attributes: attributeTwo)
   let finalAttributedString = NSMutableAttributedString()
   finalAttributedString.append(string)
   finalAttributedString.append(string2)
   tx.attributedText = finalAttributedString
   self.view.addSubview(tx)

Khi chúng tôi viết mã này trong ứng dụng của mình, trong viewDidLoad hoặc viewWillAppear, điều này sẽ tạo ra textView như được hiển thị bên dưới.

Làm cách nào để tạo nhiều kiểu bên trong một TextView trên Ứng dụng iOS?