2015-06-28 13 views
7

Tôi đang sử dụng UILabelUITextView và chúng hiển thị văn bản khác nhau. Dường như UITextView offsets văn bản bằng cách 4.Văn bản bù trừ UITextView khác với UILabel

Dưới đây là một ví dụ nơi ở phía trên là UILabel và dưới đây là UITextView. Cả hai đều sử dụng cùng một phông chữ. Hai ví dụ ở đây, một ví dụ có phông chữ tùy chỉnh OpenSans và một phông chữ có phông chữ HelveticaNeue của hệ thống.

UILabel đã được thay đổi kích cỡ sau khi cài đặt văn bản bằng cách sử dụng sizeThatFits:

label.text = text; 
    CGFloat width = 320 - 2 * 16; // both label and textView end up with 288 width 
    CGSize size = [label sizeThatFits:CGSizeMake(width, CGFLOAT_MAX)]; 
    CGRect frame = CGRectMake(16, 0, width, size.height); 
    label.frame = frame; 

UITextView. textContainerInset được đặt thành (0,0,0,0).

Bất kỳ trợ giúp nào? Dưới đây là ảnh chụp màn hình:

1,1 HelveticaNeue: TextView bù đắp -4 (nhãn trên đầu trang)
HelveticaNeue: offset -4

1,2 HelveticaNeue: liên kết (nhãn trên đầu trang)
HelveticaNeue - aligned

2.1 OpenSans: textXem tắt et -4 (nhãn trên đầu trang)
OpenSans - offset -4

2,2 OpenSans: liên kết (nhãn trên đầu trang)
OpenSans - aligned

Trả lời

7

này làm việc cho tôi và loại bỏ đệm bên trong:

textView.textContainer.lineFragmentPadding = 0; 
textView.textContainerInset = UIEdgeInsetsZero; 
+2

Cảm ơn, lineFragmentPadding là chìa khóa. – vale4674

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