View의 Drawing Cycle
·
iOS/💻 iOS Study
출시 프로젝트를 하면서 compositional layout을 사용하며 만난 오류를 해결하며 알게 된 내용을 정리해보고자 한다! Issue 셀에 들어갈 데이터에 맞게 동적으로 높이를 지정해야 했는데, 레이아웃 구성 시 아무리 estimated를 지정해줘도 높이가 처음부터 알맞게 들어가지 않았다. 여러 방법을 사용했지만 오른쪽 하단 날짜 레이블의 높이가 처음엔 맞지 않았고, 다른 날짜를 탭 후 다시 돌아오면 높이가 알맞게 들어오는 것을 알 수 있다. 해결! layoutIfNeeded() 를 호출하여 문제를 해결하였다. 추정치는 말 그대로 추정하여 높이를 설정하는 것이기 때문에 처음에 정확하게 들어갈 수 없었고, 셀에 데이터가 삽입 된 이후에 레이아웃 업데이트 요청을 해야했던 것이다.. View의 Drawi..
[iOS/Swift] MapKit Annotation displayPriority 지정하기
·
iOS/🔎 swift 정리하기
같은 장소에 어노테이션이 두개가 표시될 때 나는 고정으로 있는 어노테이션 보다 검색 결과 어노테이션이 더 상단으로 보이게 하고싶었다. 이전까지 나의 결과는 검색 결과 어노테이션이 가장 뒤로 가버리는 맘에 안드는 결과가 나왔다. 이 문제를 해결하기 위한 방법이 displayPriority이다! annotation view의 우선순위를 지정해주는 프로퍼티이다. MKMapViewDelegate의 viewFor에서 어노테이션을 등록할 때 우선순위를 지정해줬다. 기본으로 나타나 있는 어노테이션에는 .defaultLow 값을, 검색 결과로 위에 보여줄 annotation에는 .defaultHigh 값을 주었더니 원하는 결과가 나왔다! .defaultHigh가 아니어도 디폴트 값인 .required 여도 같은 결과가..
MapKit CustomAnnotation
·
iOS/🔎 swift 정리하기
플젝 진행하면서 정리한 내용입니다! 틀린 내용이 있을 수도 허접 할 수도 있습니다.. 지적 대 환영, 꿀팁 대 환영 맵킷에 대한 정보는 정말이지 별로 없다.. 정리하고 보니 별거 아닌 내용을 얼마나 붙잡고 있던걸까 흑흑 1. 커스텀 어노테이션 등록하기 (viewFor) 2. 어노테이션 선택에 따라 디자인 변경하기 (didSelect, didDeSelect) 3. 식별자가 다른 어노테이션을 만들어 서로 다른 기능을 하도록 구현하기 💡 커스텀 어노테이션 등록하기 해당 부분은 검색하면 정보가 꽤나 많이 나온다. 때문에 어렵지 않다. mapkit delegate는 연결되어 있을 것이고, delegate를 채택한 후 진행한다. MKMapViewDelegate에 구현된 viewFor 매개변수가 있는 메서드를 사용한..
[iOS/Swift] search bar 에 테두리와 그림자 동시 적용하기 - clipsToBounds
·
iOS/🚨 오류 그리고 해결
search bar의 cornerRadius를 적용하고, 그림자도 적용하려 하였다. cornerRadius는 clipsToBounds를 사용하여 layer 바깥을 잘라내어 적용이 되는데, 그림자는 layer 바깥에 적용하는 것이라 clipsToBounds값을 설정하는 데에 문제가 생긴다. clipsToBounds를 true로 설정하여 테두리 조건만 적용이 된 모습이다. 그림자를 적용하였지만 반영이 되지 않는다. 두가지 조건을 모두 적용하려면 어떻게 해야할까? 💡 그림자를 적용할 UIView를 만들자 파란색 uiview를 만들어 바깥에 배치할 uiview는 그림자를 적용하고, 내부에 들어갈 뷰는 corner radius를 적용시키면 된다. UIView의 위에 searchBar를 올린 후 각각 디자인을 적용..