Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ios/122.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ios UITextView字包装意外行为_Ios_Ios7_Uiscrollview_Uitextview - Fatal编程技术网

Ios UITextView字包装意外行为

Ios UITextView字包装意外行为,ios,ios7,uiscrollview,uitextview,Ios,Ios7,Uiscrollview,Uitextview,我有一个UITextView,其内容和帧大小宽度等于348,但只要一行上的文本宽度超过338.61,就会发生换行。有人知道为什么会这样吗?如何访问UITextView用于动态换行的宽度?从iOS 7开始,是的。它是textContainerInset和lineFragmentPadding的组合 UITextView *textView = ...; CGFloat wrappingWidth = textView.bounds.size.width - (textView.textContai

我有一个UITextView,其内容和帧大小宽度等于348,但只要一行上的文本宽度超过338.61,就会发生换行。有人知道为什么会这样吗?如何访问UITextView用于动态换行的宽度?

从iOS 7开始,是的。它是
textContainerInset
lineFragmentPadding
的组合

UITextView *textView = ...;
CGFloat wrappingWidth = textView.bounds.size.width - (textView.textContainerInset.left + textView.textContainerInset.right + 2 * textView.textContainer.lineFragmentPadding);
这是一个值得了解的价值。您可以在
boundingRectWithSize:
调用中使用它,例如:

CGRect boundingRect = [text boundingRectWithSize:CGSizeMake(wrappingWidth, CGFLOAT_MAX)
                                         options:NSStringDrawingUsesLineFragmentOrigin // this is important
                                      attributes:@{ NSFontAttributeName: textView.font } // and any other attributes of your text
                                         context:nil];

同样酷的是,您可以设置
textContainerInset
lineFragmentPadding
,因此,如果您想增加此设置或使用不带插入的
UITextView
(例如,它与
UILabel
匹配),您可以。

上面的答案没有错,但我一直在研究UITextView的换行行为,发现尽管可以调整textview的contentSize和textContainer的相应大小,但还有一种改变换行位置的方法(使用自动布局时)是将SuperView的尾随空间设置为负值。这将允许用户将换行功能向外推到右侧。这项研究还没有完成,但这一技巧应该可以帮助任何试图更好地控制UITextView单词包装行为的人


完成后将发布代码,但现在调整UITextView的尾部约束将移动单词/字符换行的最右侧位置

非常感谢。这真的很有帮助。我在别的地方找不到这个。