如何从单击的视图中心显示模式视图?

时间:2019-08-21 20:53:42

标签: ios swift presentmodalviewcontroller

我在收藏夹视图单元格中有电影列表。单击集合视图单元格时,信息模式会显示电影的信息。我想从单击的集合视图单元格的中心显示信息视图(就像模式视图从集合视图单元格向外缩放)。

我尝试使用UIView.animate函数来实现此目的,但并没有正确进行。

infoView.bringOut(from: selectedCollectionViewCell)

extension UIView {
    func bringOut(from sender: UIView?) {
        guard let sender = sender else { return }
        self.center = sender.center
        self.transform = CGAffineTransform(scaleX: 0, y: 0)
        UIView.animate(withDuration: 7,
                       delay: 0,
                       options: UIViewAnimationOptions.curveLinear,
                       animations: {
                        self.center = baseView.centre
                        self.transform = CGAffineTransform.identity
                       },completion: nil)
    }
}

baseView是我的整个应用程序所依赖的视图。我希望视图从集合视图单元格缩放到baseView.centre,但是视图始终从baseView的左上角缩放到baseView的中心。

1 个答案:

答案 0 :(得分:0)

collection view cellinfoView具有两个不同的协调系统,因此它不起作用。您应该尝试使用convert函数将像元中心转换为baseView坐标系。

链接文档:https://developer.apple.com/documentation/uikit/uiview/1622442-convert