SwiftUI 表格加粗

Posted

技术标签:

【中文标题】SwiftUI 表格加粗【英文标题】:SwiftUI sheets bolded 【发布时间】:2020-10-16 08:06:52 【问题描述】:

当我使用 SwiftUI 呈现工作表时,所有内容都会变粗。如果我轻扫一下,粗体就会消失。

例子:

.navigationBarItems(leading:
    Button(action:
      self.isSheetPresented.toggle()
    ) 
      Text("Display")
    
    .frame(width: 25, height: 45)
    .sheet(isPresented: $isSheetPresented) 
      Textfield("Hello", text: $binding)
    )
  

除了申请还有什么简单的解决方法

.fontWeight(.regular) or .font(.body) 

对一切?

PS:在 MacOS 11.0 Beta (20A5395g) 上运行 Xcode 版本 12.2 beta 3 (12B5035g)

【问题讨论】:

【参考方案1】:

尝试将工作表移出 navigationBarItems 并附加到正文内的某个视图,例如

// ... other views
.navigationBarItems(leading:
    Button(action:
      self.isSheetPresented.toggle()
    ) 
      Text("Display")
    
    .frame(width: 25, height: 45)
)

...

 // end of NavigationView
.sheet(isPresented: $isSheetPresented)     // << here !!
  Textfield("Hello", text: $binding)

【讨论】:

我在 SwiftUI 中遇到绝对严重的随机错误的次数令人难以置信。瞧,将 .sheet 移到 navigationBarItems 之外解决了这个问题 - 真正的问题是为什么它甚至是一个问题 真的有效!我不明白为什么。我认为这是一个奇怪的错误。【参考方案2】:

好的,我做了一些测试:

.navigationBarItems(leading:
                                Button(action: self.showingSettings = true) 
                Image(systemName: "gear")
            
            //.sheet(isPresented: $showingAddItem, content: 
              //  AddView(expirations: self.expirations)
            ,
                    trailing:
                        Button(action: self.showingAddItem = true) 
                Image(systemName: "plus")
            
            //.sheet(isPresented: $showingSettings, content: 
            //    SettingsView()
            
        )
        .sheet(isPresented: $showingAddItem, content: 
            AddView(expirations: self.expirations)
        )
        .sheet(isPresented: $showingSettings, content: 
            SettingsView()
        )

但是这样做,尾随按钮不起作用,只有前导按钮不起作用

【讨论】:

以上是关于SwiftUI 表格加粗的主要内容,如果未能解决你的问题,请参考以下文章

在 SwiftUI 中,如何将primaryAction ToolbarItem 加粗?

如何使用 XCUITest 查询 SwiftUI 表格单元格

如何将上下文菜单应用于 SwiftUI 表格行?

SwiftUI - 如何将文本视图与另一个文本视图垂直对齐,以制作类似于正确对齐的表格?

表单/表格中的 SwiftUI 多个 NavigationLink - 条目保持突出显示

SwiftUI如何对齐大于屏幕宽度的视图