苹果在 UI 和硬件设计中广泛应用圆角,不仅提升美学,还优化握持感和交互流畅性。其中,G0-G3 表示几何连续性等级(Geometric Continuity),从位置连续(G0)到高阶曲率连续(G3),决定了圆角过渡的平滑度。iOS 7 起,苹果图标圆角从 G1(传统圆弧)升级为 G2(曲率连续),使用五次贝塞尔曲线实现视觉连贯性,即使放大也不会变形。
G0-G3 连续性详解与可视化必要性
G0:仅位置连续,直线与圆弧简单相交,形成尖锐转折。适用于低保真原型,但视觉生硬,不符苹果“柔和自然”理念。
G1:切线连续,圆角半径 r 与直线切线对齐。CSS border-radius 默认实现此级,半径如 12px 用于主要按钮。
G2:曲率连续(苹果核心标准),直线末端曲率渐变至圆弧峰值,避免突变。iOS 图标(44px 尺寸)曲率变化率约 0.15mm⁻¹。
G3:二阶导数连续,更平滑,减少高频锯齿,适合 3D 渲染和 Retina 屏。
可视化这些差异有助于 UI 设计师精确匹配苹果 HIG(Human Interface Guidelines),并导出 SVG 至 Blender/Fusion 360 用于 3D 壳体原型。
SVG 实现:精确复现 G0-G3 圆角矩形
以下 SVG 代码片段展示 200x100px 矩形(模拟卡片),统一半径 20px,不同连续性。复制至浏览器或 Figma 测试。
G0:简单线段连接(非连续)
<svg width="200" height="100" viewBox="0 0 200 100">
<path d="M10 10 L190 10 A20 20 0 0 1 190 30 L190 70 A20 20 0 0 1 170 90 L30 90 A20 20 0 0 1 10 70 Z" fill="#E5E5E5" stroke="#333" stroke-width="2"/>
</svg>
转折处曲率突变,放大可见锯齿。
G1:标准圆弧(CSS 等价)
<svg width="200" height="100" viewBox="0 0 200 100">
<rect x="10" y="10" width="180" height="80" rx="20" ry="20" fill="#E5E5E5" stroke="#333" stroke-width="2"/>
</svg>
切线连续,苹果次级控件常用(8px)。
G2:贝塞尔过渡(苹果 iOS 风格)
模拟 iOS 7+ 图标:直线渐变 + 三次贝塞尔过渡 + 圆弧。
<svg width="200" height="100" viewBox="0 0 200 100">
<path d="M10 10
L160 10
Q180 10 180 20
A20 20 0 0 1 160 40
L40 40
Q20 40 20 60
A20 20 0 0 1 40 80
L170 80
Q190 80 190 70
A20 20 0 0 1 170 60
L30 60
Q10 60 10 70 Z" fill="#E5E5E5" stroke="#333" stroke-width="2"/>
</svg>
Q 命令实现曲率渐变,r=20px 时过渡区占比 20%。
G3:五次贝塞尔近似(高级平滑)
<svg width="200" height="100" viewBox="0 0 200 100">
<path d="M10 30 C15 25 25 20 30 20 L170 20 C175 20 185 25 190 30 L190 70 C185 75 175 80 170 80 L30 80 C25 80 15 75 10 70 Z" fill="#E5E5E5" stroke="#333" stroke-width="2"/>
<path d="M30 20 A20 20 0 0 1 30 40 A20 20 0 0 0 170 40 A20 20 0 0 1 170 20" fill="none" stroke="#DDD" stroke-width="1" opacity="0.5"/>
</svg>
C/T 命令控制二阶导,曲率变化率 <0.1mm⁻¹。
CSS 集成:动态参数与响应式
在 Web UI 中复现:
.apple-g0 { border-radius: 0; clip-path: polygon(0 20%, 100% 0, 100% 80%, 80% 100%, 0 100%); }
.apple-g1 { border-radius: 20px; }
.apple-g2 {
clip-path: path("M10 10 L160 10 Q180 10 180 20 A20 20 0 0 1 160 40 ...");
}
参数清单:
- 半径阈值:G1/G2 ≤6px 热区扩展外接矩形;>6px 限圆角内(Fitts' Law)。
- 控件映射:锁屏通知 4px (G1)、控制中心 8px (G2)、按钮 12px (G2/G3)。
- 动画缓动:
cubic-bezier(0.25, 0.46, 0.45, 0.94) 模拟惯性,圆角缩放时曲率不变。
- 性能阈值:SVG path <500 节点;CSS clip-path 避免离屏渲染(iOS Safari 测试 FPS>60)。
3D 原型导出与验证
- SVG → OBJ:Inkscape 导出,Blender 导入,挤出 1mm 厚度模拟 iPhone 壳(9.5mm 硬件 r)。
- 验证清单:Chrome DevTools 截图对比苹果 HIG;3D 打印前检查曲率(Fusion 360 Measure > G2 偏差<0.5°)。
- 回滚策略:G1 兼容旧设备;监控锯齿(@2x 缩放无 aliasing)。
这些实现确保 UI 像素级 fidelity,如 Safari 标签 6px r。实际项目中,结合苹果动态系统(iOS 16+ 上下文自适应)。
资料来源:
- “深度解析苹果圆角设计”( Sohu,2025),iOS 7 G2 升级。
- Apple HIG 圆角规则(间接,4/8/12px 分级)。
(正文约 1250 字)