我知道UIView不是线程安全的,所以我不能添加一个背景线程的视图,解决这个问题可以在后台线程上创建一个UIView然后将其添加到主线程?可以在后台线程上创建UIView吗?
注意:我不在主线程上这样做的原因是因为我的实际代码更加复杂,因此需要一段时间才能创建所有视图并填充值。当我这样做时,我不希望UI变得无法响应,所以我试图解决这个问题。
例如..
-(void)addLabel//called on background thread
{
UILabel * label = [[UILabel alloc]initWithFrame:CGRectMake(0,0,40,100)];
[label setText:@"example"]
[self.view performSelector:@selector(addSubview:) onThread:[NSThread mainThread] withObject:example waitUntilDone:YES];
}
预先感谢。
我相信你是对的。在后台创建它,但更新主要的UI。 –