草庐IT

$SwiftUI

全部标签

ios - SwiftUI - SF 符号不呈现

我试图在我的代码中通过SF符号显示“加号”或“plus.app”符号,但右侧的预览没有显示任何内容。其他符号确实像“plus.circle”一样工作,是否有其他符号不起作用的原因?这是我的看法。varbody:someView{NavigationView{List(items){iteminText(item.description)}.navigationBarTitle(Text("GroceryItems")).navigationBarItems(leading:PresentationButton(Image(systemName:"plus").imageScale(.l

swift - 如何检测 SwiftUI 中的点击手势位置?

(对于SwiftUI,不是普通的UIKit)非常简单的示例代码,例如,在灰色背景上显示红色框:structContentView:View{@Statevarpoints:[CGPoint]=[CGPoint(x:0,y:0),CGPoint(x:50,y:50)]varbody:someView{returnZStack{Color.gray.tapAction{//TODO:addanentrytoself.pointsofthelocationofthetap}ForEach(self.points.identified(by:\.debugDescription)){point

swift - 如何在 SwiftUI 中添加自定义容器 View

我很好奇您是否可以在SwiftUI中创建自定义容器View。我知道您可以创建自定义内容View,例如Text(),但不确定您是否可以复制HStack{}的功能类似于:HGrid{Text("Loremipsum")Text("Loremipsum")}然后自定义容器View(又名HGrid)会在每个添加的组件之间添加Spacer()。本质上,例如,将其转译为:HStack{Text("Loremipsum")Spacer()Text("Loremipsum")} 最佳答案 SwiftUI使用ViewBuilder@functionB

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 - SwiftUI 中的多组件选择器 (UIPickerView)

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

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(

swift - 在 SwiftUI 中制作宽度和高度相同的按钮网格

我正在尝试使用SwiftUI创建一个计算器,我现在正在努力创建按钮网格以水平填充可用空间现在我只是想让按钮填充高度和宽度相等的3x3网格根据thisanswer,我可以使用Spacer()使它们具有相同的高度但相同的宽度是我现在卡住的地方:importSwiftUIstructContentView:View{varbody:someView{VStack(alignment:.center,spacing:50){HStack(alignment:.center,spacing:50){Button(action:{}){Text("7")Spacer()}.background(C