SwiftUI 第2页
动画(四) - 过渡-Stewed Noodles 资源

动画(四) – 过渡

以视图的插⼊和移除来设定动画,SwiftUI 将这些动画称为 过渡 (transition) 。 当我们使⽤动画来改变那些会导致视图插⼊或者移除的状态时,SwiftUI 会添加⼀个默认的 .opacity 过渡效果。 struc...
jiulinxiri的头像-Stewed Noodles 资源烩之面大会员jiulinxiri8个月前
09210
布局(五) - 对齐-Stewed Noodles 资源

布局(五) – 对齐

默认情况下,⼏乎所有的视图都会把⼦视图居中对⻬。Text('Hello') .frame(width: 100, height: 100) frame 修饰器拥有⼀个默认值为 .center 的 alignment 参数。这 100⨉100 的区域中,⽂本将被...
jiulinxiri的头像-Stewed Noodles 资源烩之面大会员jiulinxiri10个月前
0279
布局(一) - 布局算法-Stewed Noodles 资源

布局(一) – 布局算法

布局的具体算法描述如下:父视图向子视图提供一个建议尺寸。⼦视图基于这个建议尺⼨决定⾃⼰的尺⼨,如果这个⼦视图还有⾃⼰的⼦视图,从步骤 1 开始递归。⼦视图将它的尺⼨报告给⽗视图。⽗视图...
jiulinxiri的头像-Stewed Noodles 资源烩之面大会员jiulinxiri10个月前
0398
布局(二) – 叶子视图-Stewed Noodles 资源

布局(二) – 叶子视图

叶子视图 这里是指没有子视图的视图。Text默认情况下,Text 视图会去适应任意的建议尺⼨,设法让⾃⼰适配 (不超过) 这个尺⼨。Text 使用的策略顺序如下:将⽂本分成多⾏ (英⽂内容按单词换⾏)单...
jiulinxiri的头像-Stewed Noodles 资源烩之面大会员jiulinxiri10个月前
0368
布局(七) - 基于首选项的布局-Stewed Noodles 资源

布局(七) – 基于首选项的布局

几何读取器使⽤⼏何读取器 (GeometryReader),我们可以测量被建议的尺⼨。⼏何读取器⽆条件接受被建议尺⼨,并通过⼀个⼏何代理 (GeometryProxy) 将该尺⼨报告给它的视图构建器闭包。通过⼏何代...
jiulinxiri的头像-Stewed Noodles 资源烩之面大会员jiulinxiri10个月前
0507
布局(三) - 视图修饰符-Stewed Noodles 资源

布局(三) – 视图修饰符

视图修饰符总是把已经存在的视图包装到另⼀层中去:修饰符会变为它所作⽤的视图的⽗视图。Padding.padding 修饰符使⽤它收到的内边距值来修改建议尺⼨,它会从建议尺⼨的对应边上减去这个边距值...
jiulinxiri的头像-Stewed Noodles 资源烩之面大会员jiulinxiri10个月前
0296
动画(二) - 控制动画-Stewed Noodles 资源

动画(二) – 控制动画

在 SwiftUI 中,有多种⽅式可以指定动画发⽣地时机 当某个特定的值改变时,触发隐式动画。 当某个特性事件发⽣时,触发显示动画。 动画类型 隐式动画 要指定隐式动画,可以在视图树的任意位置使...
jiulinxiri的头像-Stewed Noodles 资源烩之面大会员jiulinxiri10个月前
0515
GeometryReader-Stewed Noodles 资源

GeometryReader

要获得视图的大小,即使不是不可能,也是很困难的。这正是 GeometryReader 可以提供帮助的地方。 GeometryReader 与推出式容器视图类似,可以添加子视图。它允许检查和使用有助于定位其中其他视...
jiulinxiri的头像-Stewed Noodles 资源烩之面大会员jiulinxiri8个月前
0120
如何使用 matchedGeometryEffect() 将一个视图的动画同步到另一个视图-Stewed Noodles 资源

如何使用 matchedGeometryEffect() 将一个视图的动画同步到另一个视图

如果你在视图层次结构的两个不同部分中有相同的视图,并且希望在这两者之间进行动画过渡——例如,从列表视图切换到放大的详细视图——那么你应该使用 SwiftUI 的 matchedGeometryEffect() 修饰...
jiulinxiri的头像-Stewed Noodles 资源烩之面大会员jiulinxiri6个月前
0160
视图传递-Stewed Noodles 资源

视图传递

使用初始化器传递数据 struct ContentView: View { var body: some View { NavigationView { NavigationLink(destination: DetailView(text: '来自 ContentView 的您好')) { Text('转到详细视图...
jiulinxiri的头像-Stewed Noodles 资源烩之面大会员jiulinxiri3个月前
0260