1. iPad 应用
- device 选择为 iPhone 时,生成的应用可以在 iPad 上运行,但是会出现黑边
- device 选择为 iPad 时,生成的应用不能再 iPhone 上运行
2. UIStackView
概念
一个堆叠视图的容器,iOS9新特性
用途
stackView 及其子视图可以进行界面自适应,可以
减少
设置约束的工作量(基本可以不用设置约束)特点
类似 containerView–stackView 不会再界面上渲染.
stackView 里面添加的子视图
只能朝着一个方向排布
, 要么全部水平,要么全部垂直可以嵌套
stackView 的自适应的优先级低于手动设置的约束,可以通过设置约束来调整布局
属性
- Axis 轴 设置排布方向
- Aligment 对齐方式
- Fill 模式表示在
垂直方向上
填充满 - First BaseLine 与第一行文字对齐, label 才会有
- Fill 模式表示在
- Distribution 用来设置 分布方式(填充方式) – 排布方向的填充
- Spacing 子视图之间的间距
- BaseLine 基线(与文本相关才会有)
- 支持动画
- 不支持滚动
iPad 分屏原则:
按照 iPhone 竖屏的样式去显示
抗压优先级:
默认为750, 可以通过设置该值调整挤压顺序
注意事项:
- removedArrangedSubView 方法不会将子视图从视图层级上移除, 设置后stackView将不再管理该子视图, 此时子视图就会按照原始方式显示在父视图上, 必须使用 removeFromSuperView
Popover
概念
弹出框: 是应用开发中,尤其是 iPad 开发中非常重要的一个技术,
版本变化
iOS7之前, popover 功能仅限于在 iPad 上使用
iOS8开始,苹果推出 UIPopoverpresentationController 替代 UIPopoverController设置 popover 的大小
当控制器为 popover 的目标控制器时,可以通过 preferredContentSize 来设置 popover 的大小
产生 popover 的空间如果不是 UIBarButtonItem, 则产生popover 的空间会被自动设置为
来源视图
, 默认参考点会设置为来源视图
的左上角sourceRect 将 popover 的参考点设置为
来源视图
的 bounds 时就可以使得, 参考点处于来源视图
的中心. 因为此处是将整个来源视图
作为一个参考点iPhone 实现 popover
思路:
取消系统的自适应的设置
extension ViewController:UIPopoverPresentationControllerDelegate{ func adaptivePresentationStyleForPresentationController(controller: UIPresentationController) -> UIModalPresentationStyle { return .None } }
设置或略外部点击事件
设置 popover 的控制器 vc的modalInPopover为 YES, 这样就会忽略外部的所有点击
设置passthroughViews可穿透数组
Unwind Segue 解除跳转– 返回上一个控制器
- 使用时需要设置segue 的响应事件(参数必须为 segue类型),方法中不需要写任何事情
必须设置@ IBAction 关键字–便于连线
此时就可以在 IB面板 上与
Exit
连线了- 可以跨控制器进行跳转,
- currentContext: 会根据前一个控制器的设置来决定跳转方式