NSParagraphStyle
//这类方法返回一个缓存共享和NSParagraphStyle实例使用默认风格设置,与[[NSParagraphStyle alloc]init]有相同值的结果。+ (NSParagraphStyle *)defaultParagraphStyle;
//书写方向,languageName在ISO书写格式
+ (NSWritingDirection)defaultWritingDirectionForLanguage:(nullable NSString *)languageName;
@property(readonly, NS_NONATOMIC_IOSONLY) CGFloat lineSpacing;//行间距
@property(readonly, NS_NONATOMIC_IOSONLY) CGFloat paragraphSpacing;//段落间距
@property(readonly, NS_NONATOMIC_IOSONLY) NSTextAlignment alignment;//文本对齐方式
//以下的值对于适当的边界是相对的(取决于段落方向)
@property(readonly, NS_NONATOMIC_IOSONLY) CGFloat headIndent;//头缩进(除了每段首行)
@property(readonly, NS_NONATOMIC_IOSONLY) CGFloat tailIndent;//尾缩进(除了每段首行)
@property(readonly, NS_NONATOMIC_IOSONLY) CGFloat firstLineHeadIndent;//首行缩进
@property(readonly, NS_NONATOMIC_IOSONLY) CGFloat minimumLineHeight;//最小行高,不包括lineSpacing(添加后计算)。
@property(readonly, NS_NONATOMIC_IOSONLY) CGFloat maximumLineHeight;//最大行高,0意味着没有最大值。
@property(readonly, NS_NONATOMIC_IOSONLY) NSLineBreakMode lineBreakMode;//换行方式
// NSParagraphStyle
typedef NS_ENUM(NSInteger, NSLineBreakMode) {
NSLineBreakByWordWrapping = 0, // 以单词截断,默认方式
NSLineBreakByCharWrapping, // 以字母截断
NSLineBreakByClipping, // 简单截断
NSLineBreakByTruncatingHead, // 省略头部: "...wxyz"
NSLineBreakByTruncatingTail, // 省略尾部: "abcd..."
NSLineBreakByTruncatingMiddle // 省略中间: "ab...yz"
} NS_ENUM_AVAILABLE(10_0, 6_0);
@property(readonly, NS_NONATOMIC_IOSONLY) NSWritingDirection baseWritingDirection;//书写方向
@property(readonly, NS_NONATOMIC_IOSONLY) CGFloat lineHeightMultiple;//自然行乘以这个参数,在被最大行高和最小行高约束之前
@property(readonly, NS_NONATOMIC_IOSONLY) CGFloat paragraphSpacingBefore;//段落底部与这段顶端的距离
//指定连字符。有效值在0.0和1.0之间。断字将尝试当文本宽度的比值作为打破没有断字线片段的宽度小于断字的因素。这需要在其默认值为0.0,布局管理器的使用而不是用连字符号连接因素。当两者都是0.0,断字是禁用的。
@property(readonly, NS_NONATOMIC_IOSONLY) float hyphenationFactor;
@property(readonly,copy, NS_NONATOMIC_IOSONLY) NSArray<NSTextTab *> *tabStops NS_AVAILABLE(10_0, 7_0);//一个NSTextTabs数组。内容应该下令位置。默认值是一个数组的12左对齐制表符28 pt间隔
@property(readonly, NS_NONATOMIC_IOSONLY) CGFloat defaultTabInterval NS_AVAILABLE(10_0, 7_0);//间隔默认选项卡用于位置之外的最后一个元素在制表符
@property(readonly, NS_NONATOMIC_IOSONLY) BOOL allowsDefaultTighteningForTruncation NS_AVAILABLE(10_11, 9_0);//收紧inter-character间距在尝试适应更广泛的比可用空间如果换行模式是一种截断模式之前开始截断。默认情况下没有。紧缩的最大数量是由执行系统基于上下文,如字体、线条宽度等。