В этом коротком руководстве мы узнаем, как создать Панель вкладок без раскадровки.
Шаг 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 через мою реферальную ссылку.