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

There was a method

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

which I must replace now for iOS 7. I get as far as

  • Memory related issue of ZBarReaderViewController in iOS 7
  • Push Notification delegate call backs are not getting called
  • codesign_allocate: error: unable to find utility “codesign_allocate”, not a developer tool or in PATH
  • Swift 3 : tableView duplicating loaded images from Firebase
  • Swift accessing and updating tableview in container view
  • Set height UILabel to 0
  • NSDictionary *attributes = @{NSFontAttributeName: font};
    [self drawInRect:rect withAttributes:attributes];
    

    but how to specify the line break mode like word wrap? I searched documentation of Attributed string drawing symbols but no mention of line break mode. Is this automartically always word-wrap?

    2 Solutions Collect From Internet About “What is the equivalent of NSLineBreakMode in iOS 7 attributed strings drawing methods?”

    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

    In swift:

    let style = NSMutableParagraphStyle()
    style.lineBreakMode = .ByWordWrapping
    
    let attributes: [String: AnyObject] = [
       NSFontAttributeName: font,
       NSParagraphStyleAttributeName: style
    ]