小编Bas*_*sen的帖子

UIKit 中的可扩展 SwiftUI 视图垂直居中

我正在 UIKit 应用程序中集成一些新的 SwiftUI 视图,但遇到了问题。我已经研究了以下问题很长一段时间,但尚未找到原因和解决方案。当将 View 集成到 UIKit 中时,该问题尤其会出现。我正在尝试创建一个简单的可点击视图,点击时会垂直展开/折叠。

这就是 SwiftUI 视图的预览的样子(以及它应该如何表现):
屏幕截图
视频

这是我在 UIKit 中实现 SwiftUI View 时得到的结果:
屏幕截图
视频

看起来即使我将 UIHostingController 视图的顶部操作限制为父视图,UIHostingController 视图也会垂直居中。

正如评论中提到的,我可以将 HostController 视图的底部限制到其父视图的底部,但这会使下面的内容无法交互。

我正在寻找一种解决方案,其中 HostController 视图约束(特别是高度)与 SwiftUI 视图框架匹配。

SwiftUI 视图的代码:

import SwiftUI

struct ColorView: View {
  @State var isCollapsed = true

  var body: some View {
    VStack {
      VStack(spacing: 5) {
        HStack {
          Spacer()
          Text("Title")
          Spacer()
        }
        .frame(height: 100)

        if !isCollapsed {
          HStack {
            Spacer()
            Text("description")
            Spacer()
          }
          .padding(40)
        }
      }
      .background(Color(isCollapsed ? UIColor.red …
Run Code Online (Sandbox Code Playgroud)

uikit ios swiftui

6
推荐指数
1
解决办法
1063
查看次数

标签 统计

ios ×1

swiftui ×1

uikit ×1