NSAttributedString end of first line indent

前端 未结 2 1932
梦谈多话
梦谈多话 2021-02-10 21:50

I want to have the first line in an NSAttributedString for a UITextView indented from the right side on the first line.

So the firstLineH

2条回答
  •  爱一瞬间的悲伤
    2021-02-10 22:36

    The Setting Text Margins article from the Text System User Interface Layer Programming Guide has this figure:

    enter image description here

    As you can see, there's no built-in mechanism to have a first line tail indent.

    However, NSTextContainer has a property exclusionPaths which represents parts of its rectangular area from which text should be excluded. So, you could add a path for the upper-right corner to prevent text from going there.

    UIBezierPath* path = /* compute path for upper-right portion that you want to exclude */;
    NSMutableArray* paths = [textView.textContainer.exclusionPaths mutableCopy];
    [paths addObject:path];
    textView.textContainer.exclusionPaths = paths;
    

提交回复
热议问题