Record Button with State
Audio/video recording toggle button with morphing record/stop states and pulse animation.
SwiftUI Implementation
Pure Vanilla Swift • No DependenciesrecordButton.swift
import SwiftUI
struct UseRecordButton: View {
@State private var isRecordButtonActive: Bool = true
var body: some View {
RecordButton(color: isRecordButtonActive ? .red : .secondary)
}
}
#Preview {
UseRecordButton()
}
struct RecordButton: View {
let color: Color
var body: some View {
Circle()
.foregroundStyle(color)
.frame(width: 62, height: 62)
.overlay {
Circle()
.stroke(lineWidth: 2)
.padding(5)
.foregroundStyle(Color(uiColor:.systemBackground))
}
}
}
#Preview {
RecordButton(color: .red)
}Ready to copy and paste directly into any Xcode project running iOS 16.0+.
Recommended Use Cases
- Dashboard overviews, stats tracking, and metric highlights
Component Details
- Category
- Buttons
- iOS Compatibility
- iOS 16.0+
- Xcode Version
- Xcode 15+
- Platform
- iOS
- License Tier
- Free
- Themes & Contexts
- dashboard
- Keywords
- buttonstate
C
Compot for iOS
Native SwiftUI playground app
Preview all 130+ components interactively on your device and copy code straight to Xcode with 1 tap.
Get Compot on the App StoreRelated SwiftUI Components
More components in Buttons and related app architectures.
ButtonsiOS 16.0+
Primary Button Basic
High-emphasis prominent action button with standard SwiftUI prominence styling and haptic feedback.
View Component & Code
ButtonsiOS 16.0+
CTA Button Large Basic
Full-width, high-impact call-to-action button designed for onboarding screens, welcome flows, and paywalls.
View Component & Code
ButtonsiOS 16.0+
Secondary Button Basic
Medium-emphasis secondary action button styled for alternative user workflows and dismissal actions.
View Component & Code