前言 后续这个SwiftUI分类的文章全部都是针对SwiftUI的日常学习和理解写的,自己利用Swift写的第二个项目也顺利上线后续的需求也不是特着急,最近正好有空就利用这段时间补一下自己对SwiftUI的理解,这个过程当中正好把整个学习过程记录下来,方便自己查阅,也希望能给需要的同学一点点的帮助.由于自己还欠着RxSwift的帐,这次也是想着先放弃别的账务(欠的的确挺多的)先全心全意的把这两块的帐给补补,希望补上这笔账之后自己对Swift的理解也能上一个台阶,对Siwft的理解自认为还是感觉欠…
[Android开发学iOS系列] iOS写UI的几种方式 作为一个现代化的平台, iOS的发展也经历了好几个时代. 本文讲讲iOS写UI的几种主要方式和各自的特点. iOS写UI的方式 在iOS中写UI有多种选择, 大的分类: 使用UIKit还是SwiftUI. 在使用UIKit的情形下, 还根据是否使用storyboard来区分. UIKit: 用storyboard.也叫Interface Builder. 采用代码来写UI, 手写约束. SwiftUI. 注意: 以上的几种方式在项目里可…
8. 动态生成预览 接下来,我们会在 LandmarkList_Previews 中添加代码以在不同的设备尺寸上渲染列表.默认情况下,预览会以当前的 scheme 中设备的大小进行渲染.我们可以通过调用 previewDevice(_:) 方法来改变预览设备.SwiftUI官方教程 8.1 首先,改变当前 list 的预览来显示 iPhone SE 的尺寸. 我们可以输入任何 Xcode scheme 菜单中显示的设备名称. LandmarkList.swift import SwiftUI s…
7. 给子 View 传递数据 LandmarkDetail 现在依然使用硬编码的数据来显示地标.像 LandmarkRow 一样,LandmarkDetail 类型和它组合的其他 view 都需要一个 landmark 属性作为它们的数据源. 在开始子 view 的内容时,我们会把 CircleImage . MapView 和 LandmarkDetail 的显示从硬编码改为传入的数据.SwiftUI 官方教程 7.1 在 CircleImage.swif 中,添加存储属性 image .S…
6. 在列表和详情之间设置导航 虽然列表已经能显示了,但是我们还不能通过点击单个地标来查看地标详情页面.SwiftUI教程 把 list 嵌入一个 NavigationView 中,并把每个 row 嵌套在一个 NavigationButton 中来设置到目标 view 的转场,这样 list 就具有了导航功能. 6.1 把自动创建地标的 list 嵌入到一个 NavigationView 中. LandmarkList.swift import SwiftUI struct LandmarkL…
SwiftUI官方教程(五) 5. 同时使用 UIKit 和 SwiftUI 至此,我们已准备好创建 map view 了,接下来使用 MapKit 中的 MKMapView 类来渲染地图. 在 SwiftUI 中使用 UIView 子类,需要将其他 view 包装在遵循 UIViewRepresentable 协议的 SwiftUI view 中. SwiftUI 包含了和 WatchKit . AppKit view 类似的协议. 首先,我们创建一个可以呈现 MKMapView 的自定义 v…
SwiftUI 官方教程(四) 4. 自定义 Image View 搞定名称和位置 view 后,我们来给地标添加图片. 这不需要添加很多代码,只需要创建一个自定义 view,然后给图片加上遮罩.边框和阴影即可. 首先将图片添加到项目的 asset catalog 中. SwiftUI 官方教程 4.1 在项目的 Resources 文件夹中找到 turtlerock.png ,将它拖到 asset catalog 的编辑器中. Xcode 会给图片创建一个 image set . 接下来,创建…
3. 用 Stacks 组合 View 在上一节创建标题 view 后,我们来添加 text view,它用来显示地标的详细信息,比如公园的名称和所在的州. 在创建 SwiftUI view 时,我们可以在 view 的 body 属性中描述其内容.布局和行为.由于 body属性仅返回单个 view,所以我们可以使用 Stacks 来组合和嵌入多个 view,让它们以水平.垂直或从后到前的顺序组合在一起. 在本节中,我们使用水平的 stack 来显示公园的详细信息,再用垂直的 stack 将标题…
SwiftUI 官方教程(二) 2. 自定义 Text View 为了自定义 view 的显示,我们可以自己更改代码,或者使用 inspector 来帮助我们编写代码. 在构建 Landmarks 的过程中,我们可以使用任何编辑器来工作:编写源码.修改 canvas.或者通过 inspectors ,无论使用哪种工具,代码都会保持更新. 接下来,我们使用 inspector 来自定义 text view . SwiftUI教程 2.1 在预览中,按住 Command 并单击问候语来显示编辑窗口,…
完整中文教程及代码请查看 https://github.com/WillieWangWei/SwiftUI-Tutorials   创建和组合 View 此部分将指引你构建一个发现和分享您喜爱地方的 iOS app —— Landmarks .首先我们来构建显示地标详细信息的 view. Landmarks 使用 stacks 将 image.text 等组件进行组合和分层,以此来给 view 布局.如果想给视图添加地图,我们需要引入标准 MapKit 组件.在我们调整设计时,Xcode 可以作…