通过动画在iPhone中交换文本

时间:2012-05-01 22:06:02

标签: iphone objective-c ios animation caanimation

我想在IOS应用程序中交换文本以指定帮助文本,我的意思是,我需要显示

  for a Xsec - "Touch me"
 and then 
    for Xsec - "double tap".

是否可以使用CABasicAnimation?文字需要以闪烁模式显示,在我绘制正方形后立即显示。因此我需要将文本闪烁60秒并且每个显示10秒

The CAAnimation will take 60sec
0-10sec - "Touch me"  
11-20sec - "double tap"
21-30sec - "Touch me"
....
51-60sec - "Double Tap"

4 个答案:

答案 0 :(得分:0)

据我所知,text不是任何对象(UILabel,UITextView等)的可动画属性,但是有许多控件可用于子类化这些对象并允许可动画文本(以及其他属性)。例如,AUIAnimateableText

答案 1 :(得分:0)

我不确定我理解你的问题,但我会抓住它。

要更改用户看到的内容的文本,您需要首先将其连接为iboutlet。要更改文本,只需执行以下操作:

if ([myTextOutlet.text isEqualToString:@"Touch me"])
{
    myTextOutlet.text = @"double tap";
}
else
{
    myTextOutlet.text = @"Touch me";
}

答案 2 :(得分:0)

要实现接近实际动画文本的内容,您可以在其中添加2 UILabel个所需文本,并为其hidden属性设置动画。你可以做很多事情,只是淡入淡出或者甚至翻转标签或向左/向右滑动等。如果你想要打字机效果,你可以在代码中创建适当的UILabel并让它们出现等。

至于时间安排,只需使用易于使用且记录良好的NSTimer

答案 3 :(得分:0)

试试这个。,。

这里我正在更改标签文本,..,

viewdidload中的

有一个计时器。,。,

 - (void)viewDidLoad
  {
  label =[[UILabel alloc]initWithFrame:CGRectMake(367, 664, 220, 21)];
  [label setText:@"Touch me"];
  [label setBackgroundColor:[UIColor redColor]];
  [label setTextColor:[UIColor blueColor]];
  [self.view addSubview:label];
 timer=[NSTimer scheduledTimerWithTimeInterval:5.0 target:self selector:@selector(loadtimer:) userInfo:nil repeats:YES];
   }

  int k=0;
  -(void)loadtimer:(id)sender
   {
   label.text=(k%2) ? @"Touch me" : @"double tap";
   [label setTextColor:( k% 2) ?[UIColor blueColor ]:[UIColor redColor]];
   [label setBackgroundColor:( k% 2) ?[UIColor redColor ]:[UIColor blueColor]];
   CATransition *transition1 = [CATransition animation];
   transition1.duration = 1.0f;
   transition1.timingFunction = [CAMediaTimingFunction functionWithName:kCAMediaTimingFunctionEaseInEaseOut];
   transition1.type = kCATransitionFade;
   [label.layer addAnimation:transition1 forKey:nil];
   k++;
  }

调用此Loadtimer方法。,取决于计时周期。每隔5秒调用一次LoadTimer方法,该方法更改标签的文本,..,

我正在学习。,。,