Как избежать того, чтобы динамический остров занимал всю ширину экранаIOS

Программируем под IOS
Ответить
Anonymous
 Как избежать того, чтобы динамический остров занимал всю ширину экрана

Сообщение Anonymous »


Изображение

Изображение

Я использую timerInternal в своем отслеживающем представлении для живого таймера, когда таймер его запуск не учитывает границы и занимает всю ширину экрана, но когда он приостановлен, он учитывает границы динамического острова, как и ожидалось. Есть мысли, как это исправить? Что я делаю не так?
Text(timerInterval: Date()...context.state.endDate, countsDown: true, showsHours: true)

import ActivityKit
import SwiftUI
import WidgetKit

@available(iOS 17.0, *)
struct CompactTrailingView: View {
let context: ActivityViewContext

var body: some View {
if context.hasExpired || context.state.isPaused {
Text(formattedTime)
.font(.Widget.heading2Regular14.monospacedDigit())
.foregroundColor(.white)
.monospacedDigit()
} else {
Text(timerInterval: Date()...context.state.endDate, countsDown: true, showsHours: true)
.font(.Widget.heading2Regular14.monospacedDigit())
.foregroundColor(.white)
.monospacedDigit()
.multilineTextAlignment(.trailing)
}
}

var formattedTime: String {
if context.hasExpired {
return "00:00"
}

let remaining = max(context.state.remainingDuration, 0)

let hours = Int(remaining) / 3600
let minutes = Int(remaining) / 60 % 60
let seconds = Int(remaining) % 60

if hours == 0 {
return String(format: "%02d:%02d", minutes, seconds)
}

return String(format: "%02d:%02d:%02d", hours, minutes, seconds)
}
}


Подробнее здесь: https://stackoverflow.com/questions/798 ... the-screen
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «IOS»