我想在按钮单击时打开UIView
,并且应该从按钮的初始位置弹出视图,同时在图库中打开与图像相同的屏幕。点击图片时,图片会从点击位置打开,并覆盖整个屏幕。我希望按钮单击时与UIView
相同。我试过下面的代码:
初始位置:
UIView.animate(withDuration: 0.9, delay: 0.0, options: .curveLinear, animations: {
self.vwDetails.frame = CGRect(x: self.btnSelectedVendor.frame.origin.x, y: self.btnSelectedVendor.frame.origin.y, width: self.btnSelectedVendor.frame.width, height: self.btnSelectedVendor.frame.height)
}, completion: nil)
在按钮上单击:
UIView.animate(withDuration: 0.9, delay: 0.0, options: .curveLinear, animations: {
self.vwDetails.frame = CGRect(x: self.vwContainer.frame.origin.x, y: self.vwContainer.frame.origin.y, width: self.vwContainer.frame.width, height: self.vwContainer.frame.height)
}, completion: nil)
此代码不适用于我。
谢谢。
答案 0 :(得分:0)
我认为您需要这样的东西:
self.vwDetails.frame = CGRect(x: self.vwContainer.frame.origin.x, y: self.vwContainer.frame.origin.y, width: self.vwContainer.frame.width, height: self.vwContainer.frame.height)
首先设置初始位置
UIView.animate(withDuration: 0.9, delay: 0.0, options: .curveLinear, animations: {
self.vwDetails.frame = CGRect(x: self.vwContainer.frame.origin.x, y: self.vwContainer.frame.origin.y, width: self.vwContainer.frame.width, height: self.vwContainer.frame.height)
}, completion: nil)
开始动画后
答案 1 :(得分:0)
要同时实现翻译和扩展,您需要以下内容:
let originalTransform = yourView.transform
let scaledTransform = originalTransform.scaledBy(x: 0.2, y: 0.2)
let scaledAndTranslatedTransform = scaledTransform.translatedBy(x: 0.0, y: -250.0)
UIView.animate(withDuration: 0.7, animations: {
self.main.transform = scaledAndTranslatedTransform
})
答案 2 :(得分:0)
尝试一下
替换您的代码
pipe.predict()
与此:
UIView.animate(withDuration: 0.9, delay: 0.0, options: .curveLinear, animations: {
self.vwDetails.frame = CGRect(x: self.vwContainer.frame.origin.x, y: self.vwContainer.frame.origin.y, width: self.vwContainer.frame.width, height: self.vwContainer.frame.height)
}, completion: nil)
您可以根据自己的需求调整位置