Xcode 11 додає нові обмеження, встановлені нулем: використовувати встановлене значення замість стандартного / стандартного


74

Раніше я використовував авторозміщення, додаю нові обмеження, щоб зробити прості обмеження для перегляду / відносного перегляду, подібного до цього (протягом лугангового часу):

введіть тут опис зображення

Однак нещодавно після оновлення до останнього xcode (11.3.3 або просто 11.3 / 11C29) у мене є ця дивна проблема: коли я встановлюю константу = 0, вони завжди генерують обмеження небажаним чином, як це:

введіть тут опис зображення

І, здається, значення за замовчуванням є якось 20, і це робить мій погляд таким невірним (0 порівняно з 20?)

Якщо я виправлю це, відредагувавши обмеження так:

введіть тут опис зображення

Потім воно буде виправлено знову (зображення після редагування обмежень, перед редагуванням відображається постійним = Standard)

Я навіть не знаю, як описати проблему, але як я можу виправити цю нову, add new constraintщоб використовувати точку бажання замість стандартної / за замовчуванням?

Оновлення:

Здається, це сталося лише при обмеженні нагляду. Немає поняття, як виправити тхо.

Оновлення квітня-01-2020:

Xcode11.4 зафіксував це.


2
Тут же проблема. Я думаю, що це з'явилося вперше, коли я зробив оновлення до 11.3 UPD: Цей проект не має цієї проблеми на іншій машині з тією ж версією xcode. Можливо, це пов’язано з конфігурацією IDE або, можливо, це сама помилка IDE.
Дмитро Рогов

1
Тут же питання. Використання Xcode 11.3 (11C29).
user525504

1
Те саме видання Версія 11.3 (11C29)
користувач832

1
@DmitrijRogov Я згадував іноді раніше (xcode 8,9 або 10), десь є налаштування, яке допомагає нам визначити standardзначення (тому ми можемо встановити 10 або 0 замість default = 8), але я забув, де воно зараз. А може, вилучили функцію?
Едді

5
Це зводить мене з розуму
Буїн Брайан

Відповіді:


37

Схоже, помилка (не забудьте подати файл в Apple). Ось простий спосіб вирішення:

Коли ви заповнюєте номер у "popover", замість того, щоб вводити 0, введіть 0.01. Це не дозволить номеру загадково змінитись на "Стандартний". Гаразд, 0.01це не те саме, 0але це досить близько, що ви не можете сказати різницю, і, принаймні, вам не доведеться повертатися і змінювати її пізніше.

EDIT Apple каже, що ця помилка буде виправлена ​​в Xcode 11.4:

Виправлена ​​помилка, яка перешкоджала введенню 0 константи в редакторах спливаючих вікон обмежень. (54076090)


1
приємна робота, спасибі!
Едді

1
Чудово! Що може дратувати це питання ..
Хоакін Перейра

Це добре працює, коли я використовую 0,01 замість 0
Тея

Але встановлення його на 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 відображає такі значення

Це здається дійсно німим поведінкою. Чи є причина, що Apple, можливо, змусила це робити це навмисно ...?

Редагувати: Схоже, це не працює кожен раз , що засмучує. Я щойно мав показ UIImageView 0 до Superview, але все ще візуально залишається за замовчуванням (20). Це дійсно здається помилкою з ІБ, оскільки поведінка абсолютно нелогічна.


9

Здається, така поведінка зафіксована на Xcode 11.4: випуски приміток

Виправлена ​​помилка, яка перешкоджала введенню 0 константи в редакторах спливаючих вікон обмежень. (54076090)


Оригінальний відповідь:

Я теж виявив таку поведінку, я спробував додати обмеження 1 на 1 і Xcode насправді дотримався значення 0.

Мої два центи.


Так, я щойно помітив, що у релізних записках теж добре зроблено.
мат

5

Я знаю, що це не рішення, але для тимчасового рішення, щоб запобігти вам пройти через кожне обмеження, я щойно з'ясував, що ви отримуєте бажану поведінку, якщо ви вставите "-0" замість "0", але вам потрібно вставити його обмеження кожного разу.


це насправді хороший варіант, додавання '-0', коли ви створюєте обмеження, буде "0" в інспекторі, не потрібно заходити туди і змінювати їх
busta117

1

Насправді немає можливості вирішити це питання в середній час

але найкращим тимчасовим рішенням є додавання обмежень нулем по черзі.


0

ігноруйте це, коли стандарт.

після додавання його натисніть на обмеження (синя лінія) та інспектор, щоб обмежити атрибут та встановити його на 0.

які працюють для мене


0

Ця помилка все ще відчуває (Xcode 11.3.1). Виправлено це просто додаючи обмеження як "стандартні", потім клацнувши по синіх лініях обмеження і встановивши "константу" під контролером розміру на 0.

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.