Có thể stikethrough
a UILabel
không? Tôi dường như không thể tìm thấy tùy chọn ...UILabel Strikethrough
13
A
Trả lời
9
Đây là câu hỏi cũ và thông tin mới hơn có sẵn.
Bắt đầu từ iOS 6, chúng tôi có NSAttributedString.
Đối với iOS trước 6, tôi sẽ nhìn vào TTTAttributedLabel
3
iPhone không hỗ trợ chuỗi được phân bổ (thường là cách bạn làm điều này trong Cocoa), vì vậy tôi không tin điều đó là có thể.
Bạn có thể phân lớp UILabel
và tự vẽ strikethrough
. Tôi cũng đã thấy một số người sử dụng một số UIWebView
để làm điều này, nhưng điều đó có vẻ như quá mức với tôi.
3
Bạn có thể tạo một UILabel trên nhãn của bạn và sử dụng một dấu gạch ngang nhân vật en:
label.text = @"––––––––––––––––––";
Nên biết trước: làm việc với Helvetica (mặc định hệ thống). Nó có thể không hoạt động với các phông chữ khác.
1
UIView* slabel = [[UIView alloc] initWithFrame:CGRectMake(label.frame.origin.x, label.frame.origin.y+10, label.frame.size.width, 2)];
[self addSubview:slabel];
[slabel setBackgroundColor:label.textColor];
Bạn có thể thêm chế độ xem qua UILabel và tạo kiểu xem với thuộc tính nhãn.
1
NSAttributedString *str=[[NSMutableAttributedString alloc] initWithString:[NSString stringWithFormat:@"¥%.2f", productOne.priceBefore] attributes:@{NSStrikethroughStyleAttributeName:@(NSUnderlineStyleSingle)}];
cell.priceBefore.attributedText = str;
Cảm ơn, chút rác mặc dù! táo bạo của Apple! –
Khởi động iOS 6, nó hỗ trợ NSAttributedString. Xem bài đăng của tôi – Stephen