1

シンプルな iOS テキスト/ラベル アニメーションの最適なソリューションは何ですか? 詳細: ユーザーは、10 ~ 15 語の配列から変更されたテキストを含む iOS 画面上の 1 つのラベルを表示する必要があります。1 語ずつ白い画面で区切られています。画面は 500 ミリ秒です。注意テストは1種類あります。

4

2 に答える 2

3

単語をフラッシュしたいだけの場合は、NSTimerまたは単にperformSelector:を使用できます。

@interface ViewController ()

@property (nonatomic, strong) NSArray *words;
@property (nonatomic) NSUInteger wordIndex;

@end

@implementation ViewController

static CGFloat const kWordShowInterval = 0.8;
static CGFloat const kWordHideInterval = 0.4;

- (void)viewDidLoad
{
    [super viewDidLoad];

    self.words = @[@"one", @"two", @"three", @"four"];
    self.wordIndex = 0;

    [self showWord];
}

- (void)showWord
{
    if (self.wordIndex >= [self.words count])
        return;

    self.wordLabel.text = self.words[self.wordIndex];

    [self performSelector:@selector(hideWord)
               withObject:nil
               afterDelay:kWordShowInterval];
}

- (void)hideWord
{
    self.wordLabel.text = nil;

    self.wordIndex++;
    if (self.wordIndex < [self.words count])
    {
        [self performSelector:@selector(showWord)
                   withObject:nil
                   afterDelay:kWordHideInterval];
    }
    else
    {
        // all done, go ahead and invoke whatever you want to do when done presenting the words
    }
}

@end

テキストの表示または非表示のアニメーション(フェードインまたはフェードアウトなど)を実行したい場合は、これをanimateWithDurationまたは他のアニメーション構成と組み合わせることができます。

于 2013-01-08T16:18:34.933 に答える
0

通常、Core Animation が最適な方法です。ドキュメントを確認する

于 2013-01-08T15:49:08.517 に答える