홈>
UIView
의 애니메이션
뷰가 수퍼 뷰에 추가 된 직후에 시작되어야합니다.
class myView: UIView {
override func didMoveToSuperview() {
super.didMoveToSuperview()
UIView.animate(
withDuration: duration,
delay: 0,
options: .curveLinear,
animations: {
CATransaction.begin()
CATransaction.setAnimationDuration(duration)
self.layer.colors = [color1, color2]
CATransaction.commit()
},
completion: nil
)
}
}
그러나 결과는 슈퍼 뷰에서 뷰가 표시 될 때 애니메이션이 이미 끝난 것입니다.
UIView.animate
애니메이션은 아니지만
self.layer.colors
를 설정합니다
didMoveToSuperview
에서 뷰가 아직 보이지 않기 때문에 즉시
호출됩니다.
애니메이션을 정상적으로 시작하려면 어떻게해야합니까?
- 답변 # 1
관련 자료
- html - img의 불투명도 CSS 키 프레임 애니메이션이 작동하지 않습니다
- xamarin.forms - Xamarin 애니메이션 ViewAnimations가 작동하지 않음
- Firebase Chat Recycler보기 왼쪽 및 오른쪽보기가 작동하지 않음 Android
- reactjs - 반응 useState 후크가있는 카운터가 제대로 작동하지 않습니다
- python - matplotlib 332로 업그레이드 할 때 애니메이션이 작동하지 않습니다
- ios - UIGesturerecognizer가 UIView에서 작동하지 않습니다
- javascript - 'setTitle'에 'verticalAlign'을 제공 할 때 하이 차트 로딩 애니메이션이 작동하지 않음
- jquery - Javascript 코드에서 애니메이션 스타일 용이성, 완화 등이 작동하지 않습니다
- typescript - 데이터가 각도로 변경 될 때 애니메이션을 추가하는 방법 왼쪽 및 오른쪽 버튼에 애니메이션을 추가하고 싶습니다
- ios - UIView 애니메이션 체인이 제대로 작동하지 않습니다
- jQuery scoll 애니메이션이 아이콘에서 작동하지 않습니다
관련 질문
- ios : UIAlertController에 커스텀 UIView 추가하기
- ios : 아래쪽 또는 위쪽이 없는 UIView 둥근 테두리
- ios : 셀에서 UIView로 데이터를 전달할 수 없습니다.
- ios : MVVM을 사용하여 JSON을 모델로 디코딩
- ios : 구조체의 특정 값을 사용자 지정 셀로 설정하는 방법은 무엇입니까?
- ios : spriteKit을 사용하여 신속하게 원을 그리는 방법은 무엇입니까?
- ios : Gesturer Recognizer 이전에 UIResponder를 어떻게 넣을 수 있습니까?
- ios : 건강 키트 -내 건강 데이터와 함께 공유 건강 데이터 가져오기
- Xcode(iOS 앱)는 개인 저장소에서 호스팅되는 swift 패키지를 어떻게 사용할 수 있습니까?
- ios : ViewDidLoad를 호출하는 ViewController 간에 분리하는 방법
핵심 애니메이션을 사용하여 그라디언트 애니메이션은
CABasicAnimation
를 만들어 수행 할 수 있습니다 그리고 당신의CAGradientLayer
에 추가 . 이것을UIView
에 싸지 않아도됩니다. 애니메이션 블록과viewDidMoveToSuperview
에서이 작업을 수행 할 수 있습니다 당신이 당신의UIView
를 추가하면 루트 뷰가UIWindow
에 추가 된 후 언젠가 뷰 계층에 대한 서브 클래스 인스턴스 . 예를 들어 놀이터에서 다음과 같이 쓸 수 있습니다.그리고 세로 오렌지에서 블루 그래디언트까지 20 초 애니메이션을보고 세로 레드에서 그린 그래디언트까지 애니메이션합니다.