0

ヘルプ テキストを指定するために、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

4 に答える 4

0

テキストを実際にアニメーション化することに近いものを実現するにはUILabel、目的のテキストを含む 2 つの を作成し、それらのhiddenプロパティをアニメーション化します。フェードイン/フェードアウトしたり、ラベルを反転したり、左右にスワイプしたりするなど、多くのことができます。タイプライター効果が必要な場合はUILabel、コードで適切な を作成して表示させることができます。

タイミングに関しては、使いやすく十分に文書化された を使用してNSTimerください。

于 2012-05-01T23:01:48.897 に答える
0

これを試して。、。

ここで、ラベルのテキストを変更しています..

viewdidload には 1 つのタイマーがあります。,.,

 - (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 メソッドが呼び出され、そのメソッドがラベルのテキストを変更します。

私は学んでいます。、。、

于 2012-05-02T04:56:38.167 に答える
0

私の知る限り、テキストはオブジェクト (UILabel、UITextView など) のアニメーション化可能なプロパティではありませんが、これらのオブジェクトをサブクラス化し、アニメーション化可能なテキストを (他のプロパティの中でも) 許可する、利用可能なコントロールが多数あります。たとえば、AUIAnimateableTextです。

于 2012-05-01T22:14:12.470 に答える
0

私はあなたの質問を理解しているかどうかわかりませんが、私はそれを突き刺します.

ユーザーに表示されるテキストを変更するには、最初に ioutlet として接続する必要があります。テキストを変更するには、次のようにします。

if ([myTextOutlet.text isEqualToString:@"Touch me"])
{
    myTextOutlet.text = @"double tap";
}
else
{
    myTextOutlet.text = @"Touch me";
}
于 2012-05-01T22:14:52.807 に答える