일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | ||
6 | 7 | 8 | 9 | 10 | 11 | 12 |
13 | 14 | 15 | 16 | 17 | 18 | 19 |
20 | 21 | 22 | 23 | 24 | 25 | 26 |
27 | 28 | 29 | 30 |
- UIButton
- Apple
- Archive
- darkmode
- SwiftUI
- error
- Xcode
- 웹뷰
- JPA
- MacOS
- 한글
- appstore
- Notification
- Git
- iOS16
- Firebase
- github
- IOS
- geofencing
- Realm
- rxswift
- 개발자
- 이미지
- FLUTTER
- Code
- mac
- Swift
- window
- Session
- view
- Today
- Total
목록animate (3)
EEYatHo 앱 깎는 이야기
iOS에서의 View가 업데이트되는 과정 iOS에서는 앱이 구동될 때, UIApplication의 싱글톤 인스턴스가 메인 쓰레드에서 Main Run Loop라는 이벤트 처리 루프를 실행시키고, 이 Main Run Loop중, Update Cycle에서 View들을 배치하고(layout), 보여주고(display) 제약합니다(constraints). ( UI관련 업데이트가 메인 쓰레드에서만 이루어 져야 하는 이유이기도 합니다. ) ( layout이란, 해당 뷰의 크기와 부모뷰에 대해 어느 위치에 있는지를 뜻합니다. ) ( display에는 뷰의 색, 텍스트, 이미지, Core Graphics 그리기 등이 있습니다. ) 그런데 메모리에 존재하는 모든 View들을, 매 Update Cycle마다 체크하는 것은..

여태껏 단순히 한방향으로 움직이고, 움직이는 속도를 조절하는 애니메이션만 알고있었다. 그런데 목표지점에 도착한 뒤, 살짝 튕기고 제자리로 돌아오는 일명 스프링 효과가 있었단걸 알았다. usingSpringWithDamping 0.0 ~ 1.0 0.0에 가까울수록 심하게 튕기고, 1.0이면 튕기지 않는다 initialSpringVelocity 0.0 ~ 1.0 0.0에 가까울수록 튕길 때 속도가 빠르다 예시 ) UIView.animate(withDuration: 0.1, delay: 0, animations: { // 일단 밑에 레이아웃하기 위한 버퍼 애니메이션 container.alpha = 1 }, completion: { _ in UIView.animate(withDuration: 0.5, delay..

디자인팀의 요구사항은, 올라왔다가 내려가는 Toast. Frame으로 Animate하는거야 뭐 아주 쉽다. 그런데 Label의 줄 수에 따라 동적으로 높이가 변하는 Toast. 때문에 FrameBasedLayout이 아닌, AutoLayout을 사용한다. AutoLayout Animate로 리서칭을 하였는데, animate 밖에서 Constraint 수정하고, animate 안에서 layoutIfNeeded() 하기? 잘 안되면 setNeedsUpdateConstraints() 하기? 다 필요없다 animate 함수 안에 아래처럼만 해주면 된다. 갓갓 SnapKit.. ( 진작에 SnapKit Animate로 검색할걸 ㅇㄴㅁㄹㄴㅁㅇㅁㄹㅁㄴ ) UIView.animate(withDuration: 1.0, ..