2016-07-08 2 views
0

나는 gameView (눈금 선이있는 파란색보기 만 있음)를 가지고 있습니다. 이 게임보기를 화면의 아래쪽과 측면에 고정하고 높이를 475로 설정합니다. 사용자가이보기를 탭하면 포인트를 찾고 셀의 원점과 프레임이있는 사용자 정의보기 (펜스 뷰)를 만듭니다 (너비와 높이). fenceView의 init 메소드에서 울타리 이미지의 새로운 UIImageView를 만들고이를 하위 뷰로 추가합니다. Potrait View하위보기의 크기가 슈퍼보기에 비례하지 않음

자동 레이아웃으로 인해 장치를 회전 할 때 gameView의 너비가 그에 따라 변경됩니다. 그러나 문제는 추가 된 펜스 뷰의 크기를 조정하지 않는다는 것입니다. gameview와 fenceView에 autoresizingMask = [.FlexibleWidth, .FlexibleHeight]를 설정하려고했습니다. 그러나 그것은 그 문제를 해결하지 못했습니다. Landscape mode

가로 모드에서는 울타리 이미지가 제대로 표시되지 않습니다. 내가하는 작은 실수 일지 모르지만 이틀 동안이 문제를 해결할 수는 없습니다. 어떤 도움이라도 대단히 감사합니다. 전체 높이가 항상 설정 475 한번에되기 때문에

+0

SpriteKit을 사용해 보셨습니까? 그것은 UIViews를 사용하는 것보다 더 좋게 보입니다. –

+0

저는 신속하고 IOS에 익숙하지 않습니다. SpriteKit에 대해서는 전혀 모른다. 하이 엔드 게임 디자인에만 해당되는 줄 알았어. 제가 확인하겠습니다. 장치가 회전 할 때 크기를 조정하려면 blue gameView가 필요합니다 (자동 레이아웃은 나를 대신합니다). 이제 서브 뷰의 크기가 적절하게 조정되는지 확인해야합니다. SpriteKit을 사용하면 어떤 이점이 있는지 지정할 수 있습니까? – Suhas

답변

1

.FlexibleHeight를 사용할 필요는 없다 autoresizingMask = [.FlexibleWidth, .FlexibleLeftMargin, .FlexibleRightMargin].

너비는 더 크거나 작은 너비의 X 위치와 함께 변경해야합니다. 왼쪽 여백과 오른쪽 여백 모두 양쪽 너비를 늘립니다.

+0

안녕하세요 Antonioni, 답변 해 주셔서 대단히 감사합니다. 거의 포기하고 자동 레이아웃을 비활성화하려고했습니다. 솔루션이 제대로 작동하고 이미지의 크기가 적절하게 조정됩니다. 이 자동 크기 조절기를 배울 수있는 곳이 있습니까? 또한 코드에서 추가 된 subView에 대한 올바른 접근 방식입니까? – Suhas

+0

좋은 질문입니다. 더 이상 자주 사용하지 않는다고 생각하기 때문에 Auto Resizing에 대한 설명서를 찾을 수없는 것 같습니다. 자동 크기 조정을 검색합니다. 뷰를 사용하는 방법을 알고 있다면 뷰를 제한하는 매우 간단한 방법입니다. 그렇지 않으면 xib 파일의 AutoLayout Constraints를 사용합니다. 귀하의 접근 방식은 각 하위 뷰를 제한하는 좋은 방법입니다. – Antonioni

+0

안녕하세요, 당신은 다른 접근 방식은 AutoLayout 제약 조건을 사용하는 것이라고 말했다. 이 응용 프로그램의 하위보기에서는 어떻게 사용합니까? 예를 들어, fenceView에 대해 leading margin = gameView.leading + 40이라고했을 때, gameView의 크기를 변경하면 ithe constraint는 여전히 동일 할 것이고 이전 이미지 에서처럼 오류가 발생합니다. – Suhas