开始用Swift开发iOS 10 - 19 使用UIPageViewController构建介绍页面
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了开始用Swift开发iOS 10 - 19 使用UIPageViewController构建介绍页面相关的知识,希望对你有一定的参考价值。
参考技术A 继续上一篇 开始用Swift开发ios 10 - 18 Search Bar 和 UISearchController ,这一篇使用 UIPageViewController 构建介绍页面,与使用 LaunchScreen.storyboard 的启动页不同。类似 UINavigationController , UIPageViewController 也是一种容器类型的控制器。这种容器类型的控制器是用来管理其它多个控制器的。
如果容器内的控制器页面元素类似(上图就是这种情况),可以通过一个控制器重复利用。
setViewControllers 方法是设置 UIPageViewController 管理的视图控制器。
页面指示就是一般在页面下用于分辨当前是第一个页面的几个小点。
实现 UIPageViewControllerDataSource 协议的两个方法: presentationCount(for:) 表示总共有几个小点(页面)。
presentationIndex(for:) 表示当前页面的索引。
不用默认的页面指示,就要把上面两个方法删除,然后使用 UIPageControl 。
完成类似下面:
但因为之前是利用 RestaurantTableViewController 的 viewDidAppear 方法显示介绍页的,而 viewDidAppear 方法是页面显示后就调用一下,这样就出现不停进入介绍页。实际上只需要第一次打开app的时显示介绍页就可以了。
UserDefaults 是用来管理应用和用户相关的设置的。也就是可以用 UserDefaults 存储一些用户相关的少量数据,比如上面的是否看过介绍页,也就是是否点击过DONE按钮了。
UserDefaults 也是通过单例模式进行操作的,通过类属性 standard 获取单例。
完成介绍页。学习了 UIPageViewController 和 UserDefaults 。
Beginning-iOS-Programming-with-Swift
此文是学习 appcode 网站出的一本书 《Beginning iOS 10 Programming with Swift》 的一篇记录
从零开始用Swift开发一个iOS应用(仿微博)开篇-1. demo上手体验
最近在学iOS开发,本系列会针对iOS从前到后的开发进行全面讲解,小到开发工具使用,大到应用市场上线。
需求:
1.显示一个橘黄色矩形
2.矩形上面一个按钮可以点击,并有响应事件
3.界面中心显示一张图片
系统版本:
Mac OS 版本:10.15.5
Xcode版本:11.5
一、创建demo项目
1.1 选择创建一个Xcode Project
1.2 选择Single View App
二、代码实现
2.1 程序入口说明
Application/AppDelegate.swift文件中的@UIApplication注解,表示这个Class类是程序的入口
2.2 代码结构说明
所有方法放到一个{}中,并有缩进。
和Java编码格式非常相似。
2.3 功能实现
2.3.1 创建一个视图,添加一个黄色矩形
import UIKit
class ViewController: UIViewController {
override func viewDidLoad() {
super.viewDidLoad()
// Do any additional setup after loading the view.
// 1.创建一个视图
let v = UIView(frame: CGRect(x:0, y:0, width: 100, height: 100))
// 2.设置背景颜色
v.backgroundColor = UIColor.yellow
// 3.添加到当前视图
view.addSubview(v)
}
}
效果如下所示:一个黄色矩形在左上角
2.3.2 添加一个按钮,并添加按钮点击事件的监听方法
// 2.创建一个按钮
let btn = UIButton(type: .contactAdd)
// 2.1 添加到当前视图
v.addSubview(btn)
// 2.2 添加点击事件
btn.addTarget(self, action: #selector(btnClick), for: .touchUpInside)
// 2.3 btnClick事件方法输出日志
效果如下所示,一个按钮在左上角,点击按钮将会输出日志
2.3.3 添加一个图片
// 3.1 添加一个图片
let iv = UIImageView(image: #imageLiteral(resourceName: "2.jpeg"))
// 3.2 添加到视图
iv.center = view.center
图片的资源路径可以通过代码添加,也可以通过工具添加
效果如下所示,图片会显示在屏幕中间。
三、上述示例swift与object-c的语法对比
3.1 创建视图类比
- Swift: UIView(XXX:)
- OC: [[UIView alloc] initWithXXX:]
类名() == alloc / init 等价
3.2 类方法类比
Swift: UIColor.yellow
OC: [UIColor yellow]
3.3 访问当前对象的属性类比
-
建议:都不使用
self.
。当编译器提示的时候,再添加,会对语境有更好的机会; -
原因:闭包(类似于 OC block)需要使用self。
3.4 不需要;
除非多行代码语句写在同一行中。
3.5 枚举类型 type对比
Swift:`type: .contactAdd`
OC: UIButtonType.ContactAdd
3.6 监听方法对比
Swift: #selector,如果带参数,不需要使用`:`
OC: @selector
3.7 调试对比
- Swift: print(xxx) 效率高,log中不包含时间,用#function来打印当前执行的方法
- OC: NSLog,用__FUNCTION__ 来打印当前执行的方法
四、注释的妙用
当我们想标注某段代码是需要refine的,我们可以添加注释标签:TODO
。
如下图所示,我在注释中添加了MARK
、TODO
、FIXME
标签前缀,这些特殊标记的锚点菜单将会显示在导航栏上,点击菜单即可跳转到对应注释的地方,非常方便。
关注后有福利:Java面试小程序、111本架构师资料
以上是关于开始用Swift开发iOS 10 - 19 使用UIPageViewController构建介绍页面的主要内容,如果未能解决你的问题,请参考以下文章
swift语言IOS8开发战记19 UIImagePickerController
周总结开发中遇到的小知识点(2019.01.14-2019.01.19)