IT한 것/Mobile (iOS, AOS)

dismissModalViewController 후 removeFromSuperview

lovian 2010. 4. 14. 13:17
UIKit의 구조는 참으로 적응이 쉽지 않았다.
이래저래 삽질하면서 겨우겨우 돌아가게 만들고 있었다.

어느정도 익숙해지고, 안정되었다고 생각할 때쯤,
초반에 사용하던 구조에 문제가 있음을 확인했다.

너무나도 C/C++ 같은 구조에 박혀 살다가 그런건지는 몰라도,

어떤 ViewController가 닫히기 전에 자체적으로 dismiss 한 후에, superview에서 빼줘야하는 일이 생겼다.

문제는 animated:YES
애니메이션이 다른 스레드로 돌아가고 있는 중에 superview에서 제거하면, UI가 꼬이는 현상이 발생한다.

물론 애니메이션을 끄거나, 또 다른 스레드가 감시하여 애니메이션이 끝난 후에 제거하면 괜찮다.

그러나 이 짓을하자고 스레드들 생성하는 것도 웃기고,
애니메이션을 끄자니 사용자들 시선이 따가운게 벌써 느껴지고. :)

어서 방법을 찾아내자.

여기에서 처리했다고 하는데, 저 방식으로 하면 애니메이션을 꺼준거나 다름없이, 애니메이션 표시중에 확 닫혀 버린다. ㅠㅠ