我正在使用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,width,size.height); label.frame = frame;
UITextView.textContainerInset设置为(0,0).
有帮助吗?以下是截图:
1.1 HelveticaNeue:textView偏移-4(顶部标签)
1.2 HelveticaNeue:对齐(顶部标签)
2.1 OpenSans:textView偏移-4(顶部标签)
2.2 OpenSans:对齐(顶部标签)
解决方法
这对我有用,并消除了内部填充:
textView.textContainer.lineFragmentPadding = 0; textView.textContainerInset = UIEdgeInsetsZero;