【发布时间】:2015-11-10 07:01:19
【问题描述】:
- 我有一个 UIView “myuiview”。
- 我在该视图中添加了一些 CALayers。在我的示例中,它只有一个“calayer”
- 在后台任务中,我正在创建一个复杂的形状并将其添加到 calayer。
- 在主线程中,我刷新 calayer 并希望在屏幕上看到新形状。
新的形状只有在移动屏幕并调用CGAffineTransformTranslate(myuiview,x,y);后才会出现
我做错了什么?
dispatch_async(backgroundQueue, {
var calayer:CALayer=CALayer();
myuiview.layer.addSublayer(calayer);
myshape=createShape(); // takes long, thats why in the background.
dispatch_async(dispatch_get_main_queue()) {
calayer.addSublayer(myshape)
calayer.setNeedsDisplay(); // No update on the screen !!!!
}
})
【问题讨论】:
标签: ios multithreading swift calayer