Popover跳转
1.1-简介
什么是Popover?
UIViewController进行跳转的时候,可以设置跳转样式
Popover样式是iOS8加入的新特性
1.2-在StoryBoard中使用Popover
1.创建目标控制器2.连线控制器,选择present as popover3.设置popover大小
ViewController.swift
import UIKit
class ViewController: UIViewController {
override func viewDidLoad() {
super.viewDidLoad()
}
override func didReceiveMemoryWarning() {
super.didReceiveMemoryWarning()
}
override func prepareForSegue(segue: UIStoryboardSegue, sender: AnyObject?) {
let desVC = segue.destinationViewController
let popover = desVC.popoverPresentationController
popover?.
delegate = self
if segue.identifier ==
"function"
{
desVC.preferredContentSize = CGSizeMake(
100,
100)
}
else if segue.identifier ==
"group"
{
popover?.sourceRect = (popover?.sourceView?.bounds)!
}
}
}
extension ViewController:UIPopoverPresentationControllerDelegate
{
func adaptivePresentationStyleForPresentationController(controller: UIPresentationController) -> UIModalPresentationStyle {
return UIModalPresentationStyle.None
}
}
1.3-总结
当控制器model跳转样式为popover样式时,可以通过目标控制器的popoverPresentationController获取对应的UIPopoverPresentationController对象
popover样式进行跳转的时候,iPad样式和iPhone样式区别
iPad下默认是弹窗形式,且代码无法更改iPhone下默认是全屏显示,并且不会自带消失按钮
第一种解决方案:实现UIPopoverPresentationControllerDelegate,取消自适应第二种解决方案:实现UIPopoverPresentationControllerDelegate,采用UINavigationController替换原有Controller,手动添加消失按钮
popover常用属性有两个,SourceView和SourceRect
SourceView:来源视图,Storyboard跳转默认的是连线的那一个视图,代码跳转需要手动指定SourceRect:目标参考点,根据来源视图的种类分为两种,UIBarButtonItem和非UIBarButtonItem。
非UIBarButtonItem:默认在来源视图的左上角,当使用来源视图的bounds为参考点时,则会将来源视图的中心点设置为参考点UIBarButtonItem:系统自动适应,设置无效
popover箭头方向可以通过设置permittedArrowDirections属性更改
默认为Unknow(系统自动判断)
转载请注明原文地址: https://ju.6miu.com/read-1000099.html