在使用自定义view时,若直接使用,如下
MBProgressHUD *hud = [MBProgressHUD showHUDAddedTo:self.view animated:YES]; hud.label.text = @"加载中…"; hud.mode = MBProgressHUDModeCustomView; UIImage *image = [[UIImage imageNamed:@"toast_loading"] imageWithRenderingMode:UIImageRenderingModeAlwaysTemplate]; UIImageView *imgView = [[UIImageView alloc] initWithImage:image]; hud.customView = imgView; hud.bezelView.color = [UIColor colorWithWhite:0.0 alpha:1]; //文字颜色
hud.contentColor = [UIColor whiteColor]; hud.animationType = MBProgressHUDAnimationFade;
那么效果为
若想使自定义view有动态效果,那么需要对UIImageView添加动画
MBProgressHUD *hud = [MBProgressHUD showHUDAddedTo:self.view animated:YES]; hud.label.text = @"加载中…"; hud.mode = MBProgressHUDModeCustomView; UIImage *image = [[UIImage imageNamed:@"toast_loading"] imageWithRenderingMode:UIImageRenderingModeAlwaysTemplate]; UIImageView *imgView = [[UIImageView alloc] initWithImage:image]; CABasicAnimation *anima = [CABasicAnimation animationWithKeyPath:@"transform.rotation"]; anima.toValue = @(M_PI*2); anima.duration = 1.0f; anima.repeatCount = 10; [imgView.layer addAnimation:anima forKey:nil]; hud.customView = imgView; hud.bezelView.color = [UIColor colorWithWhite:0.0 alpha:1]; //文字颜色
hud.contentColor = [UIColor whiteColor]; hud.animationType = MBProgressHUDAnimationFade;
此时效果为
最后补充,若想设置hud大小,可以用
hud.minSize = CGSizeMake(165,90);