iOS中UIHostingController内Swift TipKit的MaxDisplayCount失效问题
问题:UIHostingController包裹的SwiftUI视图中Tip的MaxDisplayCount选项失效
当为Tip配置MaxDisplayCount选项后,若在被UIHostingController包裹的SwiftUI视图中展示TipView,该选项会失效——Tip不会自动隐藏,会一直显示直到用户手动关闭。
Tip定义
struct CustomTip: Tip { var title: Text { Text("提示标题") } var message: Text? { Text("提示内容") } var options: [Option] { MaxDisplayCount(1) } }
AppDelegate代码
import UIKit import SwiftUI import TipKit @main class AppDelegate: UIResponder, UIApplicationDelegate { var window: UIWindow? func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplication.LaunchOptionsKey: Any]?) -> Bool { // 应用启动后的自定义配置点 try? Tips.configure() let vc = UIHostingController(rootView: CustomView()) window = UIWindow(frame: UIScreen.main.bounds) window?.rootViewController = vc window?.makeKeyAndVisible() return true } }
SwiftUI视图代码
import SwiftUI import TipKit struct CustomView: View { var body: some View { VStack { TipView(CustomTip()) Text("Hello, World!") } } }
内容的提问来源于stack exchange,提问作者Lukáš Matuška
相关产品推荐
相关产品推荐

