从 UIKit 调整 SwiftUI 组件
Posted
技术标签:
【中文标题】从 UIKit 调整 SwiftUI 组件【英文标题】:Adjust SwiftUI Component from UIKit 【发布时间】:2021-01-08 17:37:22 【问题描述】:有时我需要调整 swiftUI 组件,所以我深入 UIKit 并调整我需要的内容,例如在下面的代码中我为特定视图调整表格视图外观,问题是对所有 SwiftUI 的影响查看有表视图,所以一切都变得一团糟,是否有某种方法可以针对特定视图调整 SwiftUI 组件,而不会影响其他视图中的相同组件。
struct New_EditGroup: View
init()
let tableAppearance = UITableView.appearance()
tableAppearance.contentInset = UIEdgeInsets(top: 16, left: 0, bottom: 0, right: 0)
tableAppearance.sectionHeaderHeight = 1
tableAppearance.sectionFooterHeight = 16
var body: some View
// ...
【问题讨论】:
只需使用Section
参考 - developer.apple.com/documentation/swiftui/section。不要尝试像UIKit
那样使用SwiftUI
。最好在 SwiftUI 上观看 Apple 开发者视频,从头开始学习。不要从UIKit
到SwiftUI
进行逐行翻译,它们是完全不同的框架。
我是这样做的,但是在SwiftUI中有一些不允许做的调整,你需要使用UIKit来做。
也许你可以编辑你的存在以显示 SwiftUI 尝试的代码和图像你打算做什么
谢谢,但这不是我要找的。span>
查看间隔高度的更新答案
【参考方案1】:
struct ContentView: View
var body: some View
NavigationView
Form
Section(header: Spacer().frame(height: 16))
ForEach(1..<10) element in
Text("Element \(element)")
.navigationBarTitle("Main Menu", displayMode: .inline)
【讨论】:
以上是关于从 UIKit 调整 SwiftUI 组件的主要内容,如果未能解决你的问题,请参考以下文章
如何在 Swift UIKit Map 组件中处理 SwiftUI 中的触摸手势?
将自定义 UIKit 事件从自定义 UIKit 控件公开到 SwiftUI