Tôi muốn vẽ một đường tùy biến bên trong một UITextView
gồm một số văn bản (sử dụng NSAttributedString
)Vẽ một đường bên trong một UITextView - NSAttributedString
Đây là những gì tôi đã cố gắng
NSString *unicodeStr = [NSString stringWithFormat:@"%C%C%C", 0x00A0, 0x0009, 0x00A0]; //nbsp, tab, nbsp
NSMutableAttributedString *str = [[NSMutableAttributedString alloc] initWithString:unicodeStr];
NSRange strRange = NSMakeRange(0, str.length);
NSMutableParagraphStyle *const tabStyle = [[NSMutableParagraphStyle alloc] init];
tabStyle.headIndent = 16; //padding on left and right edges
tabStyle.firstLineHeadIndent = 16;
tabStyle.tailIndent = -16;
NSTextTab *listTab = [[NSTextTab alloc] initWithTextAlignment:NSTextAlignmentCenter location:40 options:@{}]; //this is how long I want the line to be
tabStyle.tabStops = @[listTab];
[str addAttribute:NSParagraphStyleAttributeName value:tabStyle range:strRange];
[str addAttribute:NSStrikethroughStyleAttributeName value:[NSNumber numberWithInt:2] range:strRange];
Nhưng không có vấn đề gì giá trị tôi cung cấp cho các vị trí dừng tab (40 trong trường hợp này) và tailIndent (-16 ở đây), dòng chỉ tôn trọng headIndent và kéo dài toàn bộ chiều rộng UITextView (trừ headIndent tất nhiên).
EDIT - Tôi khá chắc chắn vấn đề là vì tôi không sử dụng các ký tự unicode chính xác (mặc dù chúng có vẻ là lựa chọn hợp lý). Trong trường hợp điều này đưa ra gợi ý cho ai đó, nếu tôi thêm dấu cách sau ngày thứ 2, nghĩa là tab được giới hạn ở một độ dài tab duy nhất
Bạn có thể cung cấp ví dụ về nội dung bạn muốn hiển thị không? –
Tôi đang cố triển khai thẻ hr (quy tắc ngang). Chúng không được NSAttributedString hỗ trợ khi chuyển đổi từ html – lostInTransit