iOS 管理View
创建: 2018/04/26
完成: 2018/05/03
更新: 2018/05/04 增加UIStackView
更新: 2018/09/18 补充SFSafariViewController需要SafariServeces
视图管理器 | |||||||||||||||||||||
一个画面一个视图管理器, 管理View | |||||||||||||||||||||
画面迁移 | |||||||||||||||||||||
segue的transition |
|
||||||||||||||||||||
视图管理器的生命周期 | |||||||||||||||||||||
View-Related Notifications |
也叫生命周期方法
顺序: viewDidLoad -> viewWillAppear -> viewWillLayoutSubViews -> viewDidLayoutSubViews -> viewDidAppear -> viewWillDisappear -> viewDidDisappear func lifeCycleDebugTest(string: String) { |
||||||||||||||||||||
状态栏 | |||||||||||||||||||||
最上方, 显示时间电量等 | |||||||||||||||||||||
样式 |
preferredStatusBarStyle //------------------------------------------------------- |
||||||||||||||||||||
是否隐藏 |
prefersStatusBarHidden // 切换显示 prefersStatusBarHidden |
||||||||||||||||||||
app全局设定 | info -> Custom iOS Target Properties -> 增加View controller based status bar appearance -> Value设为NO | ||||||||||||||||||||
方向与旋转 | |||||||||||||||||||||
supportedInterfaceOrientations |
值
|
||||||||||||||||||||
代码设定 |
重写supportedInterfaceOrientations override var supportedInterfaceOrientations: UIInterfaceOrientationMask { |
||||||||||||||||||||
全局设定 | General -> Deployment Info -> Device Orientation | ||||||||||||||||||||
导航控制器(navigation controller) | |||||||||||||||||||||
导航, 上方有导航栏(navigation bar), 自带返回按钮 | |||||||||||||||||||||
把已有viewController 插入导航控制器 |
选中目标视图控制器 -> Editor -> Embed in -> Navigation Controller | ||||||||||||||||||||
使用 | 按钮等往其他视图控制器走, 自动添加返回按钮 | ||||||||||||||||||||
代码segue移动 |
navigationController?.pushViewController |
||||||||||||||||||||
tab bar controller | |||||||||||||||||||||
直接用 | |||||||||||||||||||||
简易使用table view | |||||||||||||||||||||
自带UITableViewDataSource, UITableViewDelegate | |||||||||||||||||||||
增加编辑功能 |
● 实现编辑按钮 (非必须) (1)先套进navigation controller (2)绑定编辑按钮 位置: viewDidLoad self.navigationItem.rightBarButtonItem = self.editButtonItem ● 实现功能 override func tableView(_ tableView: UITableView, canEditRowAt indexPath: IndexPath) -> Bool { |
||||||||||||||||||||
简易使用collection view | |||||||||||||||||||||
和CollectionView差不多 | |||||||||||||||||||||
管理page UIPageViewController | |||||||||||||||||||||
● 实现协议 extension PageViewController: UIPageViewControllerDataSource { ● 创建并展示 //ViewDidLoad |
|||||||||||||||||||||
alert | |||||||||||||||||||||
@IBAction func showSampleAlert(_ sender: UIButton) { |
|||||||||||||||||||||
action sheet | |||||||||||||||||||||
@IBAction func showSampleActionSheet(_ sender: UIButton) { |
|||||||||||||||||||||
选择图象(UIImagePickerController) | |||||||||||||||||||||
● 需要允许接入相册 设定请求权限时表示的信息 [Info] -> [Custom iOS Target Properties] -> 添加 [Privacy - Photo Library Usage Description] -> 在值处设置请求权限时表示的信息 ● 扩张 extension ImagePickerControllerViewController: UIImagePickerControllerDelegate, UINavigationControllerDelegate { ● 按钮的处理 @IBAction func chooseImage(_ sender: UIButton) { // 选择图象 |
|||||||||||||||||||||
用别的应用来打开(UIActivityViewController) | |||||||||||||||||||||
@IBAction func shareSelf(_ sender: UIButton) { |
|||||||||||||||||||||
显示网页(SFSafariWebViewController) | |||||||||||||||||||||
需要的头文件 |
import SafariServeces |
||||||||||||||||||||
@IBAction func showWebPage(_ sender: UIButton) { // SFSafariWebViewController |
|||||||||||||||||||||
UIStackView | |||||||||||||||||||||
排列子View | |||||||||||||||||||||
iOS 管理View的更多相关文章
- iOS Programming View Controllers 视图控制器
iOS Programming View Controllers 视图控制器 1.1 A view controller is an instance of a subclass of UIVi ...
- iOS 设置View阴影
iOS 设置View投影 需要设置 颜色 阴影半径 等元素 UIView *shadowView = [[UIView alloc] init]; shadowView.frame = CGRectM ...
- iOS圆角view的Swift实现(利用Core Graphics绘制)
iOS圆角view的Swift实现(利用Core Graphics绘制) 因为app的列表用用到了圆形图片的头像,所以去探究并思考了一下这个问题.首先这个问题有两个方向的解决方案: 把图片弄成圆形的. ...
- iOS Programming View and View Hierarchy 视图和视图等级
iOS Programming View and View Hierarchy 视图和视图等级 1.1(1)File → New → Project.. From the iOS section, ...
- iOS Container View Controller
一.UIViewController 做iOS开发的经常会和UIViewController打交道,从类名可知UIViewController属于MVC模型中的C(Controller),说的更具体点 ...
- android 和iOS的view上的区别
android上的view的类叫View, 以下是它的class overview, This class represents the basic building block for user i ...
- 图解Android - Android GUI 系统 (2) - 窗口管理 (View, Canvas, Window Manager)
Android 的窗口管理系统 (View, Canvas, WindowManager) 在图解Android - Zygote 和 System Server 启动分析一 文里,我们已经知道And ...
- iOS开发——View的透明属性hidden、alpha、opaque
Hidden.Alpha.Opaque的区别 在iOS中,每个View都有Hidden.Alpha.Opaque三个关于透明的属性,官方文档介绍如下: 1. @property(nonatomic) ...
- ios应用view之间数据传递的方式
对于不同的viewcontroller之间数据的共享和处理 采用代理的方式,子viewcontroller设计代理协议,并定义协议接口,父viewcontroller实现协议接口,实现子视图控制器退出 ...
随机推荐
- SQL SELECT TOP, LIMIT, ROWNUM 子句
SQL SELECT TOP, LIMIT, ROWNUM 子句 SQL SELECT TOP 子句 SELECT TOP 子句用于规定要返回的记录的数目. SELECT TOP 子句对于拥有数千条记 ...
- poj(1011)——Sticks(经典的dfs+剪枝)
题目的大致意思是: 如今有n根木棍,然后须要把它们拼成相同长度的木棍,问满足这个条件的最短的长度是多少? 想法嘛:那肯定是dfs把长度搜一遍就好,但问题的关键是这里会超时.那么就要用到剪枝的原理了. ...
- cocos2d-x触摸事件优先级
CCTouchDispatcher是管理cocos2d-x中全部Touch事件派发的类, CCTouchDispatcher中包括了两个CCTouchHandler的列表, 分别存储Standa ...
- FastDFS的配置、部署与API使用解读(4)FastDFS配置详解之Client配置(转)
一种方式是通过调用ClientGlobal类的初始化方法对配置文件进行加载,另一种是通过调用API逐一设置配置参数.后一种方式对于使用Zookeeper等加载属性的方式很方便. 1. 加载配置文件: ...
- eclipse svn org.tigris.subversion.javahl.ClientException: RA layer request failed
突然之间eclipse使用svn更新项目时报错,org.tigris.subversion.javahl.ClientException: RA layer request failed 网上搜的都是 ...
- 2016/06/09 ThinkPHP3.2.3使用分页
效果图:
- firefox 45 版本
在做项目的时候,发现45版本的firefox浏览器.声明函数要放在调用者的上方.而firefox的47,48版本则没有这种情况发生.
- IE6span 高度问题
IE6盒子的最小高度为20px,所以设置低于20px大小时,加上_overflow:hidden;
- 一个简单的servlet
1.创建一个自己的servlet文件,继承HttpServlet MyServlet.java package com.jmu.ccjoin.controller; import java.io.IO ...
- kbmMemTable关于内存表的使用,以及各种三层框架的评价
关于内存表的使用(kbmMemTable) 关于内存表的使用说明一. Delphi使用内存表1.1 Delphi创建内存表步骤:1. 创建一个Ttable实例.2. 设置一个DataBaseName为 ...