【问题标题】:set Image to Button将图像设置为按钮
【发布时间】:2011-02-15 15:14:10
【问题描述】:

有人可以帮我解决下面的问题吗?

当我调用 myFunction 时,我想要设置为按钮的图像会在 2 秒后同时出现,而不是一张一张地出现,延迟为 0.5 秒。

更多信息:

  • generatedNumbers 是包含 NSNumber (4,1,3,2) 四个元素的数组
  • 按钮通过 IB 在 UIView 中设置并标记为 (1,2,3,4)

-(IBAction) myFunction:(id) sender {
int i, value;
for (i = 0; i<[generatedNumbers count]; i++) {
    value = [[generatedNumbers objectAtIndex:i] intValue];
    UIButton *button = (UIButton *)[self.view viewWithTag:i+1];
    UIImage *img = [UIImage imageNamed:[NSString stringWithFormat:@"%d.png",value]];
    [button setImage:img forState:UIControlStateNormal];
    [img release];
    usleep(500000);
}   
}

【问题讨论】:

    标签: iphone cocoa cocoa-touch image button


    【解决方案1】:

    可能发生的是这个方法在主线程上运行。因为当你调用usleep() 时它会等待完成,所以运行循环永远不会到达它要更新 UI 的地步。尝试创建一个NSTimer 并每隔 0.5 秒触发一个单独的方法;这应该给主线程足够的时间来更新。

    【讨论】:

    猜你喜欢
    • 2010-12-31
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-09-27
    • 1970-01-01
    • 2016-09-13
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多