Будет ли SFSafariViewController всегда иметь одинаковые элементы интерфейса на панели навигации и на нижней панели инструментов? - PullRequest
1 голос
/ 10 января 2020

У меня есть приложение, которое использует SFSafariViewController. Пользователь нажимает на кнопку, и внутри приложения появляется веб-представление, представляющее содержимое сайта. Я использую XCUITest Framework для тестирования пользовательского интерфейса.

Я заметил, что при появлении веб-вида панель навигации и нижняя панель инструментов, кажется, всегда имеют одинаковые элементы пользовательского интерфейса.

Элементы пользовательского интерфейса панели навигации (слева направо):

enter image description here

  1. Кнопка «Готово»
  2. URL-ссылка
  3. Кнопка перезагрузки

Элементы интерфейса нижней панели инструментов (слева направо):

enter image description here

  1. Кнопка со стрелкой назад
  2. Кнопка со стрелкой вперед
  3. Кнопка «Поделиться»
  4. Кнопка «Открыть в Safari»

Из пользовательского интерфейса С точки зрения теста, могу ли я предположить, что эти элементы пользовательского интерфейса всегда будут присутствовать по умолчанию для SFSafari V C?

1 Ответ

1 голос
/ 13 января 2020

Вы можете увидеть полную конфигурацию, доступную для SFSafariViewController здесь: https://developer.apple.com/documentation/safariservices/sfsafariviewcontroller/dismissbuttonstyle. Из того, что я вижу, вот что можно настроить из коробки:

  1. Кнопку «Готово» в левом верхнем углу можно изменить, чтобы она выглядела иначе (Done, Close и Cancel являются опциями): https://developer.apple.com/documentation/safariservices/sfsafariviewcontroller/dismissbuttonstyle
  2. Вы можете сделать верхнюю панель навигации «сворачиваемой» с помощью свойства barCollapsingEnabled. https://developer.apple.com/documentation/safariservices/sfsafariviewcontroller/configuration/2887469-barcollapsingenabled

  3. Вы можете изменить предпочтительные цвета оттенков bar и controls (кнопки).

Кроме этого, SFSafariViewController имеет несколько параметров, доступных для настройки.

Итак, ответ на ваш вопрос: Нет, вы не можете предполагать, что эти элементы всегда будут присутствовать. Однако, в большинстве сценариев ios они будут. В общем, я бы ни за что не предположил, потому что Apple всегда могла изменить это в будущих iOS версиях.

...