相关疑难解决方法(0)

SwiftUI 视图位于中间而不是顶部

我正在尝试在 SwiftUI 中创建视图。在预览中,它看起来应该如此,但是在我的 iPhone(或实时预览)上运行时,它看起来像是偏移了。

我试图将填充设置为 -150,但随后 TextField 不响应触摸。

VStack {
    Text("Name:")
        .padding(.bottom, 1)
    TextField($name)
        .padding(.horizontal, 25.0)
        .textFieldStyle(.roundedBorder)
        .frame(maxWidth: 500)
    Text("Image:")
        .padding(.top, 1)
    Image(uiImage: image!)
        .resizable(capInsets: EdgeInsets(), resizingMode: .stretch)
        .scaledToFit()
        .frame(width: 250, height: 250)
        .clipShape(RoundedRectangle(cornerRadius: 10))
        .padding(.top, 5)
    Button(action: {
        withAnimation {
            self.showImagePicker = true
        }
    }) {
        Text("Select Image")
            .color(.init(red: 20/255, green: 146/255, blue: 81/255))
    }
    Button(action: {
        let list = LSList( title: self.name,
                                           image: self.image!,
                                           id: 0)
        list.add()
        self.userData.listsData.append(list)
    }) {
        Text("Add List")
            .color(.white)
            .font(.system(size: 25))
            .bold()
            .padding(.horizontal, 7) …
Run Code Online (Sandbox Code Playgroud)

ios swift swiftui

26
推荐指数
3
解决办法
3万
查看次数

如何使用 SwiftUI 消除嵌套 NavigationView 中的空间

我目前正在开发一个使用 SwiftUI 的 iOS 项目。我有 3 个页面(MainMenu、CalendarList 和 DateDetails。)

在第二页(CalenderList)上,屏幕顶部和实际的 NavigationBarTitle 之间有一个空白区域。

第二页的图像 - 日历列表

在第三页上,您可以看到后退按钮(返回主菜单),并且顶部有两个空白区域。

第 3 页的图片 - 日期详细信息

我见过人们使用 .navigationBarHidden 来解决这个问题,但我无法以解决问题的方式实现它。

我是否错误地使用了 NavigationView() ?或者有什么特殊的技巧吗?

这是主菜单的代码:

import SwiftUI

struct MainMenu: View {
    var body: some View {
        NavigationView {
            VStack {
                Text("Calendar")
                    .font(.largeTitle)
                    .fontWeight(.heavy)
                    .foregroundColor(Color(red: 0.055, green: 0.173, blue: 0.322))
                    .padding(.top, 55.0)
                Text("Main Menu")
                    .font(.headline)
                    .foregroundColor(Color(red: 0.635, green: 0.635, blue: 0.635, opacity: 1.0))
                
                /*Image("Logo")
                    .resizable()
                    .frame(width: 150.0, height: 150.0)*/

                Spacer()
                
                HStack {
                    NavigationLink(destination: CalendarList()) {
                        Image(systemName: "calendar")
                            .resizable()
                            .frame(width: 75.0, height: 75.0)
                            .padding()
                            
                            
                    } …
Run Code Online (Sandbox Code Playgroud)

xcode swiftui ios-navigationview

7
推荐指数
1
解决办法
3670
查看次数

SwiftUI - 放置在 NavigationView 中时 VStack 不会填满整个屏幕

似乎当放置在 NavigationView 中时,VStacks 不会填充整个垂直空间。或者也许我做错了什么?

var body: some View {
    NavigationView {
        VStack(alignment: .leading) {
            Text("HEY")
        }
        .frame(width: UIScreen.main.bounds.width, height: UIScreen.main.bounds.height)
        .background(.gray)
    }
    .navigationBarTitle("Reçu", displayMode: .inline)
}
Run Code Online (Sandbox Code Playgroud)

我还定制UINavigationBar了一些颜色并设置navigationBarTitle为内联。

我尝试了两种解决方法:

  • .frame(minWidth: 0, maxWidth: .infinity, minHeight: 0, maxHeight: .infinity, alignment: Alignment.topLeading)
  • .frame(width: UIScreen.main.bounds.width, height: UIScreen.main.bounds.height)

第一个填充更多的垂直空间,但不是全部。

在此处输入图片说明

ios swift swiftui

5
推荐指数
2
解决办法
2216
查看次数

NavigationView 添加顶部填充

我有一个非常简单的视图、背景颜色和一些文本。但是当我将它包装在 NavigationView 中时,我在视图顶部出现了不需要的间距。我怎样才能消除这个问题?(我想要导航,因为我将添加导航链接)

例如

var body: some View {
    NavigationView {
        ZStack(alignment: .leading) {
            Rectangle()
                .fill(
                    LinearGradient(
                        gradient: Gradient(colors: [.indigo, .purple]),
                        startPoint: .bottom,
                        endPoint: .top
                    )
                )
                .ignoresSafeArea()
            
            VStack {
                Text("Test")
                Spacer()
            }
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

在此输入图像描述

navigationview swiftui

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

标签 统计

swiftui ×4

ios ×2

swift ×2

ios-navigationview ×1

navigationview ×1

xcode ×1