본문 바로가기
반응형

UIAlertController2

[iOS] iOS8 AlertView 텍스트 상단 정렬 문제와 해결 방법 iOS8 AlertView 텍스트 정렬 문제예전 iOS 앱을 유지보수하다 보면 UIAlertView를 사용한 오래된 코드에서, iOS8 업데이트 후 Alert 메시지 텍스트가 상단에 붙어 보이는 문제를 겪은 적이 있습니다. iOS7에서는 정상 가운데 정렬이었지만, iOS8에서 레이아웃 방식이 변경되면서 발생한 현상입니다.해결은 매우 단순합니다. AlertView 제목(title)에 nil 대신 빈 문자열("")을 넣으면 텍스트가 다시 정상적으로 중앙 정렬됩니다.1. 문제 원인iOS8에서는 UIAlertView 내부 레이아웃이 변경되면서, title이 nil일 경우 message가 타이틀 영역까지 끌어올려지는 레이아웃 버그가 있었습니다.즉, 다음 코드처럼 title을 nil로 지정하면 문제가 발생합니다:U.. 2014. 10. 10.
[iOS] UIAlertView didDismissWithButtonIndex 문제, 지금은 어떻게 해결할까? (UIAlertController 기준) 예전에 iOS 개발을 하셨던 분들은 UIAlertView와 그 델리게이트 메서드인 clickedButtonAtIndex:, didDismissWithButtonIndex: 때문에 한 번쯤은 고생해 보셨을 것입니다. 저 역시 Alert가 백그라운드 전환(Home 버튼)이나 다른 Alert와 얽히는 상황에서 델리게이트가 예상대로 호출되지 않아 며칠 동안 디버깅(삽질)을 했던 기억이 있습니다.하지만 이제는 상황이 많이 달라졌습니다. UIAlertView는 iOS 8에서 이미 deprecated 되었고, iOS 13 이후로는 사실상 쓰지 않는 레거시 API입니다. 현재는 UIAlertController를 사용하는 것이 정석이며, 예전처럼 didDismissWithButtonIndex에 의존해 상태를 관리하는 방.. 2012. 12. 4.