Hacktoberfest 2026:维护者为十月标记出来的 issue,仍然开放、适合新手。 浏览 Hacktoberfest issue

MatchedGeometryEffectClipShapeModifierExample buggy behavior

未关闭
#984 0 条评论 0 个 reaction 已指派 0 人 在 GitHub 查看

维护者通常 1 天内回复

还没有人认领这个 Issue。

评估

难度
4/5
预计耗时
3-5 天
新手友好度
48/100
Issue 类型
缺陷
描述清晰度
描述清楚
活跃度
冷清
技术栈
swift
领域
frontend

调研方向

Run ./setup.sh to use Apple's AttributeGraph backend, then set MatchedGeometryEffectClipShapeModifierExample as the root view and reproduce the transition. Compare it with MatchedGeometryEffectModifierExample and trace the clipShape overload and .clipRect rendering path. Done means the clipped content matches SwiftUI's compositing order during the transition and finishes aligned with the destination frame.

由索引模型根据 Issue 内容生成。

描述

area: animation area: rendering contrib: help wanted impact: visual-diff type: bug

Description

MatchedGeometryEffectClipShapeModifierExample does not render the same transition in OpenSwiftUI as it does in SwiftUI. The standard MatchedGeometryEffectModifierExample now behaves correctly, so the remaining problem appears specific to the clipShape overload and .clipRect rendering path.

Reproduction

Due to jcmosc/Compute#60, set up the project with Apple's AttributeGraph backend:

./setup.sh

Do not use ./setup.sh --compute, because the example currently crashes with the Compute/IAG backend.

Then use the clip-shape example as the root view:

struct ContentView: View {
    var body: some View {
        MatchedGeometryEffectClipShapeModifierExample()
    }
}

Run the Example app with OpenSwiftUI.

Expected behavior

The clipped content transitions between the source and destination frames with the same compositing order as SwiftUI, then finishes exactly at the destination frame.

Actual behavior

The transitioning clipped content remains visually on top throughout the animation, and its final rendered position does not align with the destination endpoint.

主要语言
Swift
星标
2.5k
派生
84
平均合并
2 小时 10 分钟
30 天内合并 PR
62

环境准备

从这里开始

  1. 先读完整个 Issue,再读项目的贡献指南。
  2. 在 Issue 下留言说明你要接手 —— 这能避免两个人做同样的事。
  3. Fork 仓库,在一个分支上完成修改。
  4. 提交 Pull Request,并在描述里引用这个 Issue 编号。

OpenSwiftUIProject/OpenSwiftUI 的其他 Issue

查看 OpenSwiftUIProject/OpenSwiftUI 的全部 Issue

相似的 Issue

更多 Swift Issue

把新 issue 发到你的邮箱

精选适合新手参与的 GitHub issue 摘要。