Tạo một lớp con của UILabel gọi nó KerningLabel có nó được bao gồm các đoạn mã sau:
import UIKit
@IBDesignable
class KerningLabel: UILabel {
@IBInspectable var kerning: CGFloat = 0.0 {
didSet {
if attributedText?.length == nil { return }
let attrStr = NSMutableAttributedString(attributedString: attributedText!)
let range = NSMakeRange(0, attributedText!.length)
attrStr.addAttributes([NSAttributedStringKey.kern: kerning], range: range)
attributedText = attrStr
}
}
}
Kéo nhãn ra. Thay đổi nó thành lớp con UILabel của bạn. Điều chỉnh kerning như mong muốn.
Trong obj-c:
.h
IB_DESIGNABLE
@interface KerningLabel : UILabel
@property (nonatomic) IBInspectable CGFloat kerning;
@end
.m
@implementation KerningLabel
- (void)setKerning:(CGFloat)kerning
{
_kerning = kerning;
if(self.attributedText)
{
NSMutableAttributedString *attribString = [[NSMutableAttributedString alloc]initWithAttributedString:self.attributedText];
[attribString addAttribute:NSKernAttributeName value:@(kerning) range:NSMakeRange(0, self.attributedText.length)];
self.attributedText = attribString;
}
}
@end
Bạn đã bao giờ tìm thấy một cách? Điều đó có vẻ dễ thấy khi vắng mặt. – Dov
@Dov nope ... thực sự! – brandonscript