Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/xpath/2.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_Objective C_Ios7_Uitextview_Autolayout - Fatal编程技术网

Ios 带自动布局的UITextView换行太快

Ios 带自动布局的UITextView换行太快,ios,objective-c,ios7,uitextview,autolayout,Ios,Objective C,Ios7,Uitextview,Autolayout,我正在尝试在UICollectionViewCell中使用自动布局规则设置UITextView 我在它的前面和后面都有约束,例如: 前导大于或等于屏幕宽度的1:8,尾随等于屏幕宽度减去15px 这很好地工作,并在大多数情况下实现了我想要的行为(保持文本视图尽可能小,直到它超过我的最大行长度,然后它将自动换行)。但是,对于某些字符串/字符串长度,它会出错并过早地截断 例如: 如果我将UITextView的文本设置为:“”,则所有文本都打印在一行上,没有问题 但是,如果我将其设置为just:www.

我正在尝试在UICollectionViewCell中使用自动布局规则设置UITextView

我在它的前面和后面都有约束,例如: 前导大于或等于屏幕宽度的1:8,尾随等于屏幕宽度减去15px

这很好地工作,并在大多数情况下实现了我想要的行为(保持文本视图尽可能小,直到它超过我的最大行长度,然后它将自动换行)。但是,对于某些字符串/字符串长度,它会出错并过早地截断

例如: 如果我将UITextView的文本设置为:“”,则所有文本都打印在一行上,没有问题

但是,如果我将其设置为just:www.billywhitchdoctor.com,“m”不知何故会被删除到下一行,因此它呈现为:

www.billywitchdoctor.co
m
尽管还有足够的空间让泡沫向宽度方向延伸。我已经尝试将UITextView的压缩阻力优先级设置为1000,并减少拥抱,但只要气泡上有这两个约束(前导>=1:8单元格拖尾和拖尾==单元格拖尾),我似乎无法消除此问题


我知道我可以通过自己计算和指定宽度,以编程方式解决每个单元格的此问题,但如果可能,我宁愿使用自动布局。

每当文本更改时,尝试使布局无效

- (IBAction)textViewDidChange:(UITextView*)textView {
    [textView invalidateIntrinsicContentSize];
}

为什么你有领先的限制?你想让你的文字右对齐吗?把它想象成信息中的聊天泡泡。文本位于聊天气泡中,聊天气泡的宽度由文本的宽度定义,聊天气泡右对齐,但文本在聊天气泡中左对齐。每当文本更改时,您可能需要在文本视图上调用
layoutifneed
。一个方便的位置。在非洲。现在,无论我是更改文本还是将其设置为故事板中的内容以外的任何内容,都会发生这种情况。您尝试过使用此委托方法吗?是的,我在ViewController中实现了它,并设置了textview的委托,但没有调用它。