首页 > 解决方案 > 从 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,我希望它看起来像缩略图扩展成为视图控制器(播放器也恰好隐藏了导航栏,所以它看起来像一个全屏视图) . 这看起来与原始照片应用程序的行为完全一样,所以我认为这可能是一个标准的过渡。

标签: iosswiftuicollectionviewsegue

解决方案


推荐阅读