首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >背景鲜艳的NSCollectionView

背景鲜艳的NSCollectionView
EN

Stack Overflow用户
提问于 2016-03-09 08:17:36
回答 1查看 856关注 0票数 3

我正在尝试让我的应用程序中的NSCollectionView使用一个鲜艳(半模糊透明)的背景。通过简单地将视图(例如,标签或进度指示器)添加到NSVisualEffectView,我已经成功地为其他视图实现了这一点。我还在NSCollectionView用来呈现其内容的NSCollectionViewItem视图上进行了尝试。这也是可行的。

但我无法让NSCollectionView使用充满活力的背景。我尝试过将包含NSCollectionView的NSScrollView添加到NSVisualEffectView中,但这不起作用。我还将drawsBackground属性设置为false (在接口生成器中和编程上都是如此:collectionScrollView?.drawsBackground = falsecollectionScrollView?.backgroundColor = NSColor.clearColor()

视图层次结构为:

代码语言:javascript
复制
Window
- View
  - Split View
    - Custom View (with a source list)
    - Custom View
      - Visual Effect View
        - Scroll View
          - Clip View
            - Collection View

注意:我还尝试将包含NSCollectionViewNSScrollView的背景颜色更改为任何其他颜色(例如红色),但这也不起作用(无论是在界面生成器中还是在编程中)。背景保持为白色。

EN

回答 1

Stack Overflow用户

发布于 2019-04-27 02:27:10

上面的评论是正确的,但重要的是要注意,NSCollectionView嵌入在一个有其自身背景的NSScrollView中。解决方案是将集合视图的背景设置为清除,并将封闭的滚动视图设置为不绘制其背景。这可以在Interface Builder中完成,或者使用下面的第二行代码来完成。

代码语言:javascript
复制
collectionView.backgroundColors = @[[NSColor clearColor]];
collectionView.enclosingScrollView.drawsBackground = NO;

当然,请确保没有其他superview正在绘制不透明的背景(例如,将父视图的类设置为NSVisualEffectView

更多细节可以在this answer上找到(基本上相同的问题)。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/35880623

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档