小编Dan*_*Dan的帖子

TabView 内的 SwiftUI iOS 16 NavigationPath 警告:NavigationAuthority

我有一个TabView,每个选项卡都有它自己的NavigationPath,我正在一个ObservableObject.

@MainActor final class Router: ObservableObject {
    @Published var homeNavigationPath = NavigationPath()
    @Published var searchNavigationPath = NavigationPath()
    @Published var notificationsNavigationPath = NavigationPath()
    @Published var profileNavigationPath = NavigationPath()
}
Run Code Online (Sandbox Code Playgroud)

我这样做是为了让每个选项卡都可以自行 PopToRoot。一切似乎都运行良好,但是我在控制台中收到以下消息......

更新 NavigationAuthority 绑定路径尝试每帧更新多次。

有谁知道这意味着什么?我做错了什么还是拥有多个NavigationPath这样的 s 完全没问题吗?

tabview swiftui ios16 navigationpath

9
推荐指数
0
解决办法
1298
查看次数

如何预缓冲 avplayer 项目?

过去一周我一直在研究这个并尝试各种方法,但注意到正在努力达到我所追求的标准。

我想在没有缓冲延迟的情况下播放 AVPlayerItems 字典。我说字典,而不是数组,因为我需要在浏览图像和视频时为项目附加一个索引。因此 AVQueuePlayer 似乎不适用于这种情况。

我正在创建类似于 Instagram 故事设置的内容。他们在观看背靠背视频和照片时没有延迟。

我意识到已经有很多关于这个主题的问题,但现在很多已经过时了。所以只是想知道我是否在所有的噪音中遗漏了什么。

谢谢

buffer preload avplayer swift

6
推荐指数
0
解决办法
317
查看次数

SwiftUI Font 如何将 uppercased() 与 LocalizedStringKey 一起使用

我正在尝试创建一种斜体和大写的字体样式。我还使用 LocalizedStringKey 来设置我的字符串。我尝试使用smallCaps(),但这对italic()不起作用,如这里回答的那样,如果我尝试在LocalizedStringKey上使用uppercased(),它只会将键设置为大写而不是字符串。

有人知道解决办法吗?

 extension Font {
    public static let Heading1: Font = system(size: 34, weight: .black, design: .default).italic()
}

Text("HELLO_WORLD").font(.Heading1)
Run Code Online (Sandbox Code Playgroud)

fonts smallcaps italic uppercase swiftui

3
推荐指数
1
解决办法
1061
查看次数

SwiftUI NavigationStack NavigationLink 相同值,多个目的地

我有一个这样的模型...

struct User: Codable {
    let followersCount: Int
    let followingCount: Int
}
Run Code Online (Sandbox Code Playgroud)

使用 NavigationStack 我希望能够使用基于 Value 的 NavigationLink

 NavigationLink(value: user.followersCount) {
    Text("Followers")
}

NavigationLink(value: user.followingCount) {
    Text("Following")
}
.navigationDestination(for: Int.self) { _ in
    FollowersView()
}

.navigationDestination(for: Int.self) { _ in
    FollowingView()
}
Run Code Online (Sandbox Code Playgroud)

因为这两个值都是 Int。有没有办法区分两者?

swiftui swiftui-navigationlink ios16 swiftui-navigationstack

2
推荐指数
1
解决办法
861
查看次数