当前位置:  开发笔记 > 编程语言 > 正文

可调整大小的UILabel,可滚动屏幕

如何解决《可调整大小的UILabel,可滚动屏幕》经验,为你挑选了1个好方法。

是的,我正在尝试获得带有文本的标签(显然已经完成),它在屏幕上滚动.

输入标签的文本由UITextField和UIButton完成.这个更新很好.

但是我试图让UILabel根据文本输入的大小调整大小,以便整个屏幕滚动整个文本.

这是我目前滚动标签的代码:

[lblMessage setText: txtEnter.text];

CABasicAnimation *scrollText;

scrollText=[CABasicAnimation animationWithKeyPath:@"position.x"];
scrollText.duration = 3.0;
scrollText.repeatCount = 10000;
scrollText.autoreverses = NO;
scrollText.fromValue = [NSNumber numberWithFloat:500];
scrollText.toValue = [NSNumber numberWithFloat:-120.0];

[[lblMessage layer] addAnimation:scrollText forKey:@"scrollTextKey"];

问题是,有时会开始在屏幕中间滚动,有时会在完全消失之前消失.

由于标签是一个尺寸,它也削减文本..我不知道如何改变这一点.

提前致谢.

大教堂



1> Brad Larson..:

我相信类似于这个问题的解决方案的东西适用于这种情况.

您可以将UILabel嵌入到UIScrollView中,并将UIScrollView设置为您希望一次显示在屏幕上的标签的最大大小.UIScrollView需要使用showsHorizo​​ntalScrollIndicator和showsVerticalScrollIndicator属性关闭其滚动指示器.在更改文本时,您可以执行以下操作:

[lblMessage setText: txtEnter.text];
[lblMessage sizeToFit];
scrollView.contentSize = lblMessage.frame.size;

然后是上面链接的问题中描述的平移动画代码,其中框架将被平移为UILabel的最右侧.这将导致文本在标签上以恒定速率滚动.如果您希望标签回滚到开头,可以在动画块的开头使用UIView setAnimationRepeatAutoreverses:和setAnimationRepeatCount:方法.

推荐阅读
U友50081205_653
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有