One Logo Pool Ball
SwiftUI · IOS API REFERENCE

TimelineView

struct · iOS 15.0+ · SDK 27.1

struct TimelineView<Schedule, Content> where Schedule : TimelineSchedule

A view that updates according to a schedule that you provide. A timeline view acts as a container with no appearance of its own. Instead, it redraws the content it contains at scheduled points in time. For example, you can update the face of an analog timer once per second: TimelineView(.periodic(from: startDate, by: 1)) { context in AnalogTimerView(date: context.date) } The closure that creates the content receives an input of type ``Context`` that you can use to customize the content's appearance. The context includes the ``Context/date`` that triggered the update. In the example above, the timeline view sends that date to an analog timer that you create so the timer view knows how to draw the hands on its face. The context also includes a ``Context/cadence-swift.property`` property that you can use to hide unnecessary detail. For example, you can use the cadence to decide when it's appropriate to display the timer's second hand: TimelineView(.periodic(from: startDate, by: 1.0)) { context in AnalogTimerView( date: context.date, showSeconds: context.cadence <= .seconds) } The system might use a cadence that's slower than the schedule's update rate. For example, a view on watchOS might remain visible when the user lowers their wrist, but update less frequently, and thus require less detail. You can define a custom schedule by creating a type that conforms to the ``TimelineSchedule`` protocol, or use one of the built-in schedule types: * Use an ``TimelineSchedule/everyMinute`` schedule to update at the beginning of each minute. * Use a ``TimelineSchedule/periodic(from:by:)`` schedule to update periodically with a custom start time and interval between updates. * Use an ``TimelineSchedule/explicit(_:)`` schedule when you need a finite number, or irregular set of updates. For a schedule containing only dates in the past, the timeline view shows the last date in the schedule. For a schedule containing only dates in the future, the timeline draws its content using the current date until the first scheduled date arrives.

Members (0)

This type has no directly callable members in this snapshot. See the framework’s skipped declarations for unsupported APIs.

Skipped declarations

2 declarations were excluded from these bindings. Each reason comes from the generator or the iOS SDK compiler.

TimelineView.init(_:content:)

This declaration needs Swift generic type arguments. (no canonical witness for Schedule)

TimelineView.init(_:content:)

This declaration needs Swift generic type arguments. (no canonical witness for Schedule)

All SwiftUI types →