草庐IT

swift - 在 SwiftUI 预览中绑定(bind) <Double>

(macOS10.15测试版和Xcode11测试版5)我正在学习的SwiftUI教程(https://www.raywenderlich.com/3715234-swiftui-getting-started#toc-anchor-005)包括以下View:structColorSliderView:View{@Bindingvarvalue:DoublelettextColor:Colorvarbody:someView{HStack{Text("0").foregroundColor(textColor)Slider(value:$value,in:0.0...1.0)Text("

swift - 如何在 SwiftUI 中访问 View 的修饰符?

假设我有一个View,其中的Image具有shadow属性:structContentView:View{varbody:someView{letmyImage=Image("turtlerock").shadow(radius:10)returnmyImage}}现在假设我想访问阴影半径的值。我以为我可以做到这一点:print(myImage.shadow.radius)但是,这会返回一个错误:Valueoftype'(Color,Length,Length,Length)->_ModifiedContent'(aka'(Color,CGFloat,CGFloat,CGFloat)-

ios - 我可以在 SwiftUI 中布局后获得 `View` 的位置吗?

有没有办法在布局后获取View的框架?我想在布局定位后绘制一条连接两个View的线:看来我需要类似measure的东西在React中。 最佳答案 使用GeometryReader获取每个View的框架,并使用框架确定两个View之间路径的点。structContentView:View{varbody:someView{GeometryReader{geometry->Textinletframe=geometry.frame(in:CoordinateSpace.local)returnText("\(frame.origin.x

swift - 使用@ViewBuilder 创建支持多个 child 的 View

SwiftUI中的某些View,如VStack和HStack支持将多个View作为subview,如下所示:VStack{Text("hello")Text("world")}据我所知,他们使用ViewBuilder使这成为可能,如解释的那样here.我们如何使用@ViewBuilder来创建我们自己的支持多个child的View?例如,假设我想创建一个LayoutView,它可以接受任意子项——如下所示:structLayout:View{letcontent:SomeViewvarbody:someView{VStack{Text("Thisisalayout")content()

swift - SwiftUI 中的多组件选择器 (UIPickerView)

我正在尝试将三组件选择器(UIPickerView)添加到SwiftUI应用程序(在传统的UIKit应用程序中,数据源将从numberOfComponents返回3>方法),但我无法在任何地方找到这方面的示例。我已经尝试添加一个由三个单组件选择器组成的HStack,但如果它们都是单个选择器的一部分,则视角会有所不同。 最佳答案 纯SwiftUI中的更新答案-在此示例中,数据的类型为String。在Xcode11.1上测试-可能不适用于以前的版本。structMultiPicker:View{typealiasLabel=String

swift - 永远不会调用 TextField onCommit

我已经使用SwiftUI一周了,和每个人一样,我正在努力确定某些不起作用的东西是错误还是我的误解。我正在使用TextFieldView,但从未执行过onCommit闭包。onEditingChanged工作正常。当文本字段获得焦点时调用它为true,当它失去焦点时调用它为false。但是,onCommit闭包永远不会执行。根据代码中提供的少量文档:onCommit:Theactiontoperformwhentheuserperformsanaction(usuallythereturnkey)whiletheTextFieldhasfocus.这是代码:TextField($valu

ios - 如何在 SwiftUI 中使用 URLSession 请求后呈现 View ?

我想在收到请求的数据后呈现一个View,像这样varbody:someView{VStack{Text("CompanyID")TextField($companyID).textFieldStyle(.roundedBorder)URLSession.shared.dataTask(with:url){(data,_,_)inguardletdata=dataelse{return}DispatchQueue.main.async{self.presentation(Modal(LogonView(),onDismiss:{print("dismiss")}))}}.resume()

swift - 如何在 TextField (SwiftUI) 上添加底线

我使用Rectangle()在TextField(SwiftUI)上添加底部边框但我想使用protocolTextFieldStyle作为TextFieldStyle的底线,如RoundedBorderTextFieldStyle如何在不使用Rectangle的情况下为TextField自定义样式?https://developer.apple.com/documentation/swiftui/staticmemberstructContentView:View{@Stateprivatevarusername="TextHellow"varbody:someView{VStack(

ios - 如何更改 TextField 的文本大小和字段大小?

我正在尝试使用SwiftUI创建类似于这样(⬇)的输入。我已经取得了进步,但我不知道如何更改文本字段的高度并使输入文本的大小更大。 最佳答案 您可以通过更改占位符文本的字体大小来更改文本大小,这会自动调整TextField的高度。在您的情况下,这看起来与您要求的非常相似:HStack{Group{TextField($str,placeholder:Text("A"))TextField($str,placeholder:Text("B"))TextField($str,placeholder:Text("C"))TextField

swift - 使用未解析的标识符 "Form"

我一直在尝试复制下面的AppleWWDC19示例-将SwiftUIVStack转换为Form-但无济于事。这是提到Form的视频:https://developer.apple.com/videos/play/wwdc2019/216/(34:08)这是我用于VStack的代码:importSwiftUIstructContentView:View{varbody:someView{VStack{Toggle(isOn:.constant(true)){Text("Toggle")}Stepper(value:.constant(4),in:1...10){Text("Stepper"