Вы можете поработать с тем, что есть в этом видео , чтобы заставить что-то работать, но, честно говоря, трудно заставить его работать с экранами различных размеров, если ваш взгляд каким-либо образом отзывчив. Но если вы используете основу в этом видео для анимации и комбинируете ее со считывателем геометрии, чтобы получить нулевую позицию и крайнюю правую позицию входа, вы можете получить правильное положение прокрутки.
Что касается запуска и остановки Я бы предложил вам использовать Timer для переключения логической переменной @State с именем scrollText, чтобы запускать / останавливать анимацию через 2 секунды после ее продолжительности. Сначала вы должны включить анимацию в .onAppear, например:
Text("Hello World")
.offset(x: scrollText ? zeroPoint : screenEntryPoint)
.animation(Animation.linear(duration: 8).repeatForever(autoreverses: false))
.onAppear {
self.scrollText.toggle()
}
Если затем установить таймер на 10 секунд для переключения scrollText, вы сможете запустить анимацию в течение 8 секунд, сделайте паузу в 2 секунды, а затем снова запустите.
Обратите внимание, что для работы выделенного текста вам также необходимо дважды ПОВТОРИТЬ текст, чтобы текст анимировался справа, а также слева , Удачи!