如何在 Swift UI 中删除 Picker 视图的灰色背景框

Posted

技术标签:

【中文标题】如何在 Swift UI 中删除 Picker 视图的灰色背景框【英文标题】:How to remove the gray background box for Picker view in Swift UI 【发布时间】:2021-04-05 10:17:20 【问题描述】:

我想从 SwiftUI 中的 Picker 视图中移除选择的背景灰色框,以便我可以自定义完整的视图。

灰色背景的选取器视图

【问题讨论】:

重复***.com/questions/58668553/…。 否 :( 我测试过,这不起作用。这部分 ui 不是来自 tableview 也不是来自分段控件。 试试这个:- ***.com/a/51339952/11224009 欢迎来到 SO - 请使用 tour 并阅读 How to Ask 以改进、编辑和格式化您的问题。如果没有Minimal Reproducible Example,就无法帮助您解决问题。 @CloudyofSky 你找到解决方案了吗? 【参考方案1】:

这个怎么样?您可以将框架格式化为您想要的任何内容(圆角、不同颜色等)

import SwiftUI

struct Test: View 
    
    init() 
        
        UIPickerView.appearance().backgroundColor = .clear
    
    
    
    enum Flavor: String, CaseIterable, Identifiable 
        case chocolate
        case vanilla
        case strawberry

        var id: String  self.rawValue 
    
    
    @State private var selectedFlavor = Flavor.chocolate

    
    var body: some View 

        
        Picker("Flavor", selection: $selectedFlavor) 
            Text("Chocolate").tag(Flavor.chocolate)
            Text("Vanilla").tag(Flavor.vanilla)
            Text("Strawberry").tag(Flavor.strawberry)
        
        
        .frame(height: 30, alignment: .center)
        .background(Color.blue)
        
    
    
    


struct Test_Previews: PreviewProvider 
    static var previews: some View 
        Test()
    


protocol PickerStyle 

【讨论】:

以上是关于如何在 Swift UI 中删除 Picker 视图的灰色背景框的主要内容,如果未能解决你的问题,请参考以下文章

在 UI Picker View Swift 中重新加载组件

vue mintui 自定义多级联动

在 swift ui 中找不到 PopUpButtonPickerStyle [关闭]

如何保持 Tableview 滚动以及如何在 Swift3 中删除原型单元和 tableview 之间的空白空间

如何在 Swift 中呈现 UI 视图并保留 Tab 栏

在 Swift 中将 ui Image 制作成完美的圆圈