SwiftUI:如何使列表视图透明?如何更改列表视图背景颜色?

Posted

技术标签:

【中文标题】SwiftUI:如何使列表视图透明?如何更改列表视图背景颜色?【英文标题】:SwiftUI: how to make List view transparent? How to change List view background color? 【发布时间】:2019-11-21 15:35:19 【问题描述】:

如果使用 Swift UI 创建列表,我的列表背景将无法控制

看起来没有“本机”方式来更改列表背景颜色的背景颜色。

如何让它透明?

(答案如下)

【问题讨论】:

【参考方案1】:

以下代码使所有Lists 背景颜色透明:

// Removes background from List in SwiftUI
extension NSTableView 
    open override func viewDidMoveToWindow() 
        super.viewDidMoveToWindow()
        
        backgroundColor = NSColor.clear
        enclosingScrollView!.drawsBackground = false
    

以下代码使所有TextEditors 背景颜色透明:

extension NSTextView 
    open override var frame: CGRect 
        didSet 
            backgroundColor = .clear //<<here clear
            drawsBackground = true
        
    

【讨论】:

我无法在 Mac OS 项目中使用 UITableView。它给了我以下错误:使用未解析的标识符'UITableView'

以上是关于SwiftUI:如何使列表视图透明?如何更改列表视图背景颜色?的主要内容,如果未能解决你的问题,请参考以下文章

如何使 SwiftUI 滚动视图缩小到内容?

如何在 SwiftUI 中使整个列表行成为 NavigationLink

SwiftUI - 如何在编辑模式下更改列表的背景

如何使 SwiftUI 列表行背景颜色扩展整个宽度,包括安全区域之外

SwiftUI - 如何在修改来自同一结构的状态变量时避免刷新列表

SwiftUI Tabview 修复