코딩
swift 애니메이션 만들고 최상단 뷰 올리는 방법 알아보자
kingarthur
2024. 9. 6. 20:49
애니메이션을 썻는데 자꾸 타이틀이 가려져서... 허우적 허우적
그리고 타이틀이 점점 줄어들게 하고 싶었느네 미이친~ 작아지고 이동하는 문제 자꾸 발생
하지만 이겨냈어요 ~
// textLabel을 뷰의 최상단으로 가져옵니다.
self.view.bringSubviewToFront(self.textLabel)
// 2초 동안 검정색 배경 유지
self.view.backgroundColor = .black
DispatchQueue.main.asyncAfter(deadline: .now() + 2.0) {
// 배경색이 회색으로 변하는 애니메이션
UIView.animate(withDuration: 0.1, animations: {
self.view.backgroundColor = .lightGray
}) { _ in
// 텍스트 애니메이션
UIView.animate(withDuration: 1.0, animations: {
let scaleTransform = CGAffineTransform(scaleX: 0.7, y: 0.7) // 텍스트 크기를 줄입니다
let translateTransform = CGAffineTransform(translationX: 0, y: -200) // 텍스트를 위로 이동합니다
self.textLabel.transform = scaleTransform.concatenating(translateTransform)
}) { _ in
// 애니메이션 완료 후 배경색이 사라지면서 이미지가 보이도록
UIView.transition(with: self.view, duration: 0.5, options: .transitionCrossDissolve, animations: {
self.view.backgroundColor = .clear
// self.textLabel.textColor = .white
}) { _ in
// 1초 후에 메인 화면으로 이동
DispatchQueue.main.asyncAfter(deadline: .now() + 0.5) {
self.showMainScreen()
}
}
}
// 이미지 뷰 표시 및 애니메이션
self.logoImageView.isHidden = false
self.logoImageView.alpha = 0
UIView.transition(with: self.logoImageView, duration: 1.0, options: .transitionCrossDissolve, animations: {
self.logoImageView.alpha = 1
})
}
}
요렇게 해서 만들어냈다... 아까운 나의 시간이지만 애니메이션 넌 쉽지 않은놈... 계산이 안되는 암튼 다음에 이거보고 참고하자 아자자
반응형