[xcode] Xcode 11은 0으로 설정된 새로운 제약 조건을 추가합니다 : 기본값 / 표준 대신 설정 값 사용

autolayout을 사용하여 새로운 제약 조건을 추가하여 다음과 같이 슈퍼 뷰 / 상대 뷰에 대한 간단한 제약 조건을 만들었습니다.

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

그러나 최근에 최신 xcode (11.3.3 또는 11.3 / 11C29)로 업데이트 한 후이 이상한 문제가 있습니다. 상수 = 0을 설정하면 항상 다음과 같이 원치 않는 방식으로 제약 조건이 생성됩니다.

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

그리고 그것은 기본값이 어떻게 든 20 인 것처럼 보이고 내 견해를 너무 잘못 보이게 만듭니다 (0은 20에 비해?)

다음과 같이 제약 조건을 편집하여 수정하면 :

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

그런 다음 다시 수정됩니다 (이미지는 구속 조건을 편집 한 후 편집하기 전에 상수 = Standard)

나는 문제를 설명하는 방법조차 모르지만 add new constraint표준 / 기본값 대신 원하는 것을 사용하도록 이 새로운 문제를 어떻게 해결 합니까?

최신 정보:

감독에 대한 제약이있을 때만 일어난 것처럼 보입니다. tho를 고치는 방법에 대한 실마리는 없습니다.

4 월 1 일 ~ 2020 년 업데이트 :

Xcode11.4에서이 문제를 해결했습니다.



답변

버그 인 것 같습니다 (Apple에 제출하는 것을 잊지 마십시오). 간단한 해결 방법은 다음과 같습니다.

당신은은 “팝 오버”의 숫자 대신 입력에 입력하면 0, 입력 0.01. 이렇게하면 숫자가 “표준”으로 신비하게 변경되지 않습니다. 자, 0.01같지는 0않지만 차이를 알 수 없을만큼 가까우며 적어도 나중에 돌아가서 변경할 필요는 없습니다.

EDIT Apple에 따르면이 버그는 Xcode 11.4에서 수정 될 것이라고합니다.

제약 조건 팝업 편집기에서 0 상수를 입력하지 못했던 버그가 수정되었습니다. (54076090)


답변

@ matt 해결 방법이 작동하는 동안 0.01로 설정 한 다음 0으로 변경하면 표준 값으로 다시 변경되지 않습니다. 참고 : Xcode 11.3


답변

Xcode 11.3.1 기준 :

내가 찾은 가장 빠르고 가장 빠른 솔루션은 다음과 같습니다.

간단히 입력 -0제약 필드에. Xcode는 음수를 버리고 올바르게 동작 0.01하므로 모든 것을 읽는 것보다 낫습니다 .

한 번에 하나씩 수행하거나 나중에 편집하지 않고도 모든 구속 조건을 한 번에 삽입 할 수 있습니다.

Xcode는 다음과 같이 값을 표시합니다

정말 바보 같은 행동처럼 보입니다. 애플이 의도적으로 이것을했을 이유가 있습니까?

편집 : 이것은 매번 작동하지 않는 것 같습니다 . 방금 UIImageView에 0을 Superview로 표시했지만 시각적으로 기본값 (20)에 있습니다. 동작이 완전히 비논리적이므로 이것은 실제로 IB의 버그처럼 보입니다.


답변

이 동작은 Xcode 11.4에서 수정 된 것으로 보입니다 : 릴리스 정보

제약 조건 팝업 편집기에서 0 상수를 입력하지 못했던 버그가 수정되었습니다. (54076090)


원래 답변 :

방금이 동작을 찾았고 1×1 제약 조건을 추가하려고 시도했으며 Xcode는 실제로 0 값을 존중했습니다.

내 두 센트


답변

나는 이것이 해결책이 아니라는 것을 알고 있지만 일시적인 해결책으로 인해 모든 제약 조건을 통과하지 못하기 때문에 ‘0’대신 ‘-0’을 삽입하면 원하는 동작을 얻는다는 것을 알았지 만 하나를 삽입해야합니다. 매번 제약.


답변

실제로는이 문제를 해결할 방법이 없습니다.

그러나 가장 좋은 임시 해결책은 제약 조건을 하나씩 0으로 추가하는 것입니다.


답변

표준 일 때는 무시하십시오.

추가 한 후 constrain (blue line) 및 관리자를 클릭하여 속성을 제한하고 0으로 설정하십시오.

저를위한 일