ios - 从 UICollectionView 缩放 segue
问题描述
我正在尝试显示一个显示视频缩略图集合的屏幕,当用户点击其中一个缩略图时,视频会打开。我有两个视图控制器,一个是集合视图,一个是视频播放器,两者都嵌入在导航控制器中。我有以下代码:
extension BrowserCollectionViewController {
override func collectionView(_ collectionView: UICollectionView,
shouldSelectItemAt indexPath: IndexPath) -> Bool {
self.performSegue(withIdentifier: "ShowPlayer", sender: indexPath)
return false
}
override func prepare(for segue: UIStoryboardSegue, sender: Any?) {
if segue.identifier == "ShowPlayer" {
guard let sender = sender as? IndexPath else {
return
}
if let playViewController = segue.destination as? PlayerViewController {
playViewController.metadata = movies[movieIndex(sender)]
}
}
}
}
这很好用,除了过渡看起来像一个标准的 push segue,我希望它看起来像缩略图扩展成为视图控制器(播放器也恰好隐藏了导航栏,所以它看起来像一个全屏视图) . 这看起来与原始照片应用程序的行为完全一样,所以我认为这可能是一个标准的过渡。
解决方案
推荐阅读
- java - 如何在 Jenkins 中执行多个 Gradle 任务,或将多个 Gradle 任务串起来?
- user-interface - 如果我在浏览器中使用 WinJS,则 DatePicker 控件未本地化。它在 WinRT 中完美运行,但在浏览器中始终以英文显示
- python - MyPy 不会引发不同文件之间的类型不匹配
- typescript - 如何从现有对象填充 mobx-state-tree 映射
- python - 为什么我的功能不起作用?我想创建一个函数来清理我的数据框,最后我可以调用它并更改参数
- c# - 在.net core 3.1中获取InlfuxDB测量属性的属性值
- c++ - 在某个值后从链表中删除项目
- c++ - 用 C++ 编写`return {data, uninitialized_copy(b, e, data)};` 是未定义的行为吗
- kubernetes - Kubernetes Traefik:CNAME 外部 DNS 到匹配的端点
- ssl - 如何在 https 下运行自定义域?