(by @andrestaltz)
If you prefer to watch video tutorials with live-coding, then check out this series I recorded with the same contents as in this article: Egghead.io - Introduction to Reactive Programming.
| i386 : iPhone Simulator | |
| x86_64 : iPhone Simulator | |
| arm64 : iPhone Simulator | |
| iPhone1,1 : iPhone | |
| iPhone1,2 : iPhone 3G | |
| iPhone2,1 : iPhone 3GS | |
| iPhone3,1 : iPhone 4 | |
| iPhone3,2 : iPhone 4 GSM Rev A | |
| iPhone3,3 : iPhone 4 CDMA | |
| iPhone4,1 : iPhone 4S |
(by @andrestaltz)
If you prefer to watch video tutorials with live-coding, then check out this series I recorded with the same contents as in this article: Egghead.io - Introduction to Reactive Programming.
| if let popoverController = alertController.popoverPresentationController { | |
| popoverController.sourceView = self.view | |
| popoverController.sourceRect = CGRect(x: self.view.bounds.midX, y: self.view.bounds.midY, width: 0, height: 0) | |
| popoverController.permittedArrowDirections = [] | |
| } |
| struct ViewControllerHolder { | |
| weak var value: UIViewController? | |
| init(_ value: UIViewController?) { | |
| self.value = value | |
| } | |
| } | |
| struct ViewControllerKey: EnvironmentKey { | |
| static var defaultValue: ViewControllerHolder { return ViewControllerHolder(UIApplication.shared.windows.first?.rootViewController ) } |
| //------------------------------------------------------------------------ | |
| // The SwiftUI Lab: Advanced SwiftUI Animations | |
| // https://swiftui-lab.com/swiftui-animations-part1 (Animating Paths) | |
| // https://swiftui-lab.com/swiftui-animations-part2 (GeometryEffect) | |
| // https://swiftui-lab.com/swiftui-animations-part3 (AnimatableModifier) | |
| //------------------------------------------------------------------------ | |
| import SwiftUI | |
| struct ContentView: View { | |
| // Advanced SwiftUI Transitions | |
| // https://swiftui-lab.com | |
| // https://swiftui-lab.com/advanced-transitions | |
| import SwiftUI | |
| struct CrossEffectDemo: View { | |
| let animationDuration: Double = 2 | |
| let images = ["photo1", "photo2", "photo3", "photo4"] | |
| @State private var idx = 0 |
| // | |
| // ListeningSiriAnimation.swift | |
| // SwiftUI Siri Animation | |
| // | |
| import SwiftUI | |
| struct ListeningSiriAnimation: View { | |
| @State var isRotating = false |