0

私は UILabel を読んだニュースの形でアニメートしたい...例: - 私の UILabel はどうですか。最後の単語が完全に左に移動したら、左に移動してループしたい。誰かが私を助けることができますか?

ありがとう

4

3 に答える 3

0
[UIView animateWithDuration:0.3 animations:^{
    label.frame = frame;
}];

'frame' は、ラベルの新しいフレームである必要があります。このメソッドを使用して、すべての UIKit ビューの変更をアニメーション化できます。

于 2013-06-21T16:45:33.677 に答える
0

質問する前にいくつかの基本を実行してください。

とにかく、それを達成するための2つの一般的な方法があります。

  • animateWithDuration:animations:completion:を使用して、ビューにラベルを追加し、animation: block.Likeで宛先フレームを設定して、時間をかけてアニメーション化します。

    //set initial frame for the label and add to the self.view
    [UIView animateWithDuration:/*animation duration*/ animations:^{
        //set destination frame of the label, only change x-axis value
    } completion:^(BOOL finished) {
    
    }];
    
  • または、このアニメーションの連続ループが必要な場合は、NSTimerを使用できます。例えば:

    [NSTimer scheduledTimerWithTimeInterval:/*label_change_time*/ target:nil selector:@selector(moveLabelToLeft:) userInfo:nil repeats:YES];
    

そしてmoveLabelToLeft で: label_change_timeにわたるx 軸値の差を設定します。

于 2013-06-21T16:58:51.647 に答える
0

これまでに何を試しましたか?

などのUIViewのアニメーション メソッドを見てみましょうanimateWithDuration:animations:completion:。ビューの をアニメーション化できframe、完了ハンドラを使用して別のメソッドを呼び出してビューを元に戻すことができます。

基本的に、animateメソッドは一方向に進み、完了ハンドラは逆方向に進むと考えてください。タイマー/ループで全体を呼び出すと、連続的に前後に移動します

于 2013-06-21T16:35:39.847 に答える