UITextView 偏移文本的方式与 UILabel 不同
UITextView offsets text differently than UILabel
我正在使用 UILabel 和 UITextView,它们呈现文本的方式不同。似乎 UITextView 将文本偏移 4.
下面是一个示例,其中顶部是 UILabel,下面是 UITextView。他们都使用相同的字体。这里有两个示例,一个使用自定义 OpenSans 字体,另一个使用系统的 HelveticaNeue 字体。
使用 sizeThatFits: 设置文本后,UILabel 正在调整大小
label.text = text;
CGFloat width = 320 - 2 * 16; // both label and textView end up with 288 width
CGSize size = [label sizeThatFits:CGSizeMake(width, CGFLOAT_MAX)];
CGRect frame = CGRectMake(16, 0, width, size.height);
label.frame = frame;
UITextView.textContainerInset 设置为 (0,0,0,0).
有什么帮助吗?以下是屏幕截图:
1.1 HelveticaNeue: textView offset -4 (label on top)
1.2 HelveticaNeue:对齐(顶部标签)
2.1 OpenSans: textView offset -4 (label on top)
2.2 OpenSans:对齐(标签在顶部)
这对我有用并消除了内部填充:
textView.textContainer.lineFragmentPadding = 0;
textView.textContainerInset = UIEdgeInsetsZero;
我正在使用 UILabel 和 UITextView,它们呈现文本的方式不同。似乎 UITextView 将文本偏移 4.
下面是一个示例,其中顶部是 UILabel,下面是 UITextView。他们都使用相同的字体。这里有两个示例,一个使用自定义 OpenSans 字体,另一个使用系统的 HelveticaNeue 字体。
使用 sizeThatFits: 设置文本后,UILabel 正在调整大小
label.text = text;
CGFloat width = 320 - 2 * 16; // both label and textView end up with 288 width
CGSize size = [label sizeThatFits:CGSizeMake(width, CGFLOAT_MAX)];
CGRect frame = CGRectMake(16, 0, width, size.height);
label.frame = frame;
UITextView.textContainerInset 设置为 (0,0,0,0).
有什么帮助吗?以下是屏幕截图:
1.1 HelveticaNeue: textView offset -4 (label on top)
1.2 HelveticaNeue:对齐(顶部标签)
2.1 OpenSans: textView offset -4 (label on top)
2.2 OpenSans:对齐(标签在顶部)
这对我有用并消除了内部填充:
textView.textContainer.lineFragmentPadding = 0;
textView.textContainerInset = UIEdgeInsetsZero;