我只想使用 arc4random 将标签的TextColor每次从左到右进入屏幕时设置为随机颜色。

每次加载该应用程序时,以下代码都会对1种随机颜色起作用,但在离开视图时无效!

NSTimer* myTimer;

int y = 15;
int x = 0;

-(void)textView
{
    myLabel = [[UILabel alloc] initWithFrame :CGRectMake(0, 0, 550, 30)];
    myLabel.backgroundColor = [UIColor clearColor];
    myLabel.textColor = [UIColor colorWithRed:arc4random()%100/100.0 green:arc4random()%100/100.0 blue:arc4random()%100/100.0 alpha:1];
    myLabel.font = [UIFont boldSystemFontOfSize:25];
    myLabel.text = @"My Sample Application";

    [self.view addSubview:myLabel];
}

- (void)viewDidLoad
{
    [super viewDidLoad];

    [NSTimer scheduledTimerWithTimeInterval:0.005 target:self selector:@selector(animatedText) userInfo:nil repeats:YES];

    [self textView];
    [self animatedText];
}

-(void)animatedText
{
    if ( myLabel.center.x < 640 )
    {
        x += 1;
    }
    else
    {
        x = 0;
        y =(arc4random() % 500 ) ;
    }
    myLabel.center = CGPointMake(x, y);
}

最佳答案

颜色设置为-(void)textView-仅在视图首次加载时调用。

myLabel.textColor = ...复制到animatedText方法中,在该方法中重置x和y位置。

关于iphone - 需要简单的标签“屏幕保护程序”帮助,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/12542857/

10-16 23:32