본문 바로가기
  • SDXL 1.0 + 한복 LoRA
  • SDXL 1.0 + 한복 LoRA
Development/iPhone

[옛 글] [아이폰 개발] 오늘의 삽질 - 뷰(컨트롤)에 tag달기

by 마즈다 2013. 7. 19.
반응형

최초 작성일 : 2012/10/12 16:06


각설하고...


내가 구현하고자 하는 기능은

1. 달력에서 날짜를 터치하면
달력은 선택한 날짜가 있는 주만 보여주도록 축소되고 하단의 이벤트 목록이
확대되도록 화면을 구성하고 다시 달력월 원래대로 보여줄 수 있도록
버튼이 하나 추가된다.

2. 추가된 버튼을 터치하면 달력은 원래대로 모든 날짜가 나오고 이벤트
목록 영역은 축소되며 당연히 버튼은 사라진다.

이 기능을 구현하는데 버튼 처리는 viewWithTag와 removeFromSuperView
메서드를 이용해서 구현을 하였다.

그런데 기능 자체는 잘 적용이 되었는데 버튼이 보여지고 사라지는 시점이
영 맞질 않는다. 사라져야 할 시점에 이미지는 보여지는데 버튼이 기능을 안하거나
아니면 사라지지 말아야 할 시점에 사라진다거나.

이 문제를 해결하려고 거의 하루를 소비하였다.
그런데...

어처구니없게도 이 문제의 원인은 버튼에 태그를 잘못 달아준 것 때문이었다.
그래도 중복을 피해보겠다고 5자리 숫자로 길게 주고 있는데 10002로
태그를 주었더니 아마도 같은 태그를 갖는 뷰 혹은 컨트롤이 이미 있었나보다.
태그만 11112로 바꿔주니 바로 정상적으로 기능을 하였다.

보다 근본적인 원인은 커스텀 탭바 컨트롤러를 구현하여 사용하는 과정에서
뷰의 계층구조가 너무 복잡하게 중첩되어있어 다른 화면 어딘가에 태그가
10002로 부여된 컨트롤이 같은 뷰 계층 구조 내에 있었던 모양이다.

아무렇게나 사용하던 뷰(컨트롤러)의 tag였는데 앞으로는 신중하게 사용해야 할 것 같다.

반응형