Swiftgram/submodules/AsyncDisplayKit/Source/Details/NSMutableAttributedString+TextKitAdditions.mm
Peter 9bc996374f Add 'submodules/AsyncDisplayKit/' from commit '02bedc12816e251ad71777f9d2578329b6d2bef6'
git-subtree-dir: submodules/AsyncDisplayKit
git-subtree-mainline: d06f423e0ed3df1fed9bd10d79ee312a9179b632
git-subtree-split: 02bedc12816e251ad71777f9d2578329b6d2bef6
2019-06-11 18:42:43 +01:00

50 lines
1.6 KiB
Plaintext

//
// NSMutableAttributedString+TextKitAdditions.mm
// Texture
//
// Copyright (c) Facebook, Inc. and its affiliates. All rights reserved.
// Changes after 4/13/2017 are: Copyright (c) Pinterest, Inc. All rights reserved.
// Licensed under Apache 2.0: http://www.apache.org/licenses/LICENSE-2.0
//
#import <AsyncDisplayKit/NSMutableAttributedString+TextKitAdditions.h>
@implementation NSMutableAttributedString (TextKitAdditions)
#pragma mark - Convenience Methods
- (void)attributeTextInRange:(NSRange)range withTextKitMinimumLineHeight:(CGFloat)minimumLineHeight
{
if (range.length) {
NSMutableParagraphStyle *style = [[NSMutableParagraphStyle alloc] init];
[style setMinimumLineHeight:minimumLineHeight];
[self attributeTextInRange:range withTextKitParagraphStyle:style];
}
}
- (void)attributeTextInRange:(NSRange)range withTextKitMinimumLineHeight:(CGFloat)minimumLineHeight maximumLineHeight:(CGFloat)maximumLineHeight
{
if (range.length) {
NSMutableParagraphStyle *style = [[NSMutableParagraphStyle alloc] init];
[style setMinimumLineHeight:minimumLineHeight];
[style setMaximumLineHeight:maximumLineHeight];
[self attributeTextInRange:range withTextKitParagraphStyle:style];
}
}
- (void)attributeTextInRange:(NSRange)range withTextKitLineHeight:(CGFloat)lineHeight
{
[self attributeTextInRange:range withTextKitMinimumLineHeight:lineHeight maximumLineHeight:lineHeight];
}
- (void)attributeTextInRange:(NSRange)range withTextKitParagraphStyle:(NSParagraphStyle *)paragraphStyle
{
if (range.length) {
[self addAttribute:NSParagraphStyleAttributeName value:paragraphStyle range:range];
}
}
@end