Xcode 6 스토리 보드 크기가 잘못 되었습니까?


139

Xcode 6 (베타 1)의 Swift에서 처음부터 새로운 프로젝트를 구축했으며 스토리 보드와 내가보고있는 출력에 이상한 행동을 보았습니다.

View Controller의 속성이 포함 된 간단한 인터페이스를 만들었습니다 (아래 그림 참조). 시뮬레이터에서 이것을 실행하면 'Hello, World'가 사용자 인터페이스의 중심이 될 것으로 기대하지만이 'Square'는 iPhone 화면에 적합하기 때문에 잘못된보기가 표시됩니다 (아래 참조) ).

내 질문은 : 다른 사람 이이 행동을 보았고 어떻게 고쳤습니까?

감사!

스토리 보드 편집기에서보기

속성 관리자

크기 검사기

시뮬레이터 출력


자동 레이아웃 제약 조건을 추가하면 문제가 해결됩니다. 현재 모든 레이아웃을 디자인하고 있으므로 자동 레이아웃을 사용하면 "올바른"위치에 컨텐츠를 표시 할 수 있습니다.
Raz

8
팁 : 보조 편집기> 자동> 미리보기를 사용하면 모든 화면 크기의 화면 미리보기를 볼 수 있습니다.
Francescu

답변:


81

Asif Bilal의 답변은 크기 클래스 (iOS 8에서 도입 됨)를 포함하지 않는 더 간단한 솔루션이지만 미래의 클래스 크기에 익숙해지는 것이 좋습니다. 포인트."


레이아웃 제약 조건을 추가하지 않았을 수 있습니다.

라벨을 선택하고 하단의 레이아웃 제약 조건 버튼을 누릅니다.

여기에 이미지 설명을 입력하십시오

해당 메뉴에서 확인란을 선택하여 너비와 높이를 추가하고 (제와 동일해서는 안 됨) 제약 조건 추가를 클릭하십시오. 그런 다음 레이블을 기본보기로 Control- 드래그 한 다음, 클릭을 해제 할 때 컨테이너를 가로 및 세로로 가운데에 놓을 수있는 옵션이 있습니다. 둘 다 추가하면 설정해야합니다.


1
훌륭합니다-이것은 나에게 도움이되었습니다-도와 주셔서 감사합니다 (타이머를 들어 올리면 답을 받아 들일 것입니다)
Candyfloss

1
아니에요. 이것이 autolayout의 기본 동작으로, 현재 기본적으로 활성화되어 있습니다. 화면 크기 / 레이아웃이 다를 수 있으므로 부모와 관련하여 뷰의 위치를 ​​계산하는 방법이 있어야하며 자동 레이아웃이이 문제를 해결합니다. 이러한 제약 조건을 추가하지 않으면 view는 런타임시 자동으로 왼쪽 위 모서리를 기준으로 만듭니다. 그 이외의 것이 필요한 경우 (거의 항상 다른 것이 필요함) 제약 조건을 명시 적으로 지정해야합니다.
Can Poyrazoğlu

4
제어 드래깅 (어색 할 수 있음)은 필요하지 않습니다. 이 이미지에서 선택한 버튼의 왼쪽에있는 버튼은 수평 및 수직 중심을 고정 할 수있는 메뉴를 엽니 다.
jrturton

네 말이 맞아. 난 방금 통제하는 데 익숙해 져서 그렇게 말했어.
Can Poyrazoğlu

@ CanPoyrazoğlu-- "라벨 선택"에 대해 언급했습니다. 어떤 라벨? 레이블이나 다른 UI 요소가없는 새로운 iPhone 프로젝트와 동일한 문제가 있습니다. 목적 C. 사용하여 엑스 코드 (6) 나의 첫 번째 프로젝트,
rattletrap99을

253

문제를 해결하려면 다음 단계를 수행하십시오.

스토리 보드에서보기를 선택한 다음 파일 관리자로 이동하십시오. "크기 클래스 사용"을 선택 해제하면 iPhone / iPad의 크기 클래스 데이터를 유지하라는 메시지가 표시됩니다. 그런 다음 "Disable Size Classes"버튼을 클릭하십시오. 이렇게하면 선택한 장치에서 스토리 보드의보기 크기가 만들어집니다.


8
예를 들어 표준 iPhone 크기의보기 컨트롤러를 원할 때 600x600보기 컨트롤러를 얻는다면 정답입니다.
Fraggle

5
이것은 정답이어야합니다. (적어도 비 유니버설 플랫폼에서만 작업하는 사람들에게는)
Raptor

36
왜 사람들이 이것을 정답으로 표시했는지 모르겠습니다 ... 첫 번째 방법은 수행해야하는 방법입니다 ... 반대 방향으로가는 것보다 레이아웃 제약 조건이 마음에 들지 않으면 ... Apple이 활용하고 있습니다. 모든 크기의 iPhone 및 iPad 용으로 개발할 수있는 좋은 방법이며 이전 제품으로 돌아가고 싶습니까? 당신은 자신을 업데이트 여유가 없기 때문에? 절대로 투표하지 않았지만이 답변은 사람들을 혼란스럽게 한 다음 새로운 것을 사용하도록 격려하는 대신 이전의 접근 방식 (더 이상 사용되지 않을 것)을 사용합니다 ...
Raphael Ayres

3
iPhone / iPad 스토리 보드에 익숙한 모든 사람을위한 최고의 답변
mamarx

3
레이아웃 제약 조건을 사용하십시오. Apple은 Android와 동일한 방식 으로이 작업을 수행합니다. 보기에는 형태가 없습니다 ... 때로는 고통 스러울 수 있지만 크기를 강제로 지정하면 앱이 다른 기기 크기에서 나빠 보일 수 있습니다. 오른쪽 하단에 버튼을 표시하려면 버튼 2 개를 작성하고 X 또는 Y 선택을 금지하십시오. 모두 엔진에 의해 설정됩니다. 고유 크기를 사용하십시오. 상상력을 발휘 해봐. 관계형 제약 조건을 사용하십시오. 이것을 배우십시오 ***.
Raphael Ayres

18

Xcode 6을 사용하고 iOS 8을 설계하는 경우 이러한 솔루션 중 올바른 솔루션이 없습니다. iPhone 전용보기의 크기를 올바르게 조정하려면 크기 클래스를 끄지 말고 추론 된 메트릭을 끄지 말고 제한 조건을 설정하지 마십시오 (아직). 대신 인터페이스 클래스의 맨 아래에 "wAny hAny"라는 텍스트 버튼을 놓치기 쉬운 크기 클래스 컨트롤을 사용하십시오.

버튼을 클릭하고 Compact Width, Regular Height를 선택하십시오. 이렇게하면보기의 크기가 조정되고 모든 iPhone 세로 방향이 적용됩니다. Apple의 문서 : https://developer.apple.com/library/ios/recipes/xcode_help-IB_adaptive_sizes/chapters/SelectingASizeClass.html 또는 "인터페이스 빌더에서 크기 클래스 선택"으로 검색


전체를 읽어하는 데 유용합니다 같은 느낌 크기 클래스 디자인 도움말 에서, 즉 귀하의 링크에서 여러 크기의 클래스 설계에 대한이전의 iOS 버전에 크기 클래스로 앱을 배포 .
Franklin Yu

자동 레이아웃을 유지하고 스토리 보드보기를 사각형 대신 가로 또는 세로로 표시하려는 경우이 방법이 좋습니다.
stephenspann

5

스토리 보드에서 ViewController를 선택하고 Atribute Inspector로 이동하십시오. 맨 위에는 시뮬레이션 된 메트릭 아래에 크기 및 방향 속성이 유추로 설정되어 있습니다. 원하는 값으로 변경하십시오.

응용 프로그램이 다른 화면 크기에 올바르게 표시 되려면 첫 번째 게시물의 Can Poyrazoğlu에서 설명한대로 제약 조건을 설정해야합니다.


5

xcode 6 에서이 문제가 있었고 크기 조정 충돌을 해결할 수있는 방법이 있습니다. 보기를 선택하면 맨 아래에 | -Δ- | 모양의 아이콘이 표시됩니다. 그것을 클릭하면 다른 장치의 프로젝트 크기가 조정됩니다.


추가없는 제약에 삼각형 기호를 클릭 선택하고 붐 후 예하면 모든 작업이 완료보기 장치의 크기에 따라 크기가 조정됩니다 경우 유니버설 응용 프로그램
이씨 dharankar

3

크기, 방향, 상태 표시 줄, 위쪽 표시 줄, 아래쪽 표시 줄 속성이있는 시뮬레이션 된 지표에서 속성 관리자 (오른쪽 상단 모서리)로 이동하십시오. SIZE의 경우 유추-> 자유형을 변경하십시오.


+1 @Rachel은 Simulated Metrics-> Size : "Freeform"에 대한이 유용한 팁에 대해 감사합니다.
cweekly

3

스토리 보드 페이지에서 파일 관리자로 이동하여 '크기 클래스 사용'을 선택 취소하십시오. 이렇게하면 뷰 컨트롤러가 익숙한 일반 iPhone 크기로 축소됩니다. '크기 클래스'를 사용하면 많은 장치에서 프로젝트를 디자인 할 수 있습니다. 이것을 선택 해제하면 Xcode는 다음과 같은 경고 대화 상자를 표시합니다. 이것은 스스로 설명해야합니다.

"크기 클래스를 비활성화하면이 문서가 단일 장치 제품군에 대한 데이터를 저장하는 것으로 제한됩니다. 대상 장치를 가장 잘 나타내는 크기 클래스의 데이터는 유지되며 다른 모든 데이터는 제거됩니다. -적응 등가물. "


3

XCode 7을 사용하는 사람은 기본 사각형 캔버스 대신 특정 장치 크기에 맞게 디자인하기가 매우 쉽습니다.

Interface Builder의 왼쪽 메뉴에서 ViewController 또는 Scene을 선택하십시오. 그런 다음에서 아래 Show the Attributes Inspector로 이동 하여 드롭 다운 메뉴에서 Simulated Metrics원하는 항목 Size을 선택하십시오 .


그러면 스토리 보드에서 해당 장치의 디자인 만 할 수 있습니다. 앱을 실행하면 화면 크기에 따라 디자인이 크게 다를 수 있습니다.
Joey Tawadrous

@JoeyTawadrous 맞습니다. 그러나 그것은 질문에 대답합니다 :)
사제

2

"자동 레이아웃 문제 해결"(스토리 보드보기의 오른쪽 아래-삼각형 아이콘)을 사용하여 제안 된 제약 조건 (Xcode 6.0.1)을 추가 / 리셋해야합니다.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.