Не удается получить сенсорные события для запуска на UIB-кнопках в заголовках разделов UITable при использовании IOS9 (IOS10 в порядке)
В IOS 9 касание кнопок в заголовке раздела таблицы не работает, но в IOS 10 работает нормально. При этом используется swift 3 как с XCode 8, так и с 9. Я тестировал с физическими устройствами и симулятором, всегда с одинаковым результатом. Мои кнопки находятся в StackView, в StackView, в Content View, в заголовке пользователя. Я не нашел проблем с UIButton в нижнем колонтитуле, но я не хочу их использовать. Все работает нормально, когда я тестирую на устройстве IOS10 или симуляторе, но никогда на IOS9.
Странно, это похоже на другую проблему, описанную в stackru, где он работает для IOS9, но не для IOS10
1 ответ
Я не могу сказать проблему из этого описания, но вот что попробовать.
Запустите приложение в Xcode, затем выберите пункт меню Xcode>Debug>View Debugging>Capture View Hierarchy. Изучите виды StackView, кнопок и т. Д. И убедитесь, что все расположено так, как вы ожидаете, и ничто не затеняет области, которые могут быть изменены, а размеры и положения вида правильны.
Если кнопки находятся в представлении, которое имеет неправильный размер, например нулевую ширину, или со смещением, которое выводит их за пределы суперпредставления, нажатия не будут работать. Но вы не заметите этого, если только для представлений не установлены ограничения. В противном случае вся кнопка будет нарисована и будет выглядеть перевернутой.
Я не могу сказать, что это точно, но с этими типами проблем, вероятным подозреваемым является перекрывающийся вид, крадущий касания или касания, обрезанные суперпредставлением.