问题视频:https://media.pairby.com/I/u/a/IualExcJXn7CqLsGkcNZfwyEw5MKi3SV/v.mp4
func animateIn() { // Make _iconVIEw large let w = bounds.wIDth _iconVIEw.frame = CGRect( x: frame.mIDX - w/2,y: frame.mIDY - w/2,wIDth: w,height: w) isHIDden = false UIVIEw.animate(withDuration: 0.2,animations: { self.Alpha = 1 // Animate it smaller let w = self.bounds.wIDth * 0.5 self._iconVIEw.frame = CGRect( x: self.frame.mIDX - w/2,y: self.frame.mIDY - w/2,height: w) })}func animateOut() { UIVIEw.animate(withDuration: 3,delay: 0,options: .beginFromCurrentState,animations: { self.Alpha = 0 // Make it large again let w = self.bounds.wIDth self._iconVIEw.frame = CGRect( x: self.frame.mIDX - w/2,height: w) },completion: { _ in self.isHIDden = true })}
更多细节:
self是UIVIEw的子类,仅限于supervIEw.
_iconVIEw是一个UIImageVIEw
保证animateIn在animateOut之前运行
animateOut是不能按预期工作的函数,animateIn工作
解决方法 然而,还不完全清楚你需要做什么>您无需更改大小即可 – 您可以简单地为_iconVIEw框架设置当前状态的动画,以及
>因为_iconVIEw是self的子视图,你需要相对于边界而不是框架定位它.
试试这样:
func doAnim() -> VoID { UIVIEw.animate(withDuration: 3,animations: { self.Alpha = 0 let s = self.bounds.wIDth let halfS = s / 2 self._iconVIEw.frame = CGRect( x: self.bounds.mIDX - halfS,y: self.bounds.mIDY - halfS,wIDth: s,height: s) })}总结
以上是内存溢出为你收集整理的ios – UIImageView框架没有按预期动画(大小和原点)全部内容,希望文章能够帮你解决ios – UIImageView框架没有按预期动画(大小和原点)所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)