kakaoMapSdk v2로 변환하는 작업중에 있습니다
개발을 다 완료하고 운영 테스트를 진행중에 있는데 아이폰 플러스 모델에서 뷰컨테이너가 꽉 차지 않고 이미지처럼 짤리는 현상이 발생했습니다
containerDidResized도 정의해놨는데 스토리보드에서 따로 설정해줘야 할게 있을까요??
테스트한 모델은 아이폰14 Plus 입니다
kakaoMapSdk v2로 변환하는 작업중에 있습니다
개발을 다 완료하고 운영 테스트를 진행중에 있는데 아이폰 플러스 모델에서 뷰컨테이너가 꽉 차지 않고 이미지처럼 짤리는 현상이 발생했습니다
containerDidResized도 정의해놨는데 스토리보드에서 따로 설정해줘야 할게 있을까요??
테스트한 모델은 아이폰14 Plus 입니다
@api6 우선 뷰 레이아웃이 어떻게 되어 있는지 Debug view hierarchy 등을 통해 확인하는게 필요할 것 같습니다.
아마도 KMMapContainer의 크기가 원하는 크기보다 작거나, KMMapContainer의 childView가 KMMapContainer 보다 작거나 해서 생기는 문제일 것 같습니다.
아이폰13이나 아이폰 미니에서는 정상적으로 보이는데 플러스 모델에서만 저렇게 보이는 이유가 있을까요? view hierarchy 상으로 보면 KMViewContainer가 전체 크기를 차지하고 있습니다
스토리보드에서 최상위 뷰를 KMViewContainer로 지정해놓았고, 코드상으로는
var mapContainer : KMViewContainer?
var mapController : KMController?
mapContainer = self.view as? KMViewContainer
mapController = KMController(viewContainer: mapContainer!)
mapController!.delegate = self
mapController?.prepareEngine()
초기 세팅은 이렇습니다
스토리보드에서 KMViewContainer 하위에 child view를 따로 생성해줘야 할까요?
지금 개발된거는 KMViewContainer가 최상위에 있고, 그 하위에는 버튼들만 위치해 있습니다
KMViewContainer를 통해 맵을 보여주고, 그 위에 버튼이 있어서 맵에 대한 동작을 제어하고 있습니다
KakaoMapsSDK-sample 프로젝트의 Simple Map View Scene이나 Current PositionPOI Scene처럼 최상단 부모에 View Container를 선언하고 하위에 따로 child를 생성하진 않았습니다!
@api6 KMViewContainer는 런타임에 초기화되면 실제 렌더링을 수행할 child view를 한개 생성합니다. Debug view Hierarchy를 통해서 런타임에 뷰 구성을 보시면 이 child view가 있는 것을 볼 수 있는데 이 뷰의 크기가 꽉 차게 그려지고 있는지 확인이 필요합니다.
KMViewContainer 하위에 MTLMapContainer 맞을까요?
여기에 선언되어 있는 Constarints를 보니까
KMViewContainer의 위치와 높이, 넓이를 그대로 따르도록 되어있던데
그렇다면 KMViewContainer의 사이즈 문제가 아닐까 싶습니다
샘플 프로젝트를 보면 스토리보드에서 Simulated Metrics쪽에
Size / Top Bar / Bottom Bar / Keyboard가 모두 inferred로 설정되어 있던데 이게 영향을 주기도 할까요?
저는 Top Bar와 Bottom Bar가 none으로 되어있고 Presentation은 Full Screen으로 되어있습니다
스토리보드에서 디바이스를 아이폰11로 세팅해놨었는데, 아이폰14플러스로 바꾸고 빌드하니까 해결됐습니다… 자동으로 resize된다고 생각했는데 스토리보드의 세팅 영향을 받는거 같습니다
다른방법으로 해결하신분은 없나요??
스토리보드는 이미 아이폰14플러스로 되어있더군요.
Debug view Hierarchy를 봐도 모두 같은 크기로 되어있는데, 맵만 잘려서 나옵니다.
viewDidAppear에서 카카오맵을 초기화 해주었더니 Autolayout 적용된 크기로 잘 나오네요.