- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在将 SwiftUI 屏幕集成到 tvOS 的 UIKit 应用程序中。我在屏幕顶部有一个标签栏。当应用程序第一次运行并且我切换到 SwiftUI 屏幕时,它看起来就像我想要的那样。但是,当我切换然后返回时,整个屏幕向上移动并且导航标题隐藏在选项卡栏下并且内容在屏幕上都更高。 SwiftUI 如下所示:
struct SettingsVC: View {
var body: some View {
NavigationView {
HStack {
Image("fullLogo")
.resizable()
.scaledToFit()
.frame(width: 800, height: 450)
.padding()
.offset(y: -75)
List {
NavigationLink(destination: Text("Test")) {
HStack {
Image(systemName: "link")
.font(.headline)
Text("Link Account")
.font(.headline)
}
}
}
.navigationBarTitle("Settings")
}
}
}
}
NavigationView
切换到另一个选项卡并再次返回时,屏幕位置保持在同一位置。但是,我需要标题的导航并移动到列表中。我曾尝试删除其他元素,例如图像,只是为了查看它是否导致问题,但事实并非如此。似乎在此屏幕的后续选择中不再考虑导航栏。这种行为的原因可能是什么?
private func setup() {
self.view.insetsLayoutMarginsFromSafeArea = false
let tvSelectionVC = TVSelectionVC()
tvSelectionVC.screenType = .live
tvSelectionVC.isFirstRun = true
let onDemandVC = TVSelectionVC()
onDemandVC.screenType = .demand
onDemandVC.isFirstRun = false
let settingsVC = SettingsVC()
let settingsHostController = UIHostingController(rootView: settingsVC)
let config = UIImage.SymbolConfiguration(pointSize: 50, weight: .bold)
tvSelectionVC.tabBarItem = UITabBarItem(title: "Live", image: nil, tag: 0)
onDemandVC.tabBarItem = UITabBarItem(title: "OnDemand", image: nil, tag: 1)
settingsHostController.tabBarItem.image = UIImage(systemName: "gear",withConfiguration: config)
let logoView = UIImageView(image: UIImage(named: "logo"))
logoView.translatesAutoresizingMaskIntoConstraints = false
tabBar.leadingAccessoryView.addSubview(logoView)
logoView.topAnchor.constraint(equalTo: tabBar.leadingAccessoryView.topAnchor).isActive = true
logoView.leadingAnchor.constraint(equalTo: tabBar.leadingAccessoryView.leadingAnchor, constant: 0).isActive = true
logoView.heightAnchor.constraint(equalToConstant: 40).isActive = true
logoView.widthAnchor.constraint(equalToConstant: 140).isActive = true
viewControllers = [tvSelectionVC,onDemandVC,settingsHostController]
}
Text
在
NavigationView
内并且问题仍然存在。我还可以将第一个和第二个选项卡更改为空的 UIViewControllers,并且在第一次切换到 SwiftUI 后问题仍然存在。
最佳答案
我能够通过包装 NavigationView
来解决这个问题。标签内 VStack
标记并添加 Spacer
这是解决这个问题所必需的。有趣的是,作为测试,我创建了一个 SwiftUI 选项卡栏,其中前两个选项卡将进入空 View ,第三个选项卡从上方进入设置。这也表现出与上述相同的问题,这表明此问题与在 UIKit 选项卡栏中包装 SwiftUI 无关。我不清楚为什么这个解决方案是必要的,但它确实解决了问题。这是 SwiftUI 再次为这个问题的完整解决方案。
struct SettingsVC: View {
var body: some View {
VStack {
Spacer()
NavigationView {
HStack {
Image("fullLogo")
.resizable()
.scaledToFit()
.frame(width: 800, height: 450)
.padding()
.offset(y: -75)
List {
NavigationLink(destination: Text("Test")) {
HStack {
Image(systemName: "link")
.font(.headline)
Text("Link Account")
.font(.headline)
}
}
}
.padding()
.navigationBarTitle("Settings")
}
}
}
}
}
关于SwiftUI - NavigationView 和 Tab Bar 的屏幕位置问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61262392/
我一直试图在状态栏下方绘制 NavigationView header ,但它停留在状态栏后面。 我已经为我的 DrawerLayout 和 NavigationView 设置了属性 android:
我有以下 xml: 但我得到的错误是 no such class android.support.design.widget.NavigationView 这是我在 gradl
有一个两侧固定内容的简单 NavigationView。左 Pane 仅显示几个按钮,右 Pane 显示使用 NSView 包装在 NSViewRepresentable 中的图形。在 iPad 上以
我在我的应用程序中实现了抽屉,这是有限的项目。 但我可以在底部看到一些黑条。 这是代码 activity_main_drawer.xml
我知道不建议更改 NavigationView 项目高度。 但我需要稍微减少它,以便所有项目都适合而不滚动。 我试图创造一种风格: 16sp 30dp
我试图弄清楚为什么旋转设备会使内容消失。 这是我正在运行的确切代码: struct ContentView: View { @State private var selection = 0
我在 SwiftUI 中使用 NavigationView 时遇到了以下问题。 我在 TabView 中嵌入了一个 NavigationView,如下所示: var body: some View {
第一次启动应用程序后,我遇到了 NavigationView 问题。也就是说,当我展开导航 View 并单击“常规”时,您可以看到出现了红色背景的 fragment ,但导航 View 并没有自动消失
我有一个代码并制作了 NavigationLink 按钮,我写了文本和图像,但我的图像看不到。请帮助我。 VStack{ Image("Coachs") .re
我想在 NavigationView ( https://learn.microsoft.com/en-us/windows/uwp/design/controls-and-patterns/navi
当我用作系统图像时,一切正常,但我有一个大小为 512x512 的 png 图像,我想让它适合在 navigationBarItem 内。图像几乎占据了整个屏幕,代码如下: var body: som
我制作了这个包含我的 navigationView 项目的 .xml。
我有一个图标问题,即它们不显示,只显示一个灰色方 block 。我该如何解决? 这是我的 navigation_menu.xml:
我想通过右滑动打开导航 View ,无论右滑动在哪里。默认情况下,您必须在侧面向右滑动,但我想从中间滑动以打开导航 View 最佳答案 您可以使用类似这样的方式增加抽屉的滑动边缘 public sta
我正在将我的 Android 应用程序从 SDK 22 升级到 SDK 23。 我刚刚将库版本更改为较新版本,我的 NavigationView 也发生了变化。选择项目时出现两个方 block ,我不
我有一个带有 NavigationView 和两个选项卡 a 和 b 的应用程序。 NavigationView 中的两个 MenuItem 对应于选项卡 a 和 b 因此,当选择选项卡 a 时,Na
我想用 checkbox 或 switch 创建一个 NavigationView,我只想在我的导航到项目切换中有这个功能,它应该像这样工作:我将一个开关转到另一个开关,它变为关闭状态。我做了一个开关
昨天我按照 2 个教程为我的抽屉实现了 NavigationView 组件,而不是使用 ListView。由于它更智能,我想知道是否有一种集成的方式来跟踪选择了哪个项目,以及当您选择一个新项目时,旧的
为什么将我的设备旋转到纵向模式时,我的 NavigationView 消失了。我已经为我的应用启用了所有方向。 import SwiftUI struct Stocks: Identifiable{
我在 UWP 应用程序中使用导航 View 控件,问题是当我单击后退按钮时,焦点元素不会更改为内容框架中显示的项目。例如,单击的元素是 camara、store、musica,然后按两次后退按钮以在
我是一名优秀的程序员,十分优秀!