Swift — это язык программирования общего назначения, разработанный Apple Inc., впервые выпущенный в 2014 году для своих платформ и Linux. Swift имеет открытый исходный код. Используйте тег только для вопросов о языковых функциях или необходимости кода в Swift. Используйте теги [ios], [ipados], [macos], [watch-os], [tvos], [swiftui], [cocoa-touch] и [cocoa] для (не зависящих от языка) вопросов о платформах или рамки.
Я хочу добавить немного синтаксического сахара в свой код и не вводить compactMap { $0 } каждый раз, когда мне нужно удалить нулевые значения из потока издателя. Можно ли создать расширение, которое позволит мне просто набирать compactMap()?...
Ситуация
Во время миграции некоторых классов представлений UIKit в SwiftUI я столкнулся со следующим случаем:
У меня есть простой класс представления, отвечающий за выборку и отображение данных. Его структура довольно проста и может быть воссоздана в SwiftUI следующим образом:
struct NewView: View ...
25 Сен 2023 в 20:10
UIView имеет функции для преобразования точек, прямоугольников и т. д. между координатными пространствами. Мне нужно сделать то же самое для UIBezierPaths. В качестве иллюстрации рассмотрим два представления: viewA и viewB. У нас есть rectA : CGRect в координатном пространстве viewA. Мы можем ра...
25 Сен 2023 в 18:13
В iOS17 динамический остров имеет возможность взаимодействия с Button и Toggle. Я хочу создать тактильный эффект при нажатии кнопки на динамическом острове.
Обычное решение НЕ работает на динамическом острове, таком как UIImpactFeedbackGenerator.init(style: UIImpactFeedbackGenerator.FeedbackStyle.li...
25 Сен 2023 в 15:43
У меня есть виджет, который принимает два определяемых пользователем параметра: местоположение и фон.
Селектор местоположения работает отлично и по умолчанию соответствует тому, что указано в моем LocationQuery defaultResult. Но селектор фона по какой-то причине игнорирует мой BackgroundQuery defau...
Я пытаюсь добавить тень (картинка ниже) но у меня есть такой результат
Код:
func addShadow() {
layer.masksToBounds = false
layer.shadowRadius = 10
layer.shadowOpacity = 0.5
layer.shadowColor = UIColor.purple.cgColor
layer.shadowOffset = CGSize(width: 0 , ...
Я пытаюсь создать ленту социальных сетей с помощью Swift UI.
Раньше я использовал цикл ForEach внутри списка, который автоматически разбивал мои сообщения на страницы в конце списка.
Однако теперь у меня есть элементы над лентой, которые я хотел бы прокручивать так же, как и список сообщений.
Но, по...
Работа в Swift и AppKit на macOS: у меня есть NSTableView, который работает как положено, за исключением того, что в таблице не отображается индикатор сортировки заголовков столбцов при первоначальной загрузке.
Содержимое моей таблицы сортируется, как и ожидалось, при начальной загрузке, и нажатие н...
Я пытаюсь обернуть представление контента внутри NavigationStack. Однако, когда я использую NavigationStack, анимация масштабирования показывает странное поведение и не игнорирует безопасную область (она прекрасно работает без NavigationStack). Я уже нашел решение для анимации масштабирования вокр...
25 Сен 2023 в 07:13
Я делаю приложение для iOS и использую Swift. Когда я открываю WebViewController из ViewController, он работает нормально, но проблема возникла, когда я нажимаю кнопку «Назад» на панели навигации, чтобы вернуться в ViewContoller. Затем я получаю эту ошибку:
Проверка включена по умолчанию для проце...
25 Сен 2023 в 06:35
Продолжая мой предыдущий вопрос, что лучше? способ наблюдать за несколькими изменениями состояния из UIViewRepresentable? Раньше мне требовалось отслеживать изменения только одного свойства userWon. Однако, поскольку в приложении были представлены новые функции, мне теперь нужно наблюдать за новы...
25 Сен 2023 в 06:01
Недавно я использовал PageTabViewStyle() в модификаторе tabViewStyle TabView. Однако мне хотелось сделать более индивидуальный дизайн, как на изображении ниже, но я не знаю, как это сделать.
Что мне нужно, так это, по сути, раздвижные виды (я заменю эти серые виды постерами фильмов), выбранный сред...
25 Сен 2023 в 04:17
У меня возникла проблема с SwiftUI, из-за которой связанная переменная @State (displayString) не обновляется вовремя при представлении листа. Предоставленный код состоит из родительского представления (SimpleParentView) и дочернего представления (SimpleChildView). Родительское представление предст...
25 Сен 2023 в 03:30
Я пытаюсь создать «бесконечную сетку» для какой-то графической программы, похожей на ту, что в Desmos или Geogebra. Я хочу, чтобы вид отображался с использованием металла. Моя проблема в том, что, хотя код вроде бы работает нормально, он часто мерцает.
Вот гифка с описанным поведением
Как видите, ...
Я работаю с дополнительной структурой в Swift, где ожидается, что значение по умолчанию будет строкой. Однако я хотел бы обработать сценарий, в котором значением по умолчанию также может быть изображение. Вот код, который я использую:
Text(quotes.quote ?? Image(systemName: "circle.dashed") )
Може...
Я пытаюсь отобразить PDF-файл, который ранее сохранил в папке с файлами. Я пытаюсь создать URL-адрес файла и отобразить его с помощью pdfKit, но URL-адрес всегда равен нулю. Я пытаюсь сделать следующее:
let url = URL(fileURLWithPath: "file:///private/var/mobile/Library/Mobile%20Documents/iCloud~co...
У меня есть массив объектов, которые я могу визуализировать в представлении SwiftUI. Отобразить их в виде списка очень просто, однако я хотел бы создать разделы и сгруппировать их по одному из свойств элементов.
Я попробовал использовать Dictionary(grouping:by:), а затем выполнить сортировку по клю...
24 Сен 2023 в 18:50
Я читал этот блог, так как у меня есть аналогичный вариант использования: https://kelvas09.github.io/blog/posts/closure-delegate-to-async/
Я заметил следующий фрагмент:
actor BluetoothLEScanWrapper {
enum BluetoothLEScanError: Error {
case bluetoothNotAvailable
}
private let bluetoothLEDelegat...
24 Сен 2023 в 15:34
Я работаю над проектом SwiftUI, в котором у меня есть несколько подпредставлений, каждое из которых имеет собственную связанную с ним ViewModel, и я хочу реализовать подход «единого источника истины» для управления данными. Цель состоит в том, чтобы избежать ручной синхронизации данных между подпре...
В настоящее время actionSheet адаптируется к цветовой схеме, установленной в настройках устройства, но я хочу установить ее вручную.
var body: some View {
VStack {
Button(action: {
showingActionSheet = true
}) {
Text("Action")
}
.actionShee...
Я изучаю Swift с помощью UIKit и пытаюсь создать базовый пользовательский интерфейс с помощью UIkit. У меня возникла проблема: я не вижу текст bioTextView в своем пользовательском интерфейсе. В чем проблема с моим кодом? У меня белый фон на экране и цвет текста bioTextView черный, и я не вижу его н...
Мне нужен макет, как показано на изображении, как я могу это сделать?
Я пробовал использовать Zstack, но он не работает должным образом.
...
Я конвертирую существующее приложение на базе контроллера Boutique + ObservedObject в SwiftData + Observable.
У меня есть два @Model, скажем, Model1 и Model2. Мне нужен доступ к данным, хранящимся в ModelContainer как в классе контроллера View, так и в @Observable.
В классе контроллера у меня есть ...
24 Сен 2023 в 00:30
Я пытаюсь создать круговую диаграмму, используя следующий пример
https://developer.apple.com/documentation/charts/visualizing_your_app_s_data
Я успешно отобразил данные из массива, выполнив
Chart(store.profile!.invoices) { expense in
SectorMark(
angle: .value("Expense", expen...
Я определил protocol ExampleProtocol со свойством exampleArray типа [Stuff]. Этот протокол определен в рамках, поэтому я могу использовать его и в своей версии AppClip.
Мы можем использовать {{X0}} из {{X1}}
public protocol ExampleProtocol {
var exampleArray: [Stuff] { get set }
}
Я использу...