2013-10-05 19 views
25

Có một phương phápTương đương với NSLineBreakMode trong iOS 7 là gì?

- (CGSize)drawInRect:(CGRect)rect withFont:(UIFont *)font lineBreakMode:(NSLineBreakMode)lineBreakMode alignment:(NSTextAlignment)alignment; 

mà tôi phải thay thế ngay bây giờ cho iOS 7. Tôi có được như xa như

NSDictionary *attributes = @{NSFontAttributeName: font}; 
[self drawInRect:rect withAttributes:attributes]; 

nhưng làm thế nào để xác định dòng chế độ nghỉ ngơi như lời quấn? Tôi đã tìm kiếm tài liệu về các biểu tượng vẽ chuỗi được phân bổ nhưng không đề cập đến chế độ ngắt dòng. Đây có phải là tự động luôn quấn từ không?

Trả lời

49

Bạn cần tạo kiểu đoạn văn.

NSMutableParagraphStyle *style = [[NSParagraphStyle defaultParagraphStyle] mutableCopy]; 
[style setLineBreakMode:NSLineBreakByWordWrapping]; 

NSDictionary *attributes = @{NSFontAttributeName: font, NSParagraphStyleAttributeName: style}; 
[self drawInRect:rect withAttributes:attributes]; 

biết thêm thông tin ở đây: https://developer.apple.com/documentation/uikit/nsparagraphstyle?language=objc

+0

Tôi nghĩ bạn cũng có thể sử dụng '[[NSMutableParagraphStyle alloc] init]' thay vì bản sao có thể thay đổi. –

6

Trong nhanh chóng:

let style = NSMutableParagraphStyle() 
style.lineBreakMode = .ByWordWrapping 

let attributes: [String: AnyObject] = [ 
    NSFontAttributeName: font, 
    NSParagraphStyleAttributeName: style 
] 
Các vấn đề liên quan