Три UIButton внутри вертикального стека. Нажатие первой кнопки также вызывает последнюю кнопку - PullRequest
0 голосов
/ 11 марта 2020

Вот пример проекта, который описывает проблему:

https://github.com/nuynait/UIStackView-UIButton-Bug

Вот видео за минуту для создания ошибки: Нажмите здесь

Чтобы воспроизвести эту проблему:

  1. Создать новый проект одного приложения
  2. Нажмите на раскадровку
  3. Добавить вертикальный вид стека
  4. Добавить верхнее, нижнее, ведущее, конечное ограничение для стека просмотра к его родителю.
  5. Установить вертикальное отображение стека для равномерного заполнения (это необязательный шаг)
  6. Добавить кнопку в представление стека
  7. Добавить другую кнопку в представление стека
  8. Добавьте третью кнопку в представление стека (это также необязательный шаг)
  9. Запустите приложение в симуляторе.
  10. Нажмите на первую кнопку.

Ожидаемое поведение: при нажатии на первую кнопку должна выделяться только первая кнопка.

Фактическое поведение: первая и третья кнопки все подсвечиваются при нажатии на первую кнопку только.

Обновление: я использую Xcode 11.3 (11C29), iPhone 8 Simulator (iOS 13.3)

1 Ответ

0 голосов
/ 11 марта 2020

Эта проблема больше не происходит со мной. Если вы также столкнулись с этой проблемой:

Попробуйте проверить, исправлена ​​ли она:

  1. перезапустите Xcode
  2. перезапустите симуляторы
  3. перезагрузите компьютер
  4. попробуйте запустить его на реальном устройстве.
  5. обновить версию Xcode, если это возможно.

СТАРЫЙ ОТВЕТ:

Я думаю, это ошибка от Apple. Я отправил отчет об ошибке в Apple. На данный момент, если вы столкнулись с этой проблемой и хотите временное решение, у меня есть решение, чтобы добавить UIView ниже StackView для высоты 1px. В этом случае она не будет вызывать последнюю кнопку, когда вы нажимаете первую кнопку.

enter image description here

Обратите внимание, что фальшивый вид должен быть видимым и иметь высоту не менее 1 пикселя. Его нельзя установить скрытым или 0 на альфа.

...