UITextView以不同于UILabel的方式偏移文本

我正在使用UILabelUITextView ,它们以不同的方式呈现文本。 似乎UITextView将文本偏移4。

下面是一个例子,顶部是UILabel ,下面是UITextView 。 他们都使用相同的字体。 这里有两个例子,一个是自定义OpenSans字体,另一个是系统的HelveticaNeue字体。

使用sizeThatFits设置文本后, UILabel正在resize

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; 

UITextViewtextContainerInset设置为(0,0,0,0)。

有帮助吗? 以下是截图:

1.1 HelveticaNeue:textView偏移-4(顶部标签)
HelveticaNeue:抵消-4

1.2 HelveticaNeue:对齐(顶部标签)
HelveticaNeue  - 一致

2.1 OpenSans:textView偏移-4(顶部标签)
OpenSans  - 偏移-4

2.2 OpenSans:对齐(顶部标签)
OpenSans  - 对齐

这对我有用,并消除了内部填充:

 textView.textContainer.lineFragmentPadding = 0; textView.textContainerInset = UIEdgeInsetsZero;