Swift 支持隐藏滚动条上的导航栏navigationController?.hidesBarsOnSwipe = true
需要明确的是,我希望它只隐藏在滚动条上,所以.navigationBarHidden(true)还不够。
我尝试按照 Stackoverflow 答案中的描述访问 NavigationController (我添加了nc.hidesBarsOnSwipe = true),但在编译时,它不起作用。
SwiftUI 支持吗?
UIKitTabView要点 \n此要点将 UIKit 选项卡视图集成到 SwiftUI,以便在切换选项卡时导航堆栈不会重置,并且双击选项卡会恢复到选项卡内的根视图。
\n\n它不支持双击选项卡滚动到顶部,就像在 IG / FB / Twitter 中一样。
\n\n点击标签栏滚动到 UITableViewController 的顶部\n我在 Swift 中找到了几个解决方案,上面是一个示例。但我无法让它适用于 SwiftUI,我猜测存在语法差异。
\n\n我正在使用以下内容进行测试(将列表添加到要点中的原始示例中)
\n\nstruct ExampleView: View {\n\xc2\xa0\xc2\xa0\xc2\xa0\xc2\xa0@State var text: String = ""\n\xc2\xa0\xc2\xa0\xc2\xa0\xc2\xa0\n\xc2\xa0\xc2\xa0\xc2\xa0\xc2\xa0var body: some View {\n\xc2\xa0\xc2\xa0\xc2\xa0\xc2\xa0\xc2\xa0\xc2\xa0\xc2\xa0\xc2\xa0UIKitTabView([\n\xc2\xa0\xc2\xa0\xc2\xa0\xc2\xa0\xc2\xa0\xc2\xa0\xc2\xa0\xc2\xa0\xc2\xa0\xc2\xa0\xc2\xa0\xc2\xa0UIKitTabView.Tab(view: NavView(), title: "ImTab1", image: "heart"),\n\xc2\xa0\xc2\xa0\xc2\xa0\xc2\xa0\xc2\xa0\xc2\xa0\xc2\xa0\xc2\xa0\xc2\xa0\xc2\xa0\xc2\xa0\xc2\xa0UIKitTabView.Tab(view: Text("Second View"), title: "ImTab2", image: "person")\n\xc2\xa0\xc2\xa0\xc2\xa0\xc2\xa0\xc2\xa0\xc2\xa0\xc2\xa0\xc2\xa0])\n\xc2\xa0\xc2\xa0\xc2\xa0\xc2\xa0}\n}\n\nstruct NavView: View {\n\xc2\xa0\xc2\xa0\xc2\xa0\xc2\xa0@State var yOffset: CGFloat = 0\n\xc2\xa0\xc2\xa0\xc2\xa0\xc2\xa0\n\xc2\xa0\xc2\xa0\xc2\xa0\xc2\xa0var body: some View {\n\xc2\xa0\xc2\xa0\xc2\xa0\xc2\xa0\xc2\xa0\xc2\xa0\xc2\xa0\xc2\xa0NavigationView {\n\xc2\xa0\xc2\xa0\xc2\xa0\xc2\xa0\xc2\xa0\xc2\xa0\xc2\xa0\xc2\xa0\xc2\xa0\xc2\xa0\xc2\xa0\xc2\xa0ScrollView {\n\xc2\xa0\xc2\xa0\xc2\xa0\xc2\xa0\xc2\xa0\xc2\xa0\xc2\xa0\xc2\xa0\xc2\xa0\xc2\xa0\xc2\xa0\xc2\xa0\xc2\xa0\xc2\xa0\xc2\xa0\xc2\xa0ForEach(0..<100) { i in\n\xc2\xa0\xc2\xa0\xc2\xa0\xc2\xa0\xc2\xa0\xc2\xa0\xc2\xa0\xc2\xa0\xc2\xa0\xc2\xa0\xc2\xa0\xc2\xa0\xc2\xa0\xc2\xa0\xc2\xa0\xc2\xa0\xc2\xa0\xc2\xa0\xc2\xa0\xc2\xa0Text("Hello \\(i)")\n\xc2\xa0\xc2\xa0\xc2\xa0\xc2\xa0\xc2\xa0\xc2\xa0\xc2\xa0\xc2\xa0\xc2\xa0\xc2\xa0\xc2\xa0\xc2\xa0\xc2\xa0\xc2\xa0\xc2\xa0\xc2\xa0}\n\xc2\xa0\xc2\xa0\xc2\xa0\xc2\xa0\xc2\xa0\xc2\xa0\xc2\xa0\xc2\xa0\xc2\xa0\xc2\xa0\xc2\xa0\xc2\xa0\xc2\xa0\xc2\xa0\xc2\xa0\xc2\xa0NavigationLink(destination: Text("This page stays when you switch back and forth between tabs (as expected on …Run Code Online (Sandbox Code Playgroud) 我的印象是,将环境变量添加到environment.d.ts 将确保它们具有正确的类型。
我有 @types/node 作为开发依赖项,并且有一个包含以下内容的environment.d.ts
declare global {
namespace NodeJS {
interface ProcessEnv {
DATABASE_URL: string;
}
}
}
export {};
Run Code Online (Sandbox Code Playgroud)
但是,当我尝试使用 DATABASE_URL 时,例如
import PgPromise from "pg-promise";
const db = PgPromise()(process.env.DATABASE_URL || "");
Run Code Online (Sandbox Code Playgroud)
我仍然收到错误
error TS2345: Argument of type 'string | undefined' is not assignable to parameter of type 'string | IConnectionParameters<IClient>'.
Type 'undefined' is not assignable to type 'string | IConnectionParameters<IClient>'.
Run Code Online (Sandbox Code Playgroud)
有什么方法可以确保 DATABASE_URL 是字符串类型,而不是字符串 | 不明确的?我错过了什么吗?
是否有现有的解决方案可以在 Swift UI 中获得水平选择器?
Swift 示例: https: //github.com/akkyie/AKPickerView-Swift