Post

Replies

Boosts

Views

Activity

CarPlay + SwiftUI update doesn't work
Hi iOS member, I have a problem to use a SwiftUI on Carplay. The swiftUI is not refreshed when @State properties are modified. Only UiKit views refreshs well, on Carplay. Is it exists a way to use swiftUI views on Carplay, for example to show a speed of the user on a Map application ? Thank you for your help. Here an example of SwiftUI view : public struct FakeSpeedView: View { @State var speed: Int = 90 let timer = Timer.publish(every: 1, on: .main, in: .common).autoconnect() public init() {} public var body: some View { Text("Speed \(speed)") .onReceive(timer) { _ in var newValue = speed + 1 if newValue > 130 { newValue = 90 } print("FakeSpeedView update speed \(newValue)") speed = newValue } } } And here, the ViewController used as rootViewController for CPWindow : class ContentViewController: UIViewController { private var circularProgressBarView: CircularProgressBarView! private var circularViewDuration: TimeInterval = 2 private var speedVC: UIViewController! override func viewDidAppear(_ animated: Bool) { super.viewDidAppear(animated) setUpSpeedView() setUpCircularProgressBarView() } private func setUpSpeedView() { speedVC = UIHostingController(rootView: FakeSpeedView()) view.addSubview(speedVC.view) speedVC.view.translatesAutoresizingMaskIntoConstraints = false speedVC.view.pinEdges(to: view) addChild(speedVC) speedVC.didMove(toParent: self) } private func setUpCircularProgressBarView() { // set view circularProgressBarView = CircularProgressBarView(frame: .zero) // align to the center of the screen circularProgressBarView.center = view.center // call the animation with circularViewDuration circularProgressBarView.progressAnimation(duration: circularViewDuration) // add this view to the view controller view.addSubview(circularProgressBarView) } }
2
2
1.1k
Jan ’24
CarPlay + SwiftUI update doesn't work
Hi iOS member, I have a problem to use a SwiftUI on Carplay. The swiftUI is not refreshed when @State properties are modified. Only UiKit views refreshs well, on Carplay. Is it exists a way to use swiftUI views on Carplay, for example to show a speed of the user on a Map application ? Thank you for your help. Here an example of SwiftUI view : public struct FakeSpeedView: View { @State var speed: Int = 90 let timer = Timer.publish(every: 1, on: .main, in: .common).autoconnect() public init() {} public var body: some View { Text("Speed \(speed)") .onReceive(timer) { _ in var newValue = speed + 1 if newValue > 130 { newValue = 90 } print("FakeSpeedView update speed \(newValue)") speed = newValue } } } And here, the ViewController used as rootViewController for CPWindow : class ContentViewController: UIViewController { private var circularProgressBarView: CircularProgressBarView! private var circularViewDuration: TimeInterval = 2 private var speedVC: UIViewController! override func viewDidAppear(_ animated: Bool) { super.viewDidAppear(animated) setUpSpeedView() setUpCircularProgressBarView() } private func setUpSpeedView() { speedVC = UIHostingController(rootView: FakeSpeedView()) view.addSubview(speedVC.view) speedVC.view.translatesAutoresizingMaskIntoConstraints = false speedVC.view.pinEdges(to: view) addChild(speedVC) speedVC.didMove(toParent: self) } private func setUpCircularProgressBarView() { // set view circularProgressBarView = CircularProgressBarView(frame: .zero) // align to the center of the screen circularProgressBarView.center = view.center // call the animation with circularViewDuration circularProgressBarView.progressAnimation(duration: circularViewDuration) // add this view to the view controller view.addSubview(circularProgressBarView) } }
Replies
2
Boosts
2
Views
1.1k
Activity
Jan ’24
How add a information panel net trippreview panel
How to add an information panel next to the trippreview panel, as it is done in the Apple Plan application, to display an information message related to government restrictions (low carbon emission zone)? I don't find any API to do this.
Replies
1
Boosts
1
Views
668
Activity
Mar ’23