这篇文章中我们主要来叙述一下上述动画效果的实现方案。主要涉及 View Controller 转场动画的知识。
我搭建了个人站点,那里有更多内容,请多多指教。点我哦!!!
Presenting a View Controller
显示一个 View Controller 主要有一下几种方式:
- 使用 segues 自动显示 View Controller;
- 使用 showViewController:sender: 和 showDetailViewController:sender: 方法显示 View Controller;
- 调用 presentViewController:animated:completion: 方法依模态形式显示 View Controller
通过上述方式,我们可以将一个 View Controller 显示出来,而对于显示地形式,我们可以使用 UIKit 中预定义的形式,也可以自定义(即自定义转场动画)。
Customizing the Transition Animations
自定义转场动画中,主要包含以下几个组件:
- Presenting View Controller(正在显示的 View Controller)
- Animator(动画管理者)
- Presented View Controller(要显示的 View Controller)
- Transitioning Delegate Object(转场代理,用来提供 Animator 对象)
实现自定义转场动画,通常按照以下几个步骤来完成
- 创建 Presented View Controller;
- 创建 Animator;
- 设置 Presented View Controller 的 transitioningDelegate 属性,并实现 UIViewControllerTransitioningDelegate 提供 Animator 对象;
- 在 Presenting View Controller 中调用 presentViewController:animated:completion: 显示 Presented View Controller;
Presented View Controller
这里,我们将 Presented View Controller 本身作为其转场代理,你也可以使用单独的代理对象。
class PresentedViewController: UIViewController { let imageView = UIImageView(image: UIImage(named: "jd_add.jpg")) override func viewDidLoad() { super.viewDidLoad() // 1.设置 transitioningDelegate(转场代理) transitioningDelegate = self modalPresentationStyle = .custom view.addSubview(imageView) } override func viewDidLayoutSubviews() { super.viewDidLayoutSubviews() imageView.frame = CGRect(x: 0, y: 120, width: UIScreen.main.bounds.width, height: UIScreen.main.bounds.height - 120) } override func touchesBegan(_ touches: Set, with event: UIEvent?) { self.dismiss(animated: true, completion: nil) }}
免责声明:
① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。
② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341
软考中级精品资料免费领
- 历年真题答案解析
- 备考技巧名师总结
- 高频考点精准押题
- 资料下载
- 历年真题
193.9 KB下载数265
191.63 KB下载数245
143.91 KB下载数1142
183.71 KB下载数642
644.84 KB下载数2755
相关文章
发现更多好内容猜你喜欢
AI推送时光机View Controller Transition实现京东加购物车效果
后端开发2023-05-31
JS实现简单加减购物车效果
后端开发2024-04-02
Android实现购物车添加物品的动画效果
后端开发2022-06-06
javascript如何实现购物车效果
后端开发2024-04-02
原生JavaScript实现购物车效果
后端开发2024-04-02
怎么使用Android实现购物车页面及购物车效果
后端开发2023-05-30
基于JavaScript实现游戏购物车效果详解
后端开发2024-04-02
vue怎么实现购物车小球动画效果
后端开发2023-07-04
JS如何实现高仿抛物线加入购物车特效
后端开发2024-04-02
Vue如何实现分页效果与购物车功能
后端开发2024-04-02
JavaScript实现购物车图片局部放大预览效果
后端开发2023-03-07
jQuery如何模拟实现天猫购物车动画效果
后端开发2024-04-02
Vue商品控件与购物车联动效果怎么实现
后端开发2024-04-02
小程序怎么实现点餐小程序购物车效果
后端开发2023-06-26
如何使用Ajax、json实现京东购物车结算界面的数据交互
后端开发2024-04-02
Jquery怎么实现商品飞入购物车的动画效果
后端开发2024-04-02
JavaScript如何实现购物车图片局部放大预览效果
后端开发2023-07-05
微信小程序实现购物车选择规格颜色效果
后端开发2024-04-02
微信小程序怎么实现购物车选择规格颜色效果
后端开发2023-06-28
咦!没有更多了?去看看其它编程学习网 内容吧