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
하므로 모든 것을 읽는 것보다 낫습니다 .
한 번에 하나씩 수행하거나 나중에 편집하지 않고도 모든 구속 조건을 한 번에 삽입 할 수 있습니다.
정말 바보 같은 행동처럼 보입니다. 애플이 의도적으로 이것을했을 이유가 있습니까?
편집 : 이것은 매번 작동하지 않는 것 같습니다 . 방금 UIImageView에 0을 Superview로 표시했지만 시각적으로 기본값 (20)에 있습니다. 동작이 완전히 비논리적이므로 이것은 실제로 IB의 버그처럼 보입니다.
답변
이 동작은 Xcode 11.4에서 수정 된 것으로 보입니다 : 릴리스 정보
제약 조건 팝업 편집기에서 0 상수를 입력하지 못했던 버그가 수정되었습니다. (54076090)
원래 답변 :
방금이 동작을 찾았고 1×1 제약 조건을 추가하려고 시도했으며 Xcode는 실제로 0 값을 존중했습니다.
내 두 센트
답변
나는 이것이 해결책이 아니라는 것을 알고 있지만 일시적인 해결책으로 인해 모든 제약 조건을 통과하지 못하기 때문에 ‘0’대신 ‘-0’을 삽입하면 원하는 동작을 얻는다는 것을 알았지 만 하나를 삽입해야합니다. 매번 제약.
답변
실제로는이 문제를 해결할 방법이 없습니다.
그러나 가장 좋은 임시 해결책은 제약 조건을 하나씩 0으로 추가하는 것입니다.
답변
표준 일 때는 무시하십시오.
추가 한 후 constrain (blue line) 및 관리자를 클릭하여 속성을 제한하고 0으로 설정하십시오.
저를위한 일