Didn't work the first time I sent this, because something messed up and thought the message was too large, when it's less than 2000 characters.
No bites on apple-dev.groups.io, so I'll try here. I'm trying to use exclusionPaths for the first time and am not having any success. For now, I'm just creating the stuff on the fly in my drawLayer:inContext: method:. The string draws, but doesn't exclude any path no matter what I set it to. I'm also not that familiar with the whole NSTextStorage/NSLayoutManager/NSTextContainer family, other than using snippets of code in the past, so it could be I'm doing something dumb. Any ideas? BTW, if I instead install a UITextView and set its exclusionPaths, it works. So does NSTextStorage not know enough to draw with the exclusionPaths, and I just need to install text views for each one instead? -(void)drawLayer:(CALayer*)layer inContext:(CGContextRef)ctx { if([layer.name isEqualToString:@"balloons"]) { UIGraphicsPushContext(ctx); CGRect box = CGRectMake(0, 0, 400, 400); NSTextStorage* storage = [[NSTextStorage alloc] initWithString:@"I like little pigs who run and scurry away from the butcher, because the butcher is carrying a large cleaver and wants to chop them up into delicious sandwiches!" attributes:@{NSFontAttributeName:[UIFont systemFontOfSize:36]}]; UIBezierPath* bez = [UIBezierPath bezierPathWithRect:CGRectMake(100, 100, 100, 100)]; NSLayoutManager* lman = [NSLayoutManager new]; [storage addLayoutManager:lman]; NSTextContainer* cont = [[NSTextContainer alloc] initWithSize:box.size]; cont.exclusionPaths = @[bez]; [lman addTextContainer:cont]; // Trying different things to see if they make it work - nope. [lman textContainerChangedGeometry:cont]; [lman invalidateLayoutForCharacterRange:NSMakeRange(0, storage.length) actualCharacterRange:nil]; [storage drawInRect:box]; UIGraphicsPopContext(); } } -- Steve Mills Drummer, Mac geek _______________________________________________ Cocoa-dev mailing list (Cocoa-dev@lists.apple.com) Please do not post admin requests or moderator comments to the list. Contact the moderators at cocoa-dev-admins(at)lists.apple.com Help/Unsubscribe/Update your Subscription: https://lists.apple.com/mailman/options/cocoa-dev/archive%40mail-archive.com This email sent to arch...@mail-archive.com