Add ability to customize NSLayoutManager and NSTextStorage when created in the ASTextKitContext

This commit is contained in:
rcancro
2016-02-22 13:00:02 -08:00
parent 896f0adcaf
commit 00b0968bf7
10 changed files with 60 additions and 26 deletions

View File

@@ -42,8 +42,9 @@
maximumNumberOfLines:0
exclusionPaths:nil
constrainedSize:constrainedSize
layoutManagerFactory:nil
layoutManagerDelegate:nil];
layoutManagerCreationBlock:nil
layoutManagerDelegate:nil
textStorageCreationBlock:nil];
__block NSRange textKitVisibleRange;
[context performBlockWithLockedTextKitComponents:^(NSLayoutManager *layoutManager, NSTextStorage *textStorage, NSTextContainer *textContainer) {
textKitVisibleRange = [layoutManager characterRangeForGlyphRange:[layoutManager glyphRangeForTextContainer:textContainer]
@@ -64,8 +65,9 @@
maximumNumberOfLines:0
exclusionPaths:nil
constrainedSize:constrainedSize
layoutManagerFactory:nil
layoutManagerDelegate:nil];
layoutManagerCreationBlock:nil
layoutManagerDelegate:nil
textStorageCreationBlock:nil];
ASTextKitTailTruncater *tailTruncater = [[ASTextKitTailTruncater alloc] initWithContext:context
truncationAttributedString:[self _simpleTruncationAttributedString]
avoidTailTruncationSet:[NSCharacterSet characterSetWithCharactersInString:@""]];
@@ -87,8 +89,9 @@
maximumNumberOfLines:0
exclusionPaths:nil
constrainedSize:constrainedSize
layoutManagerFactory:nil
layoutManagerDelegate:nil];
layoutManagerCreationBlock:nil
layoutManagerDelegate:nil
textStorageCreationBlock:nil];
ASTextKitTailTruncater *tailTruncater = [[ASTextKitTailTruncater alloc] initWithContext:context
truncationAttributedString:[self _simpleTruncationAttributedString]
avoidTailTruncationSet:[NSCharacterSet characterSetWithCharactersInString:@"."]];
@@ -111,8 +114,9 @@
maximumNumberOfLines:0
exclusionPaths:nil
constrainedSize:constrainedSize
layoutManagerFactory:nil
layoutManagerDelegate:nil];
layoutManagerCreationBlock:nil
layoutManagerDelegate:nil
textStorageCreationBlock:nil];
ASTextKitTailTruncater *tailTruncater = [[ASTextKitTailTruncater alloc] initWithContext:context
truncationAttributedString:[self _simpleTruncationAttributedString]
avoidTailTruncationSet:[NSCharacterSet characterSetWithCharactersInString:@"."]];
@@ -136,8 +140,9 @@
maximumNumberOfLines:0
exclusionPaths:nil
constrainedSize:constrainedSize
layoutManagerFactory:nil
layoutManagerDelegate:nil];
layoutManagerCreationBlock:nil
layoutManagerDelegate:nil
textStorageCreationBlock:nil];
XCTAssertNoThrow([[ASTextKitTailTruncater alloc] initWithContext:context
truncationAttributedString:[self _simpleTruncationAttributedString]