我有一个TextFieldSwiftUI 。当我将填充应用到它时
TextField(text, text: $value)
.padding()
Run Code Online (Sandbox Code Playgroud)
填充位于 的点击区域之外TextField,即点击填充不会使文本字段成为焦点。
TextField我希望即使用户点击填充也能够聚焦。
我想将关闭时的数据传递presentViewController到上一个屏幕。在这里,我想使用块将数据作为 UIKitApp 传递到上一个屏幕。但我不知道传递数据。options我们必须传回哪些数据?
struct ContentView: View {
@State var showModel = false
var body: some View {
VStack {
Button(action: {
showModel.toggle()
}, label: {
Text("Show filters")
}).sheet(isPresented: $showModel, content: {
FilterView()
})
}
}
}
struct FilterView: View {
@Environment(\.presentationMode) var presentationMode
var onDismiss: ((_ model: Filter) -> Void)?
var body: some View {
VStack {
Button(action: {
// Pass data from here to ContentView
let filter = Filter(fromDate: "10/07/2021", toDate: "12/07/2021")
onDismiss?(filter)
presentationMode.wrappedValue.dismiss()
}, …Run Code Online (Sandbox Code Playgroud) 我在一个简单的Form{}. 自动键盘回避不起作用。下面是一个带有TextEditor(). 运行时,键盘位于输入字段的顶部,要求用户滚动视图以便输入位置。删除Form{}和自动键盘避免工作。我是否缺少在 Form{} 中执行的某些操作才能获得此行为?
import SwiftUI
struct ContentView: View {
@State private var stopLocation: String = ""
var body: some View {
Form {
let desc = "\n\n\n\n\n\n\n\n\n\n\n\nEnter Location"
Text(desc)
VStack {
TextEditor(text: $stopLocation)
}
}
}
}
Run Code Online (Sandbox Code Playgroud) 我在Form实现中遇到了一些奇怪的故障。我不确定这是一些实现错误还是 SwiftUI 本身的错误。
所以基本上我想做的是典型的“ToDo/TimeTracking”应用程序。我想创建一个引用项目实体的新任务实体。因此,我创建了一个Form可以选择项目、设置任务的标题和注释以及开始和结束日期的地方。
但是现在我遇到了一些视觉故障。
Picker我将导航到一个单独的视图(如预期的那样),但是在页面转换动画完成后,我可以从中选择项目的列表向上移动一点。DatePicker拾取器中选择日期时,在隐藏之前,在视图内部的拾取器故障。可以使用以下代码片段实现最小可行示例:
mport SwiftUI
struct Project {
let id: Int
let title: String
}
let projects = [Project(id: 0, title: "Hello"),Project(id: 1, title: "World")]
struct ContentView: View {
@State private var showingCreateTask = false
var body: some View {
NavigationView {
Text("Hello, World!")
.navigationBarTitle("Test")
.navigationBarItems(trailing: Button(action: { self.showingCreateTask.toggle() }) {
Image(systemName: "plus").imageScale(.large)
})
.sheet(isPresented: self.$showingCreateTask) {
CreateTaskView(projects: projects)
}
}
}
}
struct CreateTaskView: View { …Run Code Online (Sandbox Code Playgroud) 我正在使用 SwiftUI,目前正在使用 Picker 构建表单。
import SwiftUI
struct ContentView: View {
private let names = ["Bill", "Peter", "Johan", "Kevin"]
@State private var favoritePerson = "Bill"
var body: some View {
NavigationView {
Form {
Picker("Favorite person", selection: $favoritePerson) {
ForEach(names, id: \.self) { name in
Text(name)
}
}
}
.navigationBarTitle("Form", displayMode: .inline)
}
}
}
Run Code Online (Sandbox Code Playgroud)
第一次点击“最喜欢的人”行时,选择器显示正常,点击其中一个名字会将您带回表单。但是第二次点击表单行不会做任何事情:您没有转到选择器,该行保持突出显示但没有任何反应。如果这是 SwiftUI 错误,是否有已知的解决方法?(我已经需要使用一个小的导航栏标题来解决 Picker UI 错误,否则它的内容在显示时会向上移动??)
如何使用 swiftUI 完成电子邮件验证?
TextField("Please enter your e-mail", text: self.$email)
.modifier(ClearButton(text: $email))
.font(.headline)
.padding(10)
.foregroundColor(.black)
.background(Color.white)
.frame(width: 300, height: 40, alignment: .center)
.cornerRadius(20)
Run Code Online (Sandbox Code Playgroud) 这不是意味着可以控制表单视图内发生的动画吗?我这里有一个 Playground 来演示这个问题,并附有一张发生情况的 gif 动图。如您所见,我在第二个动画视图上的过渡完全被忽略,并且我必须手动放慢视频速度,因为持续时间也被忽略。
我并不是真的想要缩放过渡,这只是为了证明无论我在那里放置什么,动画都是相同的。这是预期的结果,还是一个错误?或者我只是做了一些完全错误的事情?
我也不清楚为什么 VStack 的动画处理方式与简单的文本字段如此不同,后者可以很好地向下滑动,而 VStack 似乎得到了 .move 和 .opacity 的某种组合。
import SwiftUI
import PlaygroundSupport
struct ContentView: View {
@State var showGoodAnimation = false
@State var showBadAnimation = false
var body: some View {
Form {
Toggle(isOn: self.$showGoodAnimation.animation(.easeInOut(duration: 1))) {Text("Yay!")}
if self.showGoodAnimation {
Text("I animate beautifully.")
}
Toggle(isOn: self.$showBadAnimation.animation(.easeInOut(duration: 1))) {Text("Boo!")}
if self.showBadAnimation {
VStack {
Text("Hi.").padding()
Text("I'm a hot mess.").padding()
}
.frame(height: 250)
.transition(.scale)
}
Text("I'm just always here.")
}
}
}
PlaygroundPage.current.setLiveView(ContentView())
Run Code Online (Sandbox Code Playgroud) 我正在尝试使用 SwiftUI 制作一个笔记应用程序,并且我想显示类似于Apollo Reddit 应用程序的笔记。
\n\n它显示帖子的方式没有什么特别的,它只是使用类似于列表的界面显示帖子GroupedListStyle(),但各部分之间的间距较小。
我尝试了很多技巧来减少这个间距,但似乎都不起作用。
\n\n任何帮助表示赞赏。提前致谢!
\n\n这是我的代码:
\n\nimport SwiftUI\n\nstruct NotesView: View {\n\n let array = [\n Note(title: "Mi pana miguel letra", content:\n """\n [Intro: Keyan JRN & Producer Tag]\n El pana Miguel, yah, ey\n El pana Miguel, yah, ey (Snorkatje)\n Mi pana, mi pana, yeah\n Mi pana,\xe2\x80\x85mi\xe2\x80\x85pana, yeah\n Mi pana,\xe2\x80\x85mi pana, yeah, eh-eh\n Uh-uh-uh-uh-uh-uh\n\n [Estribillo]\n Ha-ha-hace un rato\xe2\x80\x85conoc\xc3\xad al pana …Run Code Online (Sandbox Code Playgroud) 如何将图像放入swiftUI的Form中才能达到与附图相同的效果?
我尝试过这段代码,但不起作用:
struct UserDetails: View {
@ObservedObject var dm : DataManager
@Binding var userLoggato : UserModel?
var body: some View {
Form{
HStack{
Image(systemName: "person")
}
Text(userLoggato?.name ?? "")
}
}
}
Run Code Online (Sandbox Code Playgroud)
如果我在图像之间使用间隔物,我会得到另一条白线,图像位于内部。我希望我的图像具有灰色背景并像附图中那样定位。
您好,我在 Xcode 12.4 (iOS 14) 中使用 SwiftUI 需要解决一个棘手的问题:假设我有Form许多部分和TextEditors,此表单具有.toolbar带有一些内容(本例中为按钮)的修饰符(底部栏)。所有的一切都被包裹在里面NavigationView。一旦用户单击其中之一TextEditor,底部工具栏就会被键盘的系统附件视图覆盖。请注意,我根本不修改安全区域。任何人都知道下面的代码有什么问题吗?
struct ContentView: View {
@State var narrative: String = ""
var body: some View {
NavigationView {
Form {
Section(header: Text("Test 1")) {
Text("Bla Bla Bla")
}
Section(header: Text("Test 2")) {
Text("Bla Bla Bla")
}
Section(header: Text("Test 3")) {
Text("Bla Bla Bla")
}
Section(header: Text("Test 4")) {
Text("Bla Bla Bla")
}
Section(header: Text("Test 5")) {
Text("Bla Bla Bla")
}
Section(header: …Run Code Online (Sandbox Code Playgroud)