11/08/2018, 22:52

Getting to Know TextKit

Text Kit là 1 phần của framework UIKit, bao gồm tập hợp các class cho phép developer có thể quản lý text và các thuộc tính, cũng như hiển thị theo nhiều cách với nhiều method và mất ít công sức. Trước khi có Text Kit là 1 phần của UIKit và iOS7, advanced text manipulation rất khó để thực ...

Text Kit là 1 phần của framework UIKit, bao gồm tập hợp các class cho phép developer có thể quản lý text và các thuộc tính, cũng như hiển thị theo nhiều cách với nhiều method và mất ít công sức.

Introduction to text kit

Trước khi có Text Kit là 1 phần của UIKit và iOS7, advanced text manipulation rất khó để thực hiện. Thực tế thì để hiệu chỉnh 1 thông tin text, như là thông tin về layout thì phải làm việc với Core Text, 1 framework rất mạnh nhưng cũng rất khó đế làm việc. Ngoài ra chỉ có UIWebView mới có thể hiển thị các thông tin text đã nằm trong format. Ở iOS6 thì với thuộc tính strings, mọi thức đã có vẻ dễ dàng howng nhưng vẫn còn cần nhiều xử lý phức tạp để handle được UITextView.

TextRenderingArchitecture-iOS7

Text Kit bao gồm 3 class chính.

  • The Text Storage class (NSTextStorage)
  • The Layout Manager class (NSLayoutManager)
  • The Text Container class (NSTextContainer) The structure of all essential TextKit classes. Highlighted with a “New” badge are classes introduced in iOS 7

Đây là những nhiệm vụ mà mỗi class đảm nhận:

Class NSTextStorage chịu trách nhiệm lưu các cả các thông tin thược tính như thông tin về paragraph.  Thực tế thì với những người đã làm việc với attribute strings, NSTextStorage class là 1 class con của NSMutableAttributedString và đấy là lý do tại sao nó đam nhiệm việc quản lý text attributes.

Class NSLayoutManager quản lý tát các text data được lưu trong NSTextStorage để được hiển thị ra trong view.

Class NSTextContainter thì sẽ làm nhiệm vụ xác định nơi để hiển thị text ở view và handle nhưng thông tin lien quan đến view (frame or shape)

** Demo App Overview**

Trong phần tiếp thì link dưới đây sẽ hướng dẫn tạo 1 sample app để kiểm tra những tính năng đã được nói ở trên.

Cả view controller ở sau tab sẽ bao gồm 2 views.

  • UIToolbar chứa các bar button items để dung test các hoạt động của Text Kit
  • UITextView với sample text để test. Cụ thể hơn, trong view controller thứ 1, chúng ta thực thi cả 2 tính năng Dynamic Type và Exclusion Paths. Tất cả những bar button items của toolbar, trừ cái cuối cùng, được sử dụng để thay đổi text style của text view.

Bar button items cuối cùng đc sử dụng để add or remove 1 ảnh (UIImageView) vào view.

Về view controller thứ 2, đấy là mini RTF editor.

  • Bold and Italic
  • Underline
  • Color change (red and black)
  • Paragraph alignment (left, center, right) Tham khảo link dưới đây để biết thêm thông tin cụ thể hơn về cách tạo app demo.

http://www.appcoda.com/intro-text-kit-ios-programming-guide/

tài liệu tham khảo :

  1. https://developer.apple.com/library/ios/documentation/StringsTextFonts/Conceptual/TextAndWebiPhoneOS/CustomTextProcessing/CustomTextProcessing.html
  2. http://www.appcoda.com/intro-text-kit-ios-programming-guide/
  3. http://www.raywenderlich.com/50151/text-kit-tutorial
  4. http://www.objc.io/issue-5/getting-to-know-textkit.html
0