使用溢出动画UITextView宽度

时间:2013-09-24 13:41:34

标签: ios uitextview uiviewanimation

我有一个UITextView包含一些填充整个宽度但没有溢出的文本。

我通过在块动画中更改其框架来减小UITextView的宽度,这样减小的宽度会导致文本溢出,并且末尾将替换为ellipsis(' ...')。

目前,文字对宽度变化没有响应。它从全宽度的情况跳转到截断的“...”情况,两者之间没有任何东西,并且在动画回到整个宽度时也是如此。

是否可以强制更改文本,并在框架动画时平滑地引入/移除ellipsis

1 个答案:

答案 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];