2014-11-03 4 views
9

Instagram과 같은 10 개의 큰 이미지가있는 UITableView가 있고 그 이미지에 약간의 흐림 효과가 있습니다. 내 visualeffects UITableViewCell 추가 할;UITableViewCell의 UIVisualEffectView 성능 문제

_blurButtonEffect = [UIBlurEffect effectWithStyle:UIBlurEffectStyleLight]; 

_visualButtonEffectView = [[UIVisualEffectView alloc] initWithEffect:_blurButtonEffect]; 
_visualButtonEffectView.layer.cornerRadius = 10.0f; 

_visualEmojiEffectView = [[UIVisualEffectView alloc] initWithEffect:_blurButtonEffect]; 
_visualEmojiEffectView.layer.cornerRadius = 24.0f; 

_visualButtonEffectView.layer.masksToBounds = YES; 
_visualEmojiEffectView.layer.masksToBounds = YES; 

_visualButtonEffectView.frame = CGRectMake(20.0f, _button.frame.origin.y + 7.0f, 48.0f, 48.0f); 
_visualEmojiEffectView.frame = CGRectMake(_emoji.frame.origin.x - 4.0f, _button.frame.origin.y + 22.0f, ([UIScreen mainScreen].bounds.size.width/2) - 25.0f, 30.0f); 

버튼 제목이 null 인 경우 _visualEmojiEffectView를 표시하고 _visualButtonEffectView를 숨 깁니다. 그렇지 않으면 _visualButtonEffectView가 항상 표시됩니다. UITableView를 스크롤하는 동안 성능은 완벽하지만이 흐림 효과는 너무 성가심으로 보여 주므로 모든 스크롤 동작 및 터치에서 깜박 거리는 것처럼 보입니다. 나는 이것을 세포에서 이것을 막을 수있다.

self.layer.shouldRasterize = YES; 
self.layer.rasterizationScale = [UIScreen mainScreen].scale; 

난 그런 내 세포를 래스터 화하고있어 경우, 효과가 완벽하게 작동하지만 스크롤 성능도 아이폰 6있는 UITableViewCell에 UIBlurEffectView를 구성하는 올바른 방법은 무엇인가에 끔찍 흐리게?

+0

'self.layer.shouldRasterize = YES; ' 'self.layer.rasterizationScale = [UIScreen mainScreen] .scale; – Tjalsma

답변

2

답장하기에는 너무 늦었지만 여전히 도움이되기를 바랍니다. 매우 낮은 알파로 시각 효과보기에 흰색 배경색을 지정할 수 있습니다. 이 같은 것 :

[_visualButtonEffectView setBackgroundColor:[UIColor colorWithWhite:1.0 alpha:0.2]]; 

시각 효과보기 대신 UIToolbar를 사용해 볼 수도 있습니다. 그것은 정확히 같은 효과를주지는 못하지만 여전히 충분할 것입니다.

+0

이런 종류의 도움이 나에게 문제가 개선되고, 더 적은 깜박임이 있습니다. 하지만 완전히 사라지지 않았다. – Supertecnoboff