Логотип YeaHub

База вопросов

Собеседования

Тренажёр

База ресурсов

Обучение

Навыки

Задачи

Войти

Выбери, каким будет IT завтра — вместе c нами!

YeaHub — это полностью открытый проект, призванный объединить и улучшить IT-сферу. Наш исходный код доступен для просмотра на GitHub. Дизайн проекта также открыт для ознакомления в Figma.

© 2026 YeaHub

AI info

Карта сайта

Документы

Медиа

Назад
Вопрос про Swift : swiftui, view, component, reusable

Как реализовать кастомные UI-компоненты в SwiftUI?

Вопрос проверяет умение расширять стандартный набор SwiftUI и создавать свои переиспользуемые визуальные элементы.

Короткий ответ

В SwiftUI кастомный компонент — это просто структура, соответствующая протоколу View, в которой вы описываете комбинирование встроенных вью и модификаторов. Можно сделать свой struct MyButton: View, добавить любые параметры («состояние», замыкания) и внутри тела разместить Text, Image и т. д. Такой компонент легко переиспользовать и настраивать.

Длинный ответ

Определение компонента:

  • Создайте struct и унаследуйтесь от View.

  • Объявите параметры (@Binding, Action или простые свойства).

Описание тела (body):

  • Составьте иерархию вью: VStack, HStack, ZStack, или одиночный элемент.

  • Применяйте стандартные модификаторы: .padding(), .background(), .cornerRadius().

Пример:

struct RoundedButton: View {
    	let title: String
    	let action: () -> Void

    	var body: some View {
        	Button(action: action) {
            		Text(title)
                		.padding()
                		.frame(maxWidth: .infinity)
                		.background(Color.blue)
                		.foregroundColor(.white)
                		.cornerRadius(8)
        	}
    	}
}

Переиспользование и настраиваемость:

  • Можно добавить @Binding var isEnabled: Bool или @State внутри компонента.

  • Внедрять тему через Environment или параметры конструктора.

Вывод:
Кастомные компоненты в SwiftUI — это просто View-структуры, которые создают удобный и унифицированный интерфейс для повторного использования по всему приложению.

  • Аватар

    iOS Guru

    Roman Isakov

    Guru – это эксперты YeaHub, которые помогают развивать комьюнити.

Уровень

  • Рейтинг:

    2

  • Сложность:

    5

Навыки

  • Swift

    Swift

Ключевые слова

#swiftui

#view

#component

#reusable

Подпишись на iOS Developer в телеграм

  • Аватар

    iOS Guru

    Roman Isakov

    Guru – это эксперты YeaHub, которые помогают развивать комьюнити.