[UIVisualEffectView _addSubview:positioned:relativeTo:] 解决方案

[UIVisualEffectView _addSubview:positioned:relativeTo:] 解决方案

最近在做适配iOS11的工作,发现原先在老版本完美运行的页面到了iOS11上面会有很多崩溃,其中就包括UIVisualEffectView的一些问题。

打了全局断点发现每次崩溃都在UIVisualEffectView addSubView这个方法上面

于是查看了文档发现一个属性:

@property (nonatomic, strong, readonly) UIView *contentView; // Do not add subviews directly to UIVisualEffectView, use this view instead.

不要直接添加子视图到UIVisualEffectView上,用这个View代替。

这样就直接解决了这个问题。

但是还是有很多疑惑

既然UIVisualEffectView继承自UIView 为什么还要加一个UIView的属性作为添加子视图来用呢?希望路过的大神可以解答。

你可能感兴趣的:([UIVisualEffectView _addSubview:positioned:relativeTo:] 解决方案)