小编Moj*_*ini的帖子

SwiftUI登录页面布局

我正在尝试建立登录视图时正在探索SwiftUI,现在我遇到了问题

这是我要实现的目标:

我已经取得的成就

如您所见,我已经达到了这一点,但是我不喜欢我的实现

struct ContentView : View {
@State var username: String = ""
var body: some View {
    VStack(alignment: .leading) {
        Text("Login")
            .font(.title)
            .multilineTextAlignment(.center)
            .lineLimit(nil)
            Text("Please")
                .font(.subheadline)

        HStack {
            VStack (alignment: .leading, spacing: 20) {
                Text("Username: ")
                Text("Password: ")

            }
            VStack {
                TextField($username, placeholder: Text("type something here..."))
                .textFieldStyle(.roundedBorder)
                TextField($username, placeholder: Text("type something here..."))
                    .textFieldStyle(.roundedBorder)
                }
            }
        }.padding()
    }
}
Run Code Online (Sandbox Code Playgroud)

因为为了使在文本框的中间正好对准用户名和密码的文本,我不得不把字面间距值20VStack,我不喜欢,因为最有可能它不会在不同的设备尺寸的工作。

有人看到一种更好的方法来达到相同的结果吗?

谢谢

ios swift swiftui swift5.1

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

如何在SwiftUI中与superview成比例地设置高度和宽度?

我想知道是否可以根据 superview进行调整height并按width比例调整SwiftUI到任何UIControl

正如我们正在做的那样:

let txtFld = UITextField()
txtFld.frame = CGRect(origin: CGPoint(x: 0, y: 0), size: CGSize(width: self.view.frame.width/2, height: self.view.frame.height*0.1))
Run Code Online (Sandbox Code Playgroud)

我知道我们可以通过使用Spacer(), .padding和以某种方式实现调整宽度edgeInsets。但是呢height?我看过很多教程SwiftUI,到处height都是静态的。甚至在苹果的网站上。SwiftUI 教程

如果有人知道如何设置与视图高度成比例的高度,请在此处分享。因为在某些时候我们需要这样。例如。如果需要根据设备高度制作按钮。(假设 iPhone SE = 40、iPhone 8P = 55、iPhone X = 65)

xcode ios swift swiftui xcode11

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

更优雅的表达方式((x == a && y == b)||(x == b && y == a))?

我正在尝试((x == a && y == b) || (x == b && y == a))Swift中进行评估,但似乎有些冗长。有没有更优雅的方式?

swift

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

在 swift 中使用“默认值”创建非可选 Codable 的最佳方法

我知道classand的基本概念,struct但是为 API 创建模型以获取数据并告诉我优缺点更有效。

以前我不使用可选的模型。相反,我给了它一些价值。IE

class CompanyInfo : Codable {
    var NameEn : String = ""
    var CityEn : String = ""
    var Website : String = ""
    var Email : String = ""
    var Phone : String = ""
    var Fax : String = ""
}
Run Code Online (Sandbox Code Playgroud)

但是当它null从 API获得一些价值时。即"Fax": null然后应用程序崩溃,因为它无法使用以下行解析数据

let data = try JSONDecoder().decode(dataModel.self, from: dataSet)
Run Code Online (Sandbox Code Playgroud)

定义模型的最佳方法是什么,这样我就不需要解开可选项或给它默认值。

xcode ios swift codable decodable

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

如何更改 swift 文件的标题注释

为每个项目自定义标题注释。

\n\n

我创建了一个plist名为IDETemplateMacros.plist,它是所有项目的自定义标题注释,但我需要特定项目的自定义标题,而不是所有项目,并将自定义文本宏恢复为默认值。

\n\n
//\n//  CategoryViewController.swift\n//  ToDoey\n//\n//  Created by Swetha on 28/01/19.\n//  Copyright \xc2\xa9 2019 Swetha. All rights reserved.\n//\n
Run Code Online (Sandbox Code Playgroud)\n\n

\n\n
//Hey..CategoryViewController.swift\n
Run Code Online (Sandbox Code Playgroud)\n\n

我删除了 IDETemplateMacros.plist,但它不会将文本宏恢复为默认值。

\n\n

我期望默认的文本宏。

\n

xcode xcode-template swift

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

移动苹果地图苹果标志“合法”文本

有没有办法从 mkmapview 的底部操纵、移动苹果徽标和“合法”文本?

谷歌地图有什么。

图像以查看我正在尝试移动的内容

maps xcode ios swift

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

更改 swiftUI 中视图的背景颜色

在此输入图像描述

我想制作一个简单的表单并更改文本字段的背景颜色,但 Xcode 为我提供了.background(background: View)等选项,但没有.background(Color())。

xcode ios swift5 swiftui xcode11

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

如何在没有条件快速的情况下验证多个值

这是在条件语句中做的一种可能的方法吗

if let offer = self.offer_visitor_["Offer"],  let video = self.offer_visitor_["VideoReward"],  let bday = self.offer_visitor_["BirthdayReward"],let Promotional = self.offer_visitor_["promotional"]{
            
            if !offer.isEmpty && !video.isEmpty && !bday.isEmpty && !Promotional.isEmpty{
                return 4
            }else if !offer.isEmpty && !bday.isEmpty && !video.isEmpty {
                return 3
            }else if !offer.isEmpty && !video.isEmpty && !Promotional.isEmpty {
                return 3
            }else if !offer.isEmpty && !bday.isEmpty && !Promotional.isEmpty {
                return 3
            }else if !video.isEmpty && !bday.isEmpty && !Promotional.isEmpty {
                return 3
            }else if !offer.isEmpty && !video.isEmpty {
                return 2
            }else if !offer.isEmpty && !bday.isEmpty …
Run Code Online (Sandbox Code Playgroud)

arrays if-statement ios swift

-4
推荐指数
1
解决办法
46
查看次数