Ios 图像不会模糊
我有一个完全清晰的图像视图,在调用和操作时会模糊图像并显示一些文本。然而,在我从云中调用所有信息的过程中,图像模糊现在似乎不起作用。运行的原始代码如下所示:Ios 图像不会模糊,ios,uiimageview,uiimage,blur,Ios,Uiimageview,Uiimage,Blur,我有一个完全清晰的图像视图,在调用和操作时会模糊图像并显示一些文本。然而,在我从云中调用所有信息的过程中,图像模糊现在似乎不起作用。运行的原始代码如下所示: - (void)viewDidLoad { [super viewDidLoad]; source=[UIImage imageNamed:@"testIma.jpg"]; imgView=source; } -(IBAction)Less:(id)sender{ imgView.image=[source
- (void)viewDidLoad {
[super viewDidLoad];
source=[UIImage imageNamed:@"testIma.jpg"];
imgView=source;
}
-(IBAction)Less:(id)sender{
imgView.image=[source stackBlur:40];
}
现在我把它设置成这样,但它不起作用:
- (IBAction) Less:(UISlider *)sender
{
NSLog(@"Slider:");
__block UIImage *MyPicture = [[UIImage alloc]init];
PFFile *imageFile = [object objectForKey:@"test"];
[imageFile getDataInBackgroundWithBlock:^(NSData *data, NSError *error){
if (!error) {
MyPicture = [UIImage imageWithData:data];
imgView.image = [MyPicture stackBlur:40];
}
}];
有人注意到什么不对劲吗?我似乎无法理解为什么它不再模糊。您是否验证了
MyPicture
在imageWithData:
之后不是nil
?您是否从后台线程更新UI?不要那样做。将对-setImage:
的调用发送回主线程。Tim完全正确。只能从主线程更新视图。尝试使用dispatch\u async(dispatch\u get\u main\u queue(),^{//you code here});很抱歉,我对Xcode还是有点陌生,你能帮我详细解释一下吗?