오랫만에 글을 쓰는데, 예전에 2주동안 진행했던 아이디어스 클론 프로젝트를 현재 리팩토링 진행중이다.
리팩토링 과정에서 사소하지만 굉장히 시간을 많이 잡아먹었던 것이 있는데
바로 서치바에 기본적으로 정해져 있는 돋보기 이미지를 왼쪽에서 오른쪽으로 이동하는 것이다.
별거 아니겟지 했지만 이거 찾는다고 하루정도 삽질을 한 끝에 역시 애플 공식문서를 잘 읽어보는 것이 중요하다는것을 느꼈다.
searchbar의 searchtextfield는 결국 UITextField를 상속하고 있고, 공식문서를 찾아보면
leftview와 rightview 두가지가 존재한다. 커스텀을 하지 않고 디폴트값으로 사용할경우 leftview에 이미지가 들어가 있게 되는 것이다.
서치바 객체를 생성하는 부분에서 leftView의 타입을 .none으로 설정
뷰모드의 타입을 never로 설정해준 다음
rightview에 이미지뷰를 설정해주면 된다.
여기서 magmiftingglass는 SF Symbols의 돋보기 모양 이미지의 이름이다.
한가지 더 알아봐야 할것은 위에 rightview 설정 부분은 클로저 안에서 처리해줄 경우 설정이 적용되지 않는다.
그래서 viewDidLoad함수에 작성하니 적용되었다... lazy키워드를 사용해서 작성했는데도 적용이 되지 않는 이유를 모르겠다.
혹시 아시는분 있으시다면 댓글 남겨주세요..