我在收藏夹视图单元格中有电影列表。单击集合视图单元格时,信息模式会显示电影的信息。我想从单击的集合视图单元格的中心显示信息视图(就像模式视图从集合视图单元格向外缩放)。
我尝试使用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的中心。
答案 0 :(得分:0)
collection view cell
和infoView
具有两个不同的协调系统,因此它不起作用。您应该尝试使用convert
函数将像元中心转换为baseView坐标系。
链接文档:https://developer.apple.com/documentation/uikit/uiview/1622442-convert