首页
AI Coding
NEW
沸点
课程
直播
活动
AI刷题
APP
插件
搜索历史
清空
创作者中心
写文章
发沸点
写笔记
写代码
草稿箱
创作灵感
查看更多
会员
登录
注册
zzzwco
掘友等级
Cooker
|
HomeStation
iOS | macOS | SwiftUI
获得徽章 0
动态
文章
专栏
沸点
收藏集
关注
作品
赞
0
文章 0
沸点 0
赞
0
返回
|
搜索文章
最新
热门
SwiftUI 中的 GeometryReader、PreferenceKey
GeometryReader 是一个通过闭包来构建视图的容器,可以返回一个 GeometryProxy 类型的结构体,它包含如下属性和方法,由此我们可以获取当前视图容器(即父视图)的尺寸和位置,绘制以其为参考坐标系的视图。 这与我们之前所说的枚举类型对应的坐标参考系是一致的。 …
SwiftUI 自适应布局
关于 Size Class,可以参考 Adaptivity and Layout 中的内容。 SwiftUI 中,我们可以通过 @Environment 来获取当前的 Size Class,如下代码所示,当 horizontalSizeClass 为 compact 时,我们使…
SwiftUI 自定义对齐方式
SwiftUI 为我们提供了多种默认的对齐方式,如 .top,.bottom,.center 等。如下是将苹果的 logo 和 文字 “Apple” 对齐的代码: 如果我们想把文字 “Apple” 往上移动一些,换言之,文字的底部略高于于 logo 的底部。可以通过重写 ali…
SwiftUI 合理使用 EquatableView
在实际开发中,很多界面可能是不需要频繁刷新的。虽然 SwiftUI 中的视图非常廉价,但是,如果有一种方法能减少只有在特定条件下需要刷新的视图的重绘,那么何乐而不为呢?而 EquatableView 可以做到这一点,使视图树减少不必要的重绘,优化了性能。 WeatherView…
SwiftUI 布局优先级与视图理想尺寸
layoutPriority 可以使我们手动控制视图的布局优先级。我们看看如下代码: 在不打开注释处的代码时,最后的 Text 文字是会被压缩显示成省略号的。系统默认所有 View 的 layoutPriority 都是 0。如果我们将注释打开,赋予最后的 Text 较高的优先…
SwiftUI 中的 OutlineGroup、DiclosureGroupView
OutlineGroup 与前面章节提到的可展开列表类似,只是它的使用范围更广,我们不一定要在 List 中才能实现可展开功能。在任何一个 View 中,我们都可以用 OutlineGroup 实现可展开功能。 这和之前 List 的使用方法几乎一模一样。 DiclosureG…
SwiftUI 教程 2.3 【布局】容器
Form 用于快速构建表单视图,比如 app 中常用的设置页面。 Form 和 List 非常相似,只是 List 有多种样式可以选择,而 Form 样式单一。 在官方文档中关于 ViewBuilder 的描述中,我们可以清晰地看到,构建视图的闭包中,最多只能传入 10 个子视…
SwiftUI 教程 2.2 【布局】滑动
通常我们的列表并非静态,而是与动态的数据源绑定的。List 可以通过传入 data 来实现,不过这里的 data 需要遵循 Identifiable 协议,这样才能保证数据的唯一性。 id 是协议要求实现的属性(遵循 Hashable 协议),我们也可以在实例初始化时传入 0,…
SwiftUI 教程 2.1 【布局】格子
LazyHGrid 和 LazyVGrid 可以快速构建类似 CollectionView 的视图,其核心要点就是通过 GridItem 进行动态布局。 每一个 GridItem 实例都对应格子视图中的某一行或列,并为之配置对齐方式 alignment、与下一个 GridIte…
SwiftUI 教程 1.9 SwiftUI 中的属性包装器
SwiftUI 提供了许多的属性包装器(Property Wrapper),极大简化了我们的工作。属性包装器,实际上是对声明的属性做了一层封装,在内部实现了一些我们看不见的操作。 下面会在概念和使用上简介 SwiftUI 中常用的属性包装器,不在代码层面做具体演示。更详细的内容…
下一页
个人成就
文章被点赞
59
文章被阅读
43,895
掘力值
744
关注了
0
关注者
36
收藏集
0
关注标签
15
加入于
2020-12-22