I have a custom view:
struct ImageContent: View {
var body: some View {
Image(\"smile\")
.resizable()
.scaledToFit()
I'm not sure why this is happening but you can use what others have suggested, or use the midX
and midY
comes GeometryProxy
's frame. Like the following:
var body: some View {
GeometryReader { geometry in
ImageContent()
.position(x: geometry.frame(in: .local).midX, y: geometry.frame(in: .local).midY)
}
}
Try the following (built-in container by default expanded to size of GeometryReader and have explicit default alignment set to center by both dimensions). Tested with Xcode 11.2.
var body: some View {
GeometryReader { geometry in
VStack { // explicit container with center default alignment
ImageContent()
}
}
}
for what do you need GeometryReader, if you don't use the provided GeometryProxy values?
struct ContentView: View {
var body: some View {
GeometryReader { geometry in
ImageContent()
.position(x: geometry.size.width / 2, y: geometry.size.height / 2)
}
}
}
will define the exact position based on value provided