Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/algorithm/12.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Swift GeometryReader&x27;s子视图溢出宽度_Swift_Xcode_Swiftui_Frame_Geometryreader - Fatal编程技术网

Swift GeometryReader&x27;s子视图溢出宽度

Swift GeometryReader&x27;s子视图溢出宽度,swift,xcode,swiftui,frame,geometryreader,Swift,Xcode,Swiftui,Frame,Geometryreader,我目前正在使用GeometryReader和Image在3列网格中生成图像。在这个网格中,我想当用户点击图像时,他们会看到更大的版本 但是,当我实现此功能时,GeometryReader无法正常工作。GeometryReader中的图像溢出传递给GeometryReader的帧大小 我已经检查过GeometryReader的大小是1:1,但是当您看到视图层次的屏幕截图时,图像的大小是不同的 下面是我的自定义图像视图的代码 GeometryReader { geo in if is

我目前正在使用GeometryReader和Image在3列网格中生成图像。在这个网格中,我想当用户点击图像时,他们会看到更大的版本

但是,当我实现此功能时,GeometryReader无法正常工作。GeometryReader中的图像溢出传递给GeometryReader的帧大小

我已经检查过GeometryReader的大小是1:1,但是当您看到视图层次的屏幕截图时,图像的大小是不同的

下面是我的自定义图像视图的代码

GeometryReader { geo in
        if isZoomable {
            Image("Image_gallery_default")
                .centerCropped(width: geo.size.width, height: geo.size.height)
                .aspectRatio(1.0, contentMode: .fill)
                .onTapGesture {
                    showImage = true
                }
        } else {
            Image("Image_gallery_default")
                .centerCropped(width: geo.size.width, height: geo.size.height)
        }
    }
“中心裁剪”修改器只是一组可调整大小的/缩放填充/边框/剪裁以使图像中心裁剪

self
        .resizable()
        .scaledToFill()
        .frame(width: width, height: height)
        .clipped()
屏幕上的图像很好

但如果你点击第一张图片的右侧(turlip one),它会显示右侧的图片

为什么图像视图会溢出,而不是跟随GeometryReader的宽度? 我试图找出解决办法,但没有找到类似的办法


将您的代码包含在一个列表中。否则,调试这个的机会很小。好的,我已经添加了代码。也许这就足够了?不太确定什么是出乎意料的。。。每个修改器都会围绕修改后的视图创建(或可以创建)一个新视图,以将其显示在屏幕上,但不需要更改原始视图本身。那怎么了?正如我从截图中看到的,所有的内容都是按原样呈现的。@Asperi几何读取器中的图像大小从右到左溢出。。。因此,当我单击左侧图像的右侧时,会单击右侧图像。