zoukankan      html  css  js  c++  java
  • NSView如何实现类似于UIView中的clipsToBounds功能(即不切割其SubView)

    在iOS开发中,UIView有一个clipsToBounds属性,可以设置UIView是否切割Subview超出本身的部分,Apple Developer文档的定义如下: 

    但是在Mac开发时,首先因为相关的资料在网上很少,NSView也没有这个属性,所以对于如何在NSView中实现类似于clipsToBounds的功能困扰了我很久,最终在StackOverFlow和简书上找到了相关的解决方法

    1⃣️ 通过重写wantsDefaultClipping属性 (不推荐)

    参考资料:https://stackoverflow.com/questions/17793022/make-nsview-not-clip-subviews-outside-of-its-bounds/19991676#19991676

    实现:对于父类和子类都要Override wantsDefaultClipping

    override var wantsDefaultClipping: Bool {
           return false
    }

    2⃣️ 推荐方法

    参考资料:https://www.jianshu.com/p/42aa3f79117b

        //对于父类
        [superView setWantsLayer:true];
        superView.layer.masksToBounds = false;
    
        //对于子类
        [subView setWantsLayer:true];

    搞定啦~配合上Masonry自动布局以后效果如图   

  • 相关阅读:
    dos命令连接mysql并且查看编码方式
    node.js 好博客
    node.js 连接数据库
    express的基本配置项
    express 手册
    VPS巴士
    nodejs书籍
    nodejs connect模块
    网站工具,如天气,手机归属地
    NodeJS的异步编程风格
  • 原文地址:https://www.cnblogs.com/DaiShuSs/p/13170190.html
Copyright © 2011-2022 走看看