Ortadaki kilitleme, animasyonumdaki üst bölmeden daha hızlı yukarı doğru canlandırıyor. Ortadaki kilidi, üst panelin yanında yukarı doğru hareket ettirmek için nasıl canlandırabilirim? Daha spesifik olmak gerekirse, orta kilitler merkezinin, ekran yukarı ve aşağı doğru hareket ederken üst panoların alt kısmıyla her zaman hizalanmasını istiyorum. ,Başka bir görünüme göre görünümü canlandırma nasıl yapılır
@IBOutlet var topLock: UIImageView!
@IBOutlet var bottomLock: UIImageView!
@IBOutlet var lockBorder: UIImageView!
@IBOutlet var lockKeyhole: UIImageView!
override func viewDidAppear(animated: Bool) {
super.viewDidAppear(animated)
openLock()
}
func openLock() {
UIView.animateWithDuration(0.5, delay: 1.0, options: [], animations: {
self.lockKeyhole.transform = CGAffineTransformMakeRotation(CGFloat(3.14))
}, completion: { _ in
UIView.animateWithDuration(0.6, delay: 0.2, options: [], animations: {
var topFrame = self.topLock.frame
topFrame.origin.y -= topFrame.size.height
var bottomFrame = self.bottomLock.frame
bottomFrame.origin.y += bottomFrame.size.height
var lockBorderFrame = self.lockBorder.frame
lockBorderFrame.origin.y -= self.view.frame.height
var lockKeyholeFrame = self.lockKeyhole.frame
lockKeyholeFrame.origin.y -= self.view.frame.height
self.topLock.frame = topFrame
self.bottomLock.frame = bottomFrame
self.lockKeyhole.frame = lockKeyholeFrame
self.lockBorder.frame = lockBorderFrame
}, completion: { finished in
})
})
}
Neden sadece üst yarının alt görünümünü yapmıyorsunuz? – jtbandes
@jtbandes Bunu nasıl yapacağınızı gösterebilir misiniz? Şu anda Storyboard'da her şeyim var. – JEL
Sadece kodu bakarak nasıl kurulduğunu anlamak benim için zor. Önerdiğim şey, "topLock" ve "lockKeyhole"/"lockBorder" 'ın kardeşlerin görüşleri olması değil, "topLock" un alt görünümü olması gerektiğidir. O zaman topLock'u hareket ettirebilirsin ve diğerlerini de yanına alabiliyorsun. – jtbandes