创建类、结构或新的 swift 文件以创建具有特定样式的可重用文本框?
Posted
技术标签:
【中文标题】创建类、结构或新的 swift 文件以创建具有特定样式的可重用文本框?【英文标题】:Create class, struct, or new swift file to create reusable text boxes with a certain style? 【发布时间】:2020-03-10 02:18:54 【问题描述】:我是 swift 新手,而且……嗯,一起编程。我已经学习了几个星期,但昨天才开始快速学习。 我正在尝试构建一个应用程序,它就像一个不同版本的真心话大冒险,你按下一个按钮,它会随机为你挑选一个,然后给你真心话大冒险。
我想使用一个带有一些设计的text
盒子,看起来基本上像一张卡片,代表真实,敢于挑战。我在想我可以如何将@State var
与这些项目的列表一起使用并让它随机显示一个。我将在那里再放一张卡片,但它不会像真心话大冒险那样普遍。
我只是不确定是否应该使用struct
、class
或swift
文件来创建这些文件以便我可以重复使用它们,因为list
将包含多个,因为为另一个神秘的人创造更多的稀有性。
【问题讨论】:
【参考方案1】:好的,通常情况下,当您不知道如何开始时。据我了解,您的意思是“我需要创建什么?”。首先,我建议您肯定需要创建新的.swift
文件。
另外我建议您尝试将View
和一些逻辑分开。所以你的类或结构只会“提供一些数据”,而你的 View
只会呈现这些数据。
有关“您需要使用类还是结构”的更多信息,请阅读this Apple's article。很快:默认选择结构。
但请记住:这里几乎没有人会为您编写完整的代码,而且社区不喜欢这类问题。
我还建议您通过Apple SwiftUI tutorial 了解如何组织应用程序。我希望它能帮助你开始。
【讨论】:
【参考方案2】:您可以创建自己的自定义文本框视图
或者您可以创建修饰符以应用于所需的文本框
两种方法都是正确的
import SwiftUI
//Create own view - Custom Text Box
@available(OSX 10.15, *)
public extension View
func CustomTextBox( ) -> some View
Text()
.AnyModifier1()
.AnyModifier2()
.AnyModifier3()
.modifier( CustomModifier() ) // <- applying custom modifier
//Create custom modifier
@available(OSX 10.15, *)
public struct CustomModifier: ViewModifier
@State var checker: Bool = false
public init()
public func body (content: Content) -> some View
HStack
content
.AnyModifier1()
.AnyModifier2()
.AnyModifier3()
【讨论】:
以上是关于创建类、结构或新的 swift 文件以创建具有特定样式的可重用文本框?的主要内容,如果未能解决你的问题,请参考以下文章
Angular 最佳实践:为了可重用性,创建新的 CSS 类或新组件?
如何创建具有特定大小的 C 结构以通过套接字发送到 DalmatinerDB?