我有一个UITextView
包含一些填充整个宽度但没有溢出的文本。
我通过在块动画中更改其框架来减小UITextView
的宽度,这样减小的宽度会导致文本溢出,并且末尾将替换为ellipsis
(' ...')。
目前,文字对宽度变化没有响应。它从全宽度的情况跳转到截断的“...”情况,两者之间没有任何东西,并且在动画回到整个宽度时也是如此。
是否可以强制更改文本,并在框架动画时平滑地引入/移除ellipsis
?
答案 0 :(得分:1)
你应该在这里使用答案:UITextView animating change of frame does not animate text reallocation
textview中的文字并不总是按预期行事。为此,您必须设置NSTimer并在每个刻度上设置帧大小。 做一些像:
textview.frame = CGRectMake (textview.frame.origin.x, textview.frame.origin.y, textview.frame.size.width-1, textview.frame.size.height-1);
然后当它完成后,我会从superview中删除textview并将其设置为nil,然后初始化一个新的。这样做的原因是,当在文本框的周围添加由于某种原因填充文本视图的帧时添加填充。除非您将框架更改至少100次,否则您不会注意到它。
[textview removeFromSuperview];
textview = nil;
textview = [[UITextView alloc] initWithFrame:CGRectMake(x, y, width, height)];
textview.text = yourTextString;
//You will also have to set whatever non default properties you want, such as text or background color
[view addSubview:textview];