我用Objective c ++(.mm文件)编写这个应用程序,我遇到了一些困难。我有这个循环,它每运行10秒并更新一些数字,我输出到显示屏上的标签字段。问题是,尽管循环在运行之间暂停10秒(我使用pthreads和链接C ++文件中的睡眠函数实现),但是显示将不会刷新以显示这些新值。有没有办法可以强制它在每个循环结束时刷新/重绘?
答案 0 :(得分:0)
您是否在每次循环结束时更新标签的值?
[label setText:[NSString stringWithFormat:@"New Value Is: %@", someOtherString]];
答案 1 :(得分:0)
尝试做
[ CATransaction flush ];
更新标签后,在主UI线程中。您应该只更新主UI线程中的UILabel,而不是睡眠线程。睡觉主UI线程将冻结用户界面,并可能让你的应用程序被操作系统看门狗杀死。