2015-02-06 18 views
10

iOS7 trở lên, chúng tôi có thể sử dụng - (void)drawWithRect:(CGRect)rect options:(NSStringDrawingOptions)options attributes:(NSDictionary *)attributes context:(NSStringDrawingContext *)context để tính kích thước chuỗi, nhưng tôi bị nhầm lẫn với các nhận xét trên NSStringDrawingOptions enum. nguồn gốcBối rối bởi mục NSStringDrawingOptions có nghĩa là

NSStringDrawingUsesLineFragmentOrigin

Có nghĩa là quy định là nguồn gốc dòng đoạn, không phải là đường cơ sở xuất xứ. Nhưng ý nghĩa của nguồn gốc dòng gốc và nguồn gốc đường cơ sở.

Cũng giống như WWDC 2013 phiên 220 (Text Layouts Advanced và Hiệu ứng với các dòng chữ Kit) PDF trên trang 95.

Nếu dòng đoạn gốc có nghĩa là dấu chấm màu xanh, những gì về nguồn gốc ban đầu?

Trả lời

9

From the official documentation

Thảo luận

Nếu NSStringDrawingUsesLineFragmentOrigin được quy định tại tùy chọn, nó kết thúc tốt đẹp các văn bản chuỗi khi cần thiết để làm cho nó phù hợp. Nếu chuỗi quá lớn để vừa vặn hoàn toàn bên trong hình chữ nhật, thì phương pháp chia tỷ lệ phông chữ hoặc điều chỉnh khoảng cách chữ cái để làm cho chuỗi phù hợp với trong giới hạn nhất định.

Nếu NSStringDrawingUsesLineFragmentOrigin không được chỉ định trong tùy chọn, nguồn gốc của hình chữ nhật là đường cơ sở của dòng duy nhất. Văn bản sẽ được hiển thị phía trên hình chữ nhật chứ không phải bên trong hình chữ nhật. Đối với ví dụ , nếu bạn chỉ định hình chữ nhật bắt đầu từ 0,0 và vẽ chuỗi ‘juxtaposed’, chỉ các hậu duệ của ‘j’ và ‘p’ mới được xem là . Phần còn lại của văn bản sẽ nằm ở cạnh trên cùng của hình chữ nhật.

Phương pháp này vẽ đường bằng cách sử dụng các thuộc tính được chỉ định trong chính chuỗi được phân bổ . Nếu các ký tự dòng mới xuất hiện trong chuỗi , các ký tự đó được tôn trọng và khiến văn bản tiếp theo là được đặt trên dòng tiếp theo bên dưới điểm xuất phát.

Cân nhắc đặc biệt Phương pháp này sử dụng nguồn gốc cơ bản theo mặc định, do đó, nó hiển thị chuỗi dưới dạng một dòng. Để hiển thị chuỗi trong nhiều dòng, hãy chỉ định NSStringDrawingUsesLineFragmentOrigin trong tùy chọn.

Các vấn đề liên quan