如何实现AppStore查看更多的方法
UITextView-More
使用UITextKit 实现“更多”的折叠效果

主要代码
获取最后一行Rect
1 | var lastRect = CGRect.zero |
增加 exclusionPaths
1 | textContainer.exclusionPaths = [UIBezierPath.init(rect: rect)] |
备注
UITextView默认携带左右边距,通过UITextView.textContainer.lineFragmentPadding获取UITextView默认携带上下左右边距(UITextView.textContainerInset),其中左右和lineFragmentPadding相加- 此处并没有对TruncateTextView进行过多的设置,主要是因为继承在UITextView下,GIF中的这部分设置放在了ViewController.swift中
- 此处使用的是
frame,可以在UIView.sizeToFit()之后获取到UIView的Size。约束也大抵如此
- 感谢乐逍遥提供的例子,才找到了
open func truncatedGlyphRange(inLineFragmentForGlyphAt glyphIndex: Int) -> NSRange方法😂