小编Jul*_* D.的帖子

从 SPM 包运行 SwiftUI 预览

我正在开发一个 Swift 包管理器包,其中需要包含 SwiftUI 视图。

每个 SwiftUI 视图都应该有一个预览。

但是,当我尝试运行任何视图的预览时,出现以下错误: 在此处输入图片说明

我找到了一种方法,如果我将包方案更改为主要目标方案,它就会起作用。但是使用这种方式我必须一直在方案之间切换,并且每次我想运行包的预览时都需要构建主要目标。

是否可以直接从 SPM 包中以某种方式运行 SwiftUI 预览而不构建主要目标?

ios swift swift-package-manager swiftui

13
推荐指数
1
解决办法
2080
查看次数

使用 SwiftUI 设置 TabBar 项目徽章计数

是否可以使用 SwiftUI 显示 TabItem 徽章?

使用 UIKit 很容易实现,就像这里描述的 ->

如何在标签栏中设置徽章值?

我没有找到使用 SwiftUI 执行此操作的方法。唯一可能的方法是使用场景 rootViewController 访问 UITabBarController 并直接修改其选项卡栏项目。

  func setBadgeCount(_ count: Int) {
    UIApplication.shared.applicationIconBadgeNumber = count

    guard let delegate = app.connectedScenes.first?.delegate as? SceneDelegate else {
        return
    }

    if let tabBarController = delegate.window?.rootViewController?.children.first {
      tabBarController.viewControllers?.first?.tabBarItem.badgeValue = "\(count)"
    }
  }
Run Code Online (Sandbox Code Playgroud)

有什么想法如何使用原生 SwiftUI 方法来做到这一点吗?

uitabbarcontroller uitabbaritem uitabbar swift swiftui

6
推荐指数
2
解决办法
4596
查看次数