728x90
아래와 같은 종류의 animation으로 크기가 늘어났다 줄어들었다 하는 expandable한 button을 만들고 있었다.,
animation의 process는
- 버튼이 펼쳐짐
- 3.2초 기다림
- 버튼이 다시 닫힘
이다.
문제가 발생한 건 버튼이 펼쳐지고 다시 닫히기 전까지 클릭을 했을 때 펼쳐진 부분이 클릭이 안되고 밑에 있는 화면이 자꾸 클릭이 되었다.
혹시나 전체 화면에서 view 크기가 변한 걸 인식 못한 건가 싶어 viewDidLayoutSubview에 로그를 찍어 크기를 확인해보니 문제는 UIView.animate의 delay 옵션에 있었다.
UIView.animate의 delay 파라미터에 3.2초라는 옵션을 넣고 애니메이션을 실행하게 했는데 animate함수는 delay전에 이미 animation 클로저를 실행하고 사용자에게 보여지는 것만 3.2초 뒤에 애니메이션이 실행되기 하는 옵션이었다...ㅠ
그래서 DispatchQueue.main.asyncAfter 함수로 딜레이 넣는 방법을 수정했더니 잘되더라...
728x90
'iOS > 이슈' 카테고리의 다른 글
[iOS Issue] viewDidLoad에서 frame이 초기화 되지 않는 현상 (0) | 2021.05.01 |
---|---|
[iOS Issue] UIScrollView 사용 관련 (0) | 2021.04.16 |
[iOS Issue] tableView를 reload 할 때 textField의 FirstResponder가 풀리는 현상 (0) | 2021.03.22 |
[iOS Issue] UIView.animate와 viewDidLayoutSubviews() (0) | 2021.03.18 |
[iOS Issue] Custom UIButton에서 inset 사용 시 Button title이 제대로 안 보이는 현상 (0) | 2021.01.26 |
댓글