TGViewer
Мобильный трудоголик Мобильный трудоголик @hardworkerit · 1.64K subscribers
Post #486 345
🔢 SwiftUI: определение угла раскрытия iPhone Duo.

В iOS 27.1 появился модификатор .onHingeChange, который позволяет получить текущее состояние угла раскрытия iPhone Duo и использовать его для управления анимацией, звуком или другими эффектами.


Пример - изменение высоты тона гитары в зависимости от угла раскрытия устройства:


struct InstrumentView: View {
@State private var pitchBend: Double = 0

var body: some View {
GuitarView(pitchBend: pitchBend)
.onHingeChange { _, context in
if let hinge = context.hinge, hinge.status == .partiallyOpen {
pitchBend = calculatePitchBend(angle: hinge.angle)
} else {
pitchBend = 0
}
}
}

private func calculatePitchBend(angle: Angle) -> Double { ... }
}


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


Где еще это может быть полезно:

Угол раскрытия можно использовать не только для звука. Например, для управления громкостью: чем шире раскрыто устройство, тем громче звук. Или для анимации: персонаж на экране может наклоняться в зависимости от положения шарнира. Или для игр: угол становится дополнительным управляющим элементом, который не требует касания экрана. Все, что угодно, где физическое положение устройства может влиять на поведение приложения.


🔗 Читать подробнее


💡 Вывод:

.onHingeChange дает разработчикам доступ к состоянию шарнира iPhone Duo. Это открывает новые сценарии для интерактивных приложений: музыкальных инструментов, игр, обучающих программ. Угол раскрытия становится еще одним способом взаимодействия с устройством, наравне с касанием, жестами и голосом.


Подписаться на канал:
➡️ Telegram | Max
  • 👍 11
  • 🔥 2
  • ❤ 1
  • 🙏 1
More from @hardworkerit
  1. Oct 2, 2026👣 Архитекторы, тестировщики и кодеры. Создаем мультиагентную команду Разработка с ИИ-аген…
  2. Oct 1, 2026🔢 Работа с Picture-in-Picture в iOS. Picture-in-Picture - системная функция iOS, которая…
  3. Sep 29, 2026🔢 Управление тулбарами на iPhone Duo. На iPhone Duo элементы управления навигацией, дейст…
  4. Sep 27, 2026🔢 Новые возможности Hashable в Swift 6.4 В Swift 6.4 добавили Hashable для нескольких тип…
  5. Sep 25, 2026🔢 Приватные свойства больше не ломают memberwise инициализатор в Swift 6.4 Swift автомати…
  6. Sep 24, 2026👨‍💻 Почему разработчики ненавидят своих менеджеров. Всем привет! Сегодня хочу разобрать…
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →