我了解可以通过程序动态添加UIVisualEffects,有条件地执行该操作(如果该类存在),例如:
if([UIVisualEffectView class]){
UIBlurEffect *blurEffect = [UIBlurEffect effectWithStyle:UIBlurEffectStyleDark];
UIVisualEffectView *blurEffectView = [[UIVisualEffectView alloc] initWithEffect:blurEffect];
[blurEffectView setFrame:self.backgroundBlurView.bounds];
[self.backgroundBlurView addSubview:blurEffectView];
UIVibrancyEffect *vibrancyEffect = [UIVibrancyEffect effectForBlurEffect:blurEffect];
UIVisualEffectView *vibrancyEffectView = [[UIVisualEffectView alloc] initWithEffect:vibrancyEffect];
[vibrancyEffectView setFrame:self.backgroundVibrancyView.bounds];
[[vibrancyEffectView contentView] addSubview:self.backgroundVibrancyView];
[[blurEffectView contentView] addSubview:vibrancyEffectView];
vibrancyEffectView.center = blurEffectView.center;
}
但是有没有一种方法可以在故事板中添加视觉效果视图,然后有条件地将它们删除以与iOS7兼容?我尝试过这样做,但一直收到以下错误提示: iOS8之前不可用的类UIVisualEffectView
UIVisualEffectView
,而不是在 IB/Storyboard 中添加它,因为 IB/Storyboard 文件在编译时“构建”。您需要在运行时动态地使用视觉效果视图,以支持 iOS 7.x。 - n00bProgrammer