0
我試圖結合facebook的AsyncDisplayKit和DMLazyScrollView。AsyncDisplayKit圖像顯示閃爍
沒有AsyncDisplayKit,不會出現此問題:當移動到下一個/上的形象,看到這裏查看閃爍。
下面是負責獲取圖像的部分代碼:
- (UIViewController *) controllerAtIndex:(NSInteger) index {
if (index > viewControllerArray.count || index < 0) return nil;
id res = [viewControllerArray objectAtIndex:index];
if (res == [NSNull null]) {
UIViewController *contr = [[UIViewController alloc] init];
dispatch_async(dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT, 0), ^{
ASNetworkImageNode *_mediaNode = [[ASNetworkImageNode alloc] init];
_mediaNode.backgroundColor = ASDisplayNodeDefaultPlaceholderColor();
_mediaNode.URL = [NSURL URLWithString:[imagesUrl objectAtIndex:index]];
_mediaNode.frame = contr.view.bounds;
dispatch_async(dispatch_get_main_queue(), ^{
[contr.view addSubview:_mediaNode.view];
});
});
[viewControllerArray replaceObjectAtIndex:index withObject:contr];
return contr;
}
return res;
}
很高興知道是否有人已經解決了這個問題。
順便說一句,我試圖發揮與它周圍,如消除_mediaNode.backgroundColor,或使用它而不異步調用,但仍閃爍 –
嘗試設置_mediaNode.layerBacked =假。它幫助到我。 –
不好意思抱歉。我AsyncDisplayKit的連接和這個自定義的uiview不適合在一起。它可能需要更多的調整才能一起工作。 –