Swift PiecesPro
  • Library
    Screens48Finished, designed screens for real apps.Templates10Complete apps built from the screens.Build Kit24Styles, briefs and recipes for your coding agentEverything58The whole library, with search
  • Docs
  • Pro

Library

  • Screens48
  • Templates10
  • Build Kit24
  • Everything58
  • Docs
  • Pro
  • Account
Get Swift Pieces ProFree library ↗
Swift PiecesPro

Production-ready SwiftUI screens and app templates for iOS. The pieces to build the whole app.

Library

  • Screens
  • Templates
  • Build Kit
  • Everything

Product

  • Pro
  • Your account
  • Sign in

Resources

  • Docs
  • CLI
  • MCP and agents
  • Free library

Social

  • X / Twitter
  • GitHub

SWIFTPIECES PRO

© 2026 Swift Pieces. One payment, lifetime access, per-developer commercial license.

Curated withby Saivion

LibraryScreensClimate

Screen · Home

Climate

A thermostat knob you turn around a ring of ticks, with modes and the day's schedule.

A thermostat screen built on a round dial: drag around a ring of fine ticks to set the target in half-degree steps with a detent each, while the current temperature, heating or cooling arc and time to target update; modes switch the palette, and the day's schedule sits below as capsule blocks.

SwiftUIiOS 17.0+climate-dial

Get Swift Pieces Pro

$199 once, every piece included. See how installing works · Sign in

01

What's included

SwiftUI source you own, built on Apple frameworks only.

  • Turn the knob in half-degree steps with a haptic detent
  • An arc from current to target that says heating or cooling
  • Heat, cool, auto and off modes
  • The day's schedule as capsule blocks you can tap to edit
  • Adjustable for VoiceOver, one detent per swipe

In the Build Kit

Frost (style). Your agent builds around this screen in the same design.

Used in

Smart Home App (template)

02

Implementation notes

How it behaves, what it handles, and the decisions behind it.

The dial is a pale knob inside a 270 degree ruler of fine ticks. Drag anywhere around it to set the target: it moves half a degree at a time with a detent and a haptic each, a grip on the knob's edge follows your finger, and the stretch of ruler between the room's reading and the target lights up in the heating or cooling block, with a solid arc along the track. The knob says what the thermostat is doing, the target as a giant numeral in the family's numeral style, and where the room is now.

Modes sit under the dial as blocks, the room's humidity and the weather outside as figures on blocks, and today's schedule as a row of capsules as wide as their hours, coloured by how warm each is set. Tap a capsule to adjust it.

Notes

  • Bind target and pass current and mode. range and step default to 10 to 30 in half degrees; pass Fahrenheit values and a step of 1 for °F.
  • The ruler runs from the bottom left, over the top, to the bottom right. A drag in the dead zone at the bottom snaps to the nearer end instead of jumping across.
  • ClimateDialMode.action(current:target:) decides heating, cooling or holding, so the arc and the caption agree with what the device would do in auto.
  • Off dims the ruler and ignores drags; the target stays so turning it back on resumes where it was.
  • VoiceOver reads the dial as one adjustable element ("Target temperature, 21.5 degrees, heating to, room at 19.5") and steps it by one detent.
  • ClimateSchedule is its own view: give it [ClimateScheduleBlock] covering the day and a fill for a set point.
  • ClimateDialExample at the end of ClimateDial.swift is the screen shown in the preview; copy it as a starting point.

03

Keep building

Pieces that work well next to this one.

Screen · Home

Home

A room at the centre, its devices in a ring around it: tap to toggle, swipe to change rooms.

Template · Home

Smart Home App

Maison, a smart home app: a complete Xcode project with a radial device hub, climate control, rooms and scenes, energy, widgets and three brand presets.

Screen · Productivity

Focus

A focus session with a dial you drag to set minutes and a ring that drains as you work.