Я пытаюсь имитировать поведение домашнего индикатора на iPhone X, но не могу понять, как это сделать. В некоторых приложениях индикатор дома гаснет, и вам нужно провести по нему, чтобы активировать нормальное поведение. Я нашел в контроллере возможность скрыть индикатор, но это не то, что я ищу. В Clash Royale и Clash of Clans, например, индикатор дома тускнеет, затем, когда вы проводите по нему вверх, индикатор становится ярче, и если вы сделаете это снова, он активирует «дом». Скрытие индикатора с помощью найденного мной API просто заставляет его вести себя странно.
Это API, который я использую, но он работает не так, как в других приложениях. При включенном автоматическом скрытии индикатор исчезнет до тех пор, пока вы не проведете пальцем по экрану, и сразу не вызовет домашнее действие. Это бесполезно, потому что цель состоит в том, чтобы предотвратить непреднамеренное перемещение на главный экран:
override func prefersHomeIndicatorAutoHidden() -> Bool {
return true
}
Я предпочитаю, чтобы индикатор гаснет, а затем активируется (становится ярче), когда вы проводите пальцем вверх (но не идете домой), а затем, если вы снова проводите пальцем вверх, чтобы вызвать домой. Такое поведение постоянно в приложениях Supercell, но, возможно, это не встроенное поведение.
Чтобы увидеть разницу, вы можете взглянуть на одно из этих приложений Supercell (на iPhone X) и посмотреть на приложение с только установленным свойством.
UIKit
, автоматическая компоновка и безопасные области, и это явно более стандартно, чем изменение поведения индикатора домашней страницы. Я также должен задаться вопросом, есть ли у этих приложений ресурсы для этого, а у вас - нет? Удачи! (Я имею в виду это искренне.) - person dfd   schedule 02.01.2018