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


74

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

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

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

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

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

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

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

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

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

최신 정보:

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

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

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


2
여기에도 같은 문제가 있습니다. 11.3 UPD로 업데이트했을 때 이것이 처음으로 나타났습니다. 같은 프로젝트는 동일한 버전의 xcode를 가진 다른 컴퓨터 에서이 문제가 없습니다. IDE 구성과 관련이 있거나 IDE 자체의 버그 일 수 있습니다.
Dmitrij Rogov

1
여기서도 같은 문제입니다. Xcode 11.3 (11C29) 사용
user525504

1
동일한 문제 버전 11.3 (11C29)
user832 5

1
@DmitrijRogov 이전에 (xcode 8,9 또는 10) 전에 기억했던 것처럼, standard값을 정의하는 데 도움이되는 설정이 있습니다 (그래서 대신 10 또는 0을 설정할 수 있습니다 default = 8). 그러나 현재 위치를 잊었습니다. 아니면 기능을 제거했을까요?
Eddie

5
이것은 나를 미치게한다
Buyin Brian

답변:


37

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

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

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

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


1
고마워요, 고마워요!
Eddie

1
큰! 이 문제는 성가신 일이 될 수 있습니다 ..
Joaquin Pereira

5 대신에 0
Teja

그러나 두 번째로 0으로 설정하면 작동합니다. 왜 0.01로 귀찮게합니까? 어쨌든 꽤 성가시다. 좋은 점은 버그이며 "기능"이 아닙니다.
블라드 루수

11

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


다시 0으로 변경하면 "표준"으로 다시 변경됩니다. Xcode 11.3.1.
존 스 칼로

10

Xcode 11.3.1 기준 :

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

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

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

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

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

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


9

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

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


원래 답변 :

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

내 두 센트


예, 방금 릴리스 노트에서도 잘 수행되었음을 알았습니다.
매트

5

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


이은을 추가, 실제로 좋은 방법입니다 '-0'당신이 제약은 관리자에 '0'이 될 것입니다 만들 때 필요가 갈 및 그 변경
busta117을

1

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

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


0

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

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

저를위한 일


0

이 버그가 계속 발생합니다 (Xcode 11.3.1). 제약 조건을 "표준"으로 추가 한 다음 파란색 제약 조건 선을 클릭하고 크기 검사기에서 "상수"를 0으로 설정하여 문제를 해결했습니다.

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