如果您使用
MaxDisplayCount
选项配置简单的提示,则在SwiftUI视图中显示TipView
时,此选项将没有任何效果。提示永远不会无效,直到用户手动驳回它。
tip定义:UIHostingController
Appdelegate:
struct CustomTip: Tip {
var title: Text {
Text("Tip title")
}
var message: Text? {
Text("Tip message")
}
var options: [Option] {
MaxDisplayCount(1)
}
}
swiftui视图:
import UIKit
import SwiftUI
import TipKit
@main
class AppDelegate: UIResponder, UIApplicationDelegate {
var window: UIWindow?
func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplication.LaunchOptionsKey: Any]?) -> Bool {
// Override point for customization after application launch.
try? Tips.configure()
let vc = UIHostingController(rootView: CustomView())
window = UIWindow(frame: UIScreen.main.bounds)
window?.rootViewController = vc
window?.makeKeyAndVisible()
return true
}
}
i提交了一份反馈报告,并从苹果那里得到了一个答案,称这是他们希望在将来的更新中解决的已知问题 - 声称这是由于Swiftui API如何使用Scenephase。现在,推荐的解决方案是使用
tipuiview而不是TipView来显示尖端。