TipKit for the Real World
Then, when you look at the sample code, itβs all SwiftUI. At least the sample compiles and runs because it uses a completely different syntax than what was shown at WWDC.
[β¦]
Eventually I stumbled upon TipUIPopoverViewController which inherits from UIViewController. That should work! [β¦] But it didnβt: the close button on the popover didnβt work.
[β¦]
Until you realize that any changes you make are stored in a SQLite database, debugging is very confusing. Itβs also easy for your own state to get out-of-sync with the Tip state: there is not a single source of truth.
[β¦]
Unfortunately, that sample code doesnβt scale well. If you have a view with multiple tips, youβre going to be littering your code with tip instances, observation tasks, and popover controllers. Itβs a mess and a clear sign that the TipKit developers didnβt think much about UIKit.
In the previous article, we introduced the basic usage of TipKit. In this article, we will discuss some advanced topics related to TipKit, such as how to fully customize Tip views (not using TipView and popoverTip), how to use TipKit with UIKit, and how TipKit can share data across different applications, as well as how to reuse Tip declaration code. Additionally, we will attempt to address some common questions and concerns about TipKit.
Previously: