gpt4 book ai didi

swiftui - 如何让我的 UIView 在 SwiftUI 中正确调整其内容的大小?

转载 作者:行者123 更新时间:2023-12-04 13:15:10 26 4
gpt4 key购买 nike

我想使用 Yonat Sharon 写的很棒的 MultiSegmentPicker在我的 SwiftUI View 中。

https://github.com/yonat/MultiSelectSegmentedControl

但是,我并不完全理解 UIViewRepresentable View 和我的 SwiftUI View 之间的交互。如何让宿主 View Controller 将其高度缩小到分段控件的大小?

这是演示页面的调试器 View - 注意顶部栏周围的蓝色区域:
enter image description here

演示代码并没有深入了解这个问题,它只是对 UIViewRepresentable View 的调用。我在此处将其简化为一个示例:

   struct MultiSegmentPickerX: View {

@State private var selectedSegmentIndexes: IndexSet = []

var body: some View {
VStack(alignment: .center) {
Spacer()
MultiSegmentPicker(
selectedSegmentIndexes: $selectedSegmentIndexes,
items: ["First", "Second", "Third", "Done"]
)
}
}
}

enter image description here

请注意,我在控件之前有一个带有 Spacer() 的 VStack。

此示例所需的行为是带有“第一”、“第二”等的栏将紧贴屏幕底部。相反,主机 Controller 保留了所有空间......

我是否需要使用几何阅读器来解决这个问题并缩小高度。还是我必须在 UIViewRepresentable View 中调整某些内容?

任何关于桥接 UIKit 和 SwiftUI 的见解总是受到赞赏......
这是一个容易解决的人吗?

这些没有解决我的问题:
UIViewRepresentable content not updating

How do I make SwiftUI UIViewRepresentable view hug its content?

How do I size a UITextView to its content?

最佳答案

现在无法测试,仅凭想法,尝试使用以下固定大小

MultiSegmentPicker(
selectedSegmentIndexes: $selectedSegmentIndexes,
items: ["First", "Second", "Third", "Done"]
).fixedSize() // << here !!

关于swiftui - 如何让我的 UIView 在 SwiftUI 中正确调整其内容的大小?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61254931/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com