В этом коротком руководстве мы узнаем, как создать Панель вкладок без раскадровки.

Шаг 1. Создайте новый проект Xcode и UITabBarController

Давайте продолжим и создадим новый проект Xcode, назовем его TabBarExample:

Затем перейдите в File ›New…› Выберите Cocoa Touch Class и вызовите файл TabBar. Убедитесь, что выбрали подкласс UITabBarController, как показано в следующем примере:

Шаг 2. Удалите раскадровку и поместите TabBar в качестве rootViewController.

Давайте настроим наш проект на программную обработку: перейдите в файл SceneDelegate и замените функцию сцены этим кодом:

Кроме того, выполните следующие действия, чтобы удалить цель раскадровки:

  • Удалите файл раскадровки.
  • Удалите «main» из основного целевого интерфейса в разделе Информация о развертывании.
  • Удалите ключ раскадровки в файле Info.Plist.

Для получения дополнительной информации о том, как настроить ваш проект программно с помощью интерфейса UIKit, ознакомьтесь с моей статьей по этой теме.

Шаг 3. Давайте напишем код

Скопируйте / вставьте приведенный ниже код и добавьте его в только что созданный файл tabBar:

Эта функция поможет нам сгенерировать navigationController для нашей панели вкладок с заголовком, значком и заголовком значка. Затем давайте дадим нашей панели вкладок соответствующий ViewController, изображение значка и заголовок. Добавьте следующую функцию в файл tabBar:

Здесь мы создаем массив ViewController. Вы можете поместить столько, сколько захотите, но я рекомендую вам не переходить через пять вкладок на панели вкладок.

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

Небольшая хитрость: просто набрав create внутри массива, Xcode автоматически предложит, как его завершить:

Примечание: в этом примере мы использовали SFSymbol для значка нашей панели вкладок. Убедитесь, что цель вашего проекта - под iOS 13 или новее.

Теперь добавьте эти строки кода в функцию ViewDidLoad:

Здесь мы просто вызываем нашу функцию, чтобы добавить панель вкладок и объявить цвет оттенка и цвет фона.

Теперь ваш файл TabBar должен выглядеть так:

Затем запустите свой проект, и вы увидите, что панель вкладок работает:

Еще одна хитрость: если вы хотите вывести пользователя прямо на главную вкладку (посередине), добавьте следующую строку кода внутри SceneDelegate (индекс панели вкладок начать с 0).

Спасибо за внимание! Я всегда рад поболтать и поработать на [email protected]. Рассмотрите возможность подписки, чтобы получить неограниченный доступ к моим статьям и всему Medium через мою реферальную ссылку.