问题标签 [ios-navigationview]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
swift - 如何使用 UINavigationController 的 searchController 属性将 UISearchController 合并到 SwiftUI NavigationView 中?
我正在尝试创建一个 SwiftUI 视图,其中有一个包含自定义 MapView(包装 MKMapView)的 NavigationView,但是,成功率很低,我似乎无法将搜索控制器集成到 NavigationView 中,这与您很容易能够使用 UINavigationController。我尝试创建自己的自定义 NavigationView 并取得了一些成功,但我并不特别想重新创建该范围的某些内容以添加一项功能(除非这是唯一的解决方案)。
实际上,我主要想知道是否可以按照我的要求进行操作,或者这是否是我必须自己实现的,如果可以,怎么做?
谢谢!
这是我的自定义 UINavigationController 的代码,用于制作类似于 NavigationView 的内容。这可以工作并在导航栏中显示搜索栏,但它并不理想,我也不觉得它是最佳实践。
navigation - SwiftUI NavigationLink 立即导航回来
我正在使用在 NavigationViewSwiftUI
中创建从行到详细视图(类似于教程https://developer.apple.com/tutorials/swiftui/building-lists-and-navigationNavigationLinks
中所做的)。但是,当我在我的应用程序中进行测试时,NavgiationLink 在被点击后会立即从详细视图导航回上一个视图(详细视图仅显示一秒钟)。
这是代码:
Query
使用Realm
:_
似乎这可能Results<Item>
是从realm.objects(Item.self)
. 当我尝试使用静态数据let items = [Item(), Item()]
然后调用ForEach(items) { ... }
时,导航按预期工作。
swift - 如何在 swiftUI 中的父视图中运行
我需要一种方法来从子视图运行父视图中的函数,多级进入导航堆栈。
我想要类似于 Swift 早期版本中的以下代码的内容。
ios - SwiftUI:在特定屏幕上隐藏导航栏
似乎我无法选择要在 swift UI 中隐藏导航栏的页面。
我有以下屏幕:
主要的
家
细节
要么我做错了(可能),要么苹果有一些工作要做(也可能)。
swiftui - 在 NavigationView 中的 SwiftUI 视图之间切换
今天我试图在 2 个不同的视图之间导航,但我想使用相同的视图来清理前一个视图中的信息。我创建了一个 MotherView 来调用 2 个不同的视图。这是我的代码
这是我的启动画面:
注意 SplashView() 是一个使用 Lottie 的动画视图,而 ContentView() 是我登录的一个视图。我想使用我的 SplashView() 启动我的应用程序,然后清理 VStack 并运行 ContentView()。
那可能吗?谢谢!
这是此代码的最后一次更新(我收到此错误:“参数类型'()'不符合预期的类型'视图'”)
ios - SwiftUI 导航栏不会消失
我有一个NavigationView
我.navigationBarHidden(true)
在我的SplashScreen
. 在这里它没有正确显示,但是当我进入下一个屏幕时,会NavigationView
出现该栏。如何正确隐藏导航栏?背景也无法正确显示。
看法
ios - 如果父项有更新,ObservedObject 无法在 NavigationLink 的目的地上工作
我有两个屏幕,一个主屏幕和一个详细信息,详细信息有一个 ObservedObject 有它的状态。我还想隐藏 master 上的导航栏并详细显示它。为此,我将导航栏隐藏状态作为主视图上的 @State 属性,并将其作为绑定变量发送回详细视图。
我遇到的问题是,每当我在详细信息屏幕中更新该变量时,ObservedObject 就会停止工作。
这是重现该问题的示例代码:
如果我保持原样,文本将不会更新为“工作”。如果我删除 line self.navigationBarHidden = false
, ObservedObject 将正常工作并且文本将更新。
如何实现预期的行为,更新导航栏,同时保持观察到的对象正常工作?
ios - 如何阻止observedObject 更新SwiftUi 中的UI?
我正在使用带有 swiftUI 的导航视图。我的问题是,每当我使用 Navlink 转到另一个视图并且我的 navigationView 根的observedObject 发生变化时,我的界面也会返回到根视图。
所以我的问题是:当我导航到 navLink 时,有没有办法告诉导航视图的根节点的被观察对象停止更新 UI?
我的 navigationView 的根:listChatViewModel 是 Observable 对象,recentMessages 是 Published 属性
当我在 ChatView 中并且 recentMessages 属性更新时,这让我回到根视图
ios - 当我的基于 SwiftUI 的应用程序以横向模式启动时,导航栏上的背景颜色未设置
我正在使用一个基于SwiftUI的应用程序,该应用程序依赖于NavigationView
从屏幕转换。
我需要在导航栏上设置背景颜色,并且找到了大部分时间都可以使用的代码。
当应用程序以纵向模式启动时,一切都在旋转中正常工作。
但是,当应用程序以横向模式启动时,条形图默认为灰色,并且仅在第一次旋转后更新。
下面,我有最少的代码来重新创建我的问题:
以纵向模式启动时应用程序的显示方式:
...并旋转到横向...
最后,以横向模式启动时的外观。
我还注销了NavigationConfigurator
,发现当它以纵向模式启动时,会拨打两个电话。第一个找不到导航控制器,但第二个找到了。
当我以横向模式启动时,只进行了一次调用,但未能找到它。旋转后,它会找到它并成功更新颜色。
我确实尝试通过@State
管理强制重绘,但没有成功。
由于没有将应用程序锁定为纵向模式,我已经没有想法了。
ios - SwiftUI - 在导航堆栈中弹回不会取消分配视图
我想首先突出我的视图层次结构。我只有FindUserView
和WelcomeView
。
FindUserView
如果输入的电子邮件存在,则用于从服务器检索用户。如果是这样,那么它会自动将我重定向到下一个WelcomeView
我可以输入密码和登录的地方。
我在这里创建了一个 repo和一个视频SwiftUI - Pop back does not deallocate view
我的FindUserView
:---------------------------- 和WelcomeView
:
通过按下 NEXT 按钮,FindUserView
我从数据库中获取用户:
我使用并通过更改上面的状态以NavigationView
编程方式显示:WelcomeView
showWelcomeView
现在我处于欢迎状态WelcomeView
。
但是当我按下这个按钮并弹回来时,我的WelcomeView
仍然存在。
当我使用@EnvironmentObject
可观察的属性状态时,我看到它如何反映到已经被忽略的视图中。这是正确的行为吗?还是我需要以WelcomeView
某种方式解除分配?它会导致内存泄漏吗?
我有点担心,因为当您在导航堆栈中弹出视图控制器时,通过自动从数组中删除视图控制器来UIKit
释放它。UINavigationController
如何在 SwiftUI 中正确弹回?