ios - 在 SwiftUI 中对齐包含的 View

标签 ios swift swiftui

好的。我正在努力复制this project作为纯 SwiftUI View 。

我的工作已经完成。我知道这个系统仍然有很多问题。第一次更新有很大帮助,但仍然存在问题。

尽管如此,我仍然希望大部分问题都是我自己造成的。这些,我可以解决。

我以与原始控件相同的方式布局控件,具有三层:背景圆圈、中间可移动元素(微调器)和顶部透明蒙版。

圆圈已经完成,我正在绘制旋转层。

我希望它看起来像这样:

What I Want

我目前的样子是这样的:

What I Get

问题是,我很难获取图像尺寸以告知偏移量,但我真正想要的是简单地使图像 anchor 位于顶部,以便对偏移量进行排序.

我尝试搞乱 alignmentGuideframe 的东西,但我一定没有很好地理解它,因为它们似乎被忽略了。

这是the code snippet对于一个图像半径,这应该发生:

struct RVS_SwiftUISpinner_ItemDisplayView: View {
    @State var itemImage: Image
    @State var size: CGSize

    var body: some View {
        return VStack(alignment: .center, spacing: 0) {
            self.itemImage
                .resizable()
                .aspectRatio(contentMode: .fit)
                .offset(y: -self.size.height)
                .frame(alignment: .top)
        }
        .frame(width: self.size.width,
               height: self.size.height,
               alignment: .bottom)
            .background(Color(red: 0, green: 1.0, blue: 1.0, opacity: 0.25))
        .offset(y: -self.size.height / 2.0)
    }
}

有人看到我做错了什么吗?我会坚持下去,最终我会找到并解决这个问题,但我基本上仍然在不断地弥补这个问题。

最佳答案

好的。我想我已经有了:

struct RVS_SwiftUISpinner_ItemDisplayView: View {
    @State var itemImage: Image
    @State var size: CGSize

    var body: some View {
        return VStack(alignment: .center, spacing: 0) {
            self.itemImage
                .resizable()
                .aspectRatio(contentMode: .fit)
                .frame(alignment: .top)
        }
        .frame(width: self.size.width,
               height: self.size.height,
               alignment: .top)
        .background(Color(red: 0, green: 1.0, blue: 1.0, opacity: 0.25))
        .offset(y: -self.size.height / 2.0)
    }
}

You-Reek-Ah

我做了外部对齐.top。

向前、向上...

关于ios - 在 SwiftUI 中对齐包含的 View ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56674165/

相关文章:

xcode - 如何快速修复 EXC_BAD_INSTRUCTION(code=EXC_1386_INVOP, subcode=0x0)

ios - 使用按钮执行 SCNAction (SwiftUI)

ios - 如何在 SwiftUI 中实现协议(protocol)和委托(delegate)

objective-c - 为什么使用 AFNetworking 而不是 dispatch_async?

ios - Xcode 11.4 编译时错误 "Content and frame layout guides before iOS 11.0"

iphone - 在字符串文件中存储键/值对

ios - NSFileManager.defaultManager().fileExistsAtPath 返回 false 而不是 true

ios - 允许来 self 的应用程序的用户 'Follow on Instagram' (Swift)

swift - 动态链接 Firebase 函数根本没有被调用 Xcode 12?

ios - 未找到 react-native-firebase FirebaseCore/FirebaseCore.h