Peek和Pop功能开发(3D Touch开发之一)
来源:互联网 发布:java搭建视频服务器 编辑:程序博客网 时间:2024/06/05 07:36
1、哪些设备支持3D Touch
iPhone 6s/Plus、iPhone 7s/Plus、iPhone 8s/Plus、iPhone X(系统必须是iOS9或者更新的版本)
2、怎么实现Peek和Pop功能
要实现Peek和Pop,必须实现UIViewControllerPreviewingDelegate,此协议只有两个接口
1)Peek接口
public func previewingContext(_ previewingContext: UIViewControllerPreviewing, viewControllerForLocation location: CGPoint) -> UIViewController?
2)Pop接口
public func previewingContext(_ previewingContext: UIViewControllerPreviewing, commit viewControllerToCommit: UIViewController)
实现UIViewControllerPreviewingDelegate协议示例代码
extension ViewController: UIViewControllerPreviewingDelegate {func previewingContext(_ previewingContext: UIViewControllerPreviewing, viewControllerForLocation location: CGPoint) -> UIViewController? { guard let sorce = storyboard?.instantiateViewController(withIdentifier: "GameViewController") else { return nil; } // Peek弹出窗口的Size sorce.preferredContentSize = CGSize(width: 0.0, height: 500) // 预览区域(你所按位置附近一块区域) previewingContext.sourceRect = CGRect(x: 0, y: location.y - 100, width: view.bounds.size.width, height: 100) print("Peek") return sorce}func previewingContext(_ previewingContext: UIViewControllerPreviewing, commit viewControllerToCommit: UIViewController) { show(viewControllerToCommit, sender: self); print("Pop")}}
此外还需要注册一个视图来响应3D Touch操作
override func viewDidLoad() { super.viewDidLoad() // Do any additional setup after loading the view, typically from a nib. if traitCollection.forceTouchCapability == .available { // 注册一个View来响应 3D Touch操作(Peek Or Pop) registerForPreviewing(with: self, sourceView: view) print("你的设备支持3D Touch") }}
3、Demo下载
PeekAndPop
阅读全文
0 0
- Peek和Pop功能开发(3D Touch开发之一)
- 3D Touch功能之Peek&Pop
- iOS开发-------3D Touch之Peek,Pop,UIPreviewAction
- iOS9 3D Touch 标签菜单 peek and pop force 压力触控 功能开发高级版教程
- 3D Touch和peek and pop和force
- 浅谈3D Touch(2) -- UITouch && Peek && Pop
- Objc 精选 - 3D Touch 之 Peek & Pop 操作
- iOS 3D Touch使用<二、 Peek、Pop使用>
- 利用 3D touch 的“Peek and Pop”实现视频预览
- 3D Touch 功能开发 模拟器运行
- 3D Touch开发
- 3D Touch开发
- iOS 3D Touch开发
- iOS 3D touch 开发
- iOS9-3D Touch开发
- 栈peek和pop区别
- iOS9-3DTouch peek&&pop
- 3D touch功能
- Apache2+TOMCAT+Mod_JK集群环境搭建(Win7)
- 【JZOJ5406】Tree
- Android客制化------一段时间不操作Android系统则播放视频
- 那些牛人的结构化思维是如何炼成的?
- 清除浮动
- Peek和Pop功能开发(3D Touch开发之一)
- 停止HBase集群,报错:找不到pid
- 10.16考试爆炸记
- IDEA连接mysql教程,以及出现java.lang.ClassNotFoundException: com.mysql.jdbc.Driver的解决办法
- C语言和C++头文件的区别、作用
- cookies提取——从字符串到字典(一行Python代码)
- art-template 介绍
- Linux:No space left on device
- Spring框架中的IOC和DI