相关疑难解决方法(0)

可以在后台线程上创建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];
}
Run Code Online (Sandbox Code Playgroud)

提前致谢.

objective-c uiviewcontroller uiview nsthread ios

17
推荐指数
2
解决办法
8508
查看次数

标签 统计

ios ×1

nsthread ×1

objective-c ×1

uiview ×1

uiviewcontroller ×1