iphone - UILabel 显示不更新

标签 iphone ios objective-c uilabel setneedsdisplay

我想写一些代码来制作 UILabel每当文本更改时,文本都会更新。我正在写一个小演示,例如:

- (IBAction)ButtonPressed:(id)sender {
    for(int i = 0; i < 100000; ++i)
    {
        [self.Label setText:[NSString stringWithFormat:@"%d",i]];
        [self.Label setNeedsDisplay];
    }
}

当我单击按钮时,标签仅更改一次为 99999,但我希望它从 0 到 99999 显示 99999 次。有人知道为什么代码不起作用吗?

提前致谢!

最佳答案

setNeedsDisplay告诉系统您的 View 想要被绘制,但它不会强制它发生。 View 将在下一个绘制周期重新绘制,这发生在 for 之后。循环完成。如果您希望所有 100,000 个更改都可见,则必须将标签更新延迟人类可感知的量。

关于iphone - UILabel 显示不更新,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17429217/

相关文章:

java - 如何在 iOS 中的线程之间传输数据?

iphone - 类实现中的私有(private)属性(property)声明?

ios - iOS设备实际尺寸(以英寸为单位)

ios - 在网络从wifi切换到移动数据期间,VPN正在停止。在iOS中以编程方式连接了VPN

iphone - 如何在应用更新下载后再次调用 didFinishLaunchingWithOptions

ios - UIViewController 上的自定义属性,如 splitViewController 或 tabBarController

iphone - 创建类似于新的 iOS 6 按钮共享的自定义共享 View

iphone - 如何使用字母数字值对数组进行排序?

iOS:如何获取刚刚在界面生成器中设置的 UIView 的框架

c++ - 是否可以直接在浏览器中运行 C 代码?