What is the equivalent of NSLineBreakMode in iOS 7 attributed strings drawing methods?

前端 未结 2 2059
说谎
说谎 2020-12-29 03:56

There was a method

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


        
相关标签:
2条回答
  • 2020-12-29 04:50

    In Swift 5:

    let style = NSMutableParagraphStyle()
    style.lineBreakMode = .byWordWrapping
    
    let attributes: [NSAttributedString.Key: Any] = [
       .font: font,
       .paragraphStyle: style
    ]
    
    0 讨论(0)
  • 2020-12-29 04:56

    You need to create a paragraph style.

    NSMutableParagraphStyle *style = [[NSParagraphStyle defaultParagraphStyle] mutableCopy];
    [style setLineBreakMode:NSLineBreakByWordWrapping];
    
    NSDictionary *attributes = @{NSFontAttributeName: font, NSParagraphStyleAttributeName: style};
    [self drawInRect:rect withAttributes:attributes];
    

    More information here: https://developer.apple.com/documentation/uikit/nsparagraphstyle?language=objc

    0 讨论(0)
提交回复
热议问题