美文网首页
UIVisualEffectView - 视觉效果视图

UIVisualEffectView - 视觉效果视图

作者: js_huh | 来源:发表于2020-05-06 15:55 被阅读0次

    是什么?

    • UIVisualEffectView 视觉效果视图
    • @interface UIVisualEffectView : UIView
    • 说白了,用来应用各种'特效'(模糊效果,鲜艳效果)的一个UIView.

    有什么用?

    • 将一些复杂视觉效果(模糊或者鲜艳),展示出来的UIView.
    • 没有它,则无法将"视觉效果",展示出来.

    怎么使用?

    • 根据指定的视觉效果创建新的视觉效果视图.
      - (instancetype)initWithEffect:(nullable UIVisualEffect *)effect
    • 使用编码器,初始化视觉效果视图.
      - (instancetype)initWithCoder:(NSCoder *)coder

    有什么特点?

    • 受"视觉效果视图"影响得,是位于它后面的内容,或者直接添加到"视觉效果视图"的内容.
    • Do not add subviews directly to the visual effect view itself, instead add them to the -contentView.'
      不要直接将子视图添加到视觉效果视图本身,而是将它们添加到-contentView
      • 那么,什么情况叫做"将子视图添加到视觉效果视图"?
      UIImageView * imageView = [[UIImageView alloc] initWithImage:[UIImage imageNamed:@"XXXX"]];
      ....
      UIVisualEffectView * effectView = [[UIVisualEffectView alloc] initWithEffect:blurEffect];
       //重点: 将imageView 添加到 effectView里,是不允许得.
      [effectView addSubview:imageView];
      
      • 解决方法: 可以将"将子视图添加到视觉效果视图的contentView里面"
        [effectView.contentView addSubview:imageView];
    • 视觉效果视图的层次结构分析.
      • "添加到视觉效果视图" 的层次分析. (如: "图片"直接就在"视觉效果视图"里面) [effectView.contentView addSubview:imageView];
      • 受"视觉效果视图"影响得,是位于它后面的内容 的层次分析. (如: "视觉效果视图"依赖在"图片"上. "视觉效果视图"发生改变,直接影响至图片)
        • [imageView addSubview:effectView]; //视觉效果视图包含在imageView里面.
        • [self.view addSubview:effectView];//视觉效果视图imageView是分别独立得.

    相关文章

      网友评论

          本文标题:UIVisualEffectView - 视觉效果视图

          本文链接:https://www.haomeiwen.com/subject/ilcjghtx.html