Xcode 8 Swift 3에 런타임에“탐색 모음”에 대한 경고 프레임이 다르게 나타남


143

업그레이드하기 전에 Xcode 8이러한 경우이 오류가 표시되지 않습니다. 다른 내비게이션 컨트롤러가 있습니다. 그들 모두에게 나는 오류를 본다 Frame for "Navigation bar" will be different at the run time. Navigation bar "Expected: width=384, Actual: width=375. 실제로 이러한 내비게이션 컨트롤러에는이 없습니다 Navigation bar. Navigation bar하위보기에 존재합니다. 어쨌든 나는 진드기를 해결하고 확인란을 선택 취소 할 수 Shows navigation bar있는가 Attributes inspector. 그러나 불행히도 다시 열 때 마다이 Main.storyboard경고가 다시 나타납니다. 또한 노란색 삼각형을 클릭 한 다음 업데이트 프레임을 클릭하면 아무 일도 일어나지 않습니다.

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


1
여기에서도 같은 문제가 확인되었습니다. 제안 된 해결책 중 어느 것도 문제를 해결하지 못합니다.
GregP

@GregP 내 솔루션을 확인하고 회신하십시오
KSR

@Ashish Kakkad 내 솔루션을 확인하고 회신하십시오
KSR

출원 된 레이더 : // 28844288. 속는 자유롭게 openradar.me/radar?id=4985464104681472
기욤 Algis에게

이것은 내 프로젝트를 업데이트 한 후 나를 괴롭히는 마지막 경고입니다.
Sethmr

답변:


154

"Simulated Size"속성을 "Freeform"으로 변경하면 경고가 사라집니다.


37
문제가 해결되지 않습니다. Xcode를 닫고 다시 열면 문제가 다시 발생합니다.
Ashish Kakkad

2
이것은 나에게 지옥을 버리고있다 .. 나는 이것을 시도했고, 이것은 일시적으로 경고를 제거한다 . 경고가 다시 올 때 경고를 제거하기 위해 항상 시뮬레이션 크기를 앞뒤로 전환 할 수 있습니다. 감독자. 성가신.
nekonari

5
임시 픽스 만 – 이것은 답이 아닙니다.
emem

5
이 Simulated Size를 변경하거나 ( 'Inferred'등으로 돌아 가기) "Scrollview Insets 켜기 / 끄기"로 전환하십시오 . 둘 다 스토리 보드가를 제거합니다 misplaced="YES". 이것은 Xcode 버그이며이 수정 프로그램은 강제 새로 고침입니다. @buildsucceeded 답변에서 가져 왔습니다.
bauerMusic

1
@MobileBloke 강제 새로 고침으로 인해 스토리 보드보기가 매개 변수를 다시 작성 (새로 고침)하고 경고를 다시 평가하고 제거하게됩니다. 그것은 실제로 새로 고침이며, 힘은 자동으로 자체적으로 수행하지 않았으며 수동으로 임의의 변경이 필요하다는 것을 의미했습니다.
bauerMusic

35

여기에서 언급 한 것처럼 Adjust Scrollview Insets를 켜거나 끄면이 문제를 해결할 수 있습니다.


4
와우, (git 검사) 문자 그대로이 작업을 수행 할 때 발생하는 모든 것이 misplaced="YES"제거됩니다. : /
buildsucceeded

7
다음에 프로젝트를 닫고 다시 열 때까지 수정됩니다. 완전한 수정이 아닙니다.
Casey Wagner

15

iPhone 6S에서 iPhone 5S로 변경 한 다음 iPhone 6S로 다시 변경했으며 Xcode는 경고를 제거하기 위해 모든 변경을 수행했습니다.


2
이것은 짧은 시간 동안 작동했으며 Xcode가 다시 처리 한 후에도 동일한 일이 발생하고 경고가 다시 발생했습니다. 최신 Xcode에서 여전히 작동합니까?
UKDataGeek

12

이것은 Xcode 8.3.1에서 나를 위해 일했습니다. Xcode를 다시 시작한 후에도 여전히 작동합니다.

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

  1. 네비게이션 컨트롤러 선택

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

  1. 크기 검사기 표시로 이동

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

  1. 시뮬레이션 된 크기를 자유형으로 변경

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

  1. 시뮬레이션 된 크기를 다시 고정으로 변경

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

  1. 그런 다음 경고가 사라집니다.

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


왜 이것이 "업데이트 프레임"버튼이 아닌 효과가 있었는지 아십니까?
망간

@ guoc, bro 당신은 저를 도와주십시오 stackoverflow.com/questions/46375778/… ?
May Phyu

7

성가신 경고를 없애기위한 해결 방법으로 나는 'misplaced'를 제거하여 Main.storyboard를 수동으로 편집했습니다.

<navigationBar key="navigationBar" opaque="NO" contentMode="scaleToFill" misplaced="YES" translucent="NO" id="Os1-Xh-7XN">

해킹이지만 1 대신 경고가없는 것이 좋습니다 :)


나중에 다시 추가해야합니까? 경고가 표시되지 않는 한 내 탐색 컨트롤러의 모양이 중요하지 않습니다. 재미 있네요. 스토리 보드는 잠시 동안 경고를 인식 한 다음 스토리 보드에 이런 방식으로 들어가면 사라집니다.
Sethmr

나는 같은 일을 한 다음 스토리 보드를 다시 만지지 않습니다. 모든 것이 잘 작동합니다.
Zhao

PRoblem은 다시로드 할 때이 오류가 발생했을 때 스피너가 실행중인 스토리 보드를로드하는 데 오랜 시간이 걸린다는 것을 알고 있습니까?
UKDataGeek

6

스토리 보드의 왼쪽 하단에있는 "다른 이름으로보기"를 클릭하고 다른 장치 크기를 선택한 다음 다시 클릭하고 시작한 장치 크기로 다시 전환하십시오. 이것은 나를 위해 일했습니다.


1
그것은 또한 나를 위해 임시 온도를 수정
zero3nna

3

Xcode 8이 패치 될 때까지 "다음으로보기 :"옵션을 "iPhone SE"로 설정하여 경고를 제거 할 수 있습니다. 이상적이지는 않지만 지금은 작동합니다.


나는 SE를 사용하고 있습니다 .. 그러나 여전히 경고
Abdul Waheed

1
그래, 알아 그러나 선택을 다른 것으로 바꿀 때마다 사라집니다. 요즘에는 7로 시작하여 SE로 전환 한 다음 7로 다시 돌아가서 이러한 경고를 지우십시오. 또는 misplaced변경 사항을 커밋 할 때 속성을 확인하지 않고 그대로 두십시오 .
nekonari

3

위의 모든 제안을 시도했지만 작동하지 않는 것 같습니다. 더 심각한 버그 일 수 있습니다.

Apple Bug Reporter (link : https://bugreport.apple.com/logon ) 에서 버그를 기록했습니다 . 동일한 작업을 수행하려면 버그를 참조하십시오 31355220. Apple이 함께 묶을 수 있습니다. 더 많은 사람들이이를보고할수록 이러한 성가심을 해결하기 위해 더 많은 정보가 필요합니다.


2

뷰 컨트롤러의 시뮬레이션 된 크기를 자유 형식으로 설정 한 다음 너비를 375에서 320으로 설정하여 문제를 완전히 제거 할 수있었습니다.


부모가없는 뷰 컨트롤러에서만 설정하면됩니다 (스토리 보드에있는 내용에 따라 루트 뷰 컨트롤러 + 그 이상)
thetrutz

1

같은 문제가 있었지만 다음과 같이 수정했습니다.

오류 정보를 펼치고 경고 세부 사항을 클릭하십시오. 그러면 Xcode가 자동으로 치수 / 위치 설정을 열어야합니다. 현재 값을 경고 세부 사항에서 제안 된 값으로 바꾸십시오.

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

기본적으로 런타임의 크기가 크기 관리자에서 지정한 크기와 같은지 확인하십시오.

게시 한 이미지 옆에있는 아이콘 (흰색 원이있는 노란색 삼각형, 때로는 빨간색 원 아이콘)을 클릭하면 문제를 자동으로 수정 / 조정할 수있는 옵션이 있습니다.

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

업데이트 제약 조건 옵션을 선택한 다음 그에 따라 새 제약 조건을 조정했습니다.


4
이 상황에서는 작동하지 않습니다. 탐색 막대의 X / Y / 너비 / 높이 필드는 모두 회색으로 표시되거나 편집 할 수 없습니다.
Slipp D. Thompson

@Ian Hmmm… 숫자가 일치하도록 xib를 편집 한 것 같습니다.
Slipp D. Thompson

1

나를 위해 문제는 내가 밀어 넣을 때 하단 막대를 숨기고 있다는 것입니다 (IB 체크 박스 사용).

'하단 바'옵션에서 '없음'을 선택해야했습니다.

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


0

좋아, 문제를 해결 한 것 같습니다. 여기 내가 한 일이 있습니다.

일반과 같이 업데이트 프레임을 선택하십시오. 다른 파일을 연 다음 스토리 보드 파일을 다시 클릭하십시오. 그래도 작동하지 않으면 Xcode를 다시 시작하십시오. 내부적으로 업데이트되는 것처럼 보이지만 때때로 인터페이스 빌더 UI가 멈췄습니다.


3
XCode를 다시 연 후이 경고는 실제로 사라지지만 프로젝트에서 파일을 열면 다시 main.storyboard이러한 경고가 다시 나타납니다
Danny

0

View 컨트롤러 용 xcode에서 장치 미리보기를 변경하고 경고를 컴파일하고 확인하십시오 ...

Xcode 8은 약간 버그가 있으며 인터페이스 빌더는 임의의 아니오로 재설정하여 포함 된 모든보기에 영향을 미칩니다. 미리보기 장치를 변경해보십시오.

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