草庐IT

swiftui-navigationlink

全部标签

swift - 重复图案图像作为 SwiftUI 中的背景?

我正在尝试将图像设置为背景并在整个屏幕上重复它。在UIKit中,它就像一行代码一样简单:view.backgroundColor=UIColor(patternImage:UIImage(named:"background.png"))SwiftUI中是否有等效项?varbody:someView{HStack{VStack{Spacer()}Spacer()}.background(Image("background")//Needthispatternimagerepeatedthroughoutthepage)} 最佳答案 最

swift - SwiftUI 应用程序的 NavigationView 中的 onAppear 和 onDisappear 是否按预期运行?

我想知道SwiftUI(我写这篇文章时是Xcode11beta6)中onAppear和onDisappear的行为是开发人员会觉得更有用的,还是只是一个问题而不是一个功能。现在,如果我们使用级联导航,正如您将在我附加的示例代码中找到的那样(在Xcode11b6中编译和运行良好),用户来回导航的控制台输出只会触发onAppear向前方向(意味着更深入)的新View负载的情况。在导航中:根->NestedView1->NestedView2->NestedView3,向每个View阶段添加调试助手时,.onAppear(perform:{print("onAppearlevelN")}).

ios - ScrollView 内容未填充 SwiftUI

我有一个ScrollView,其内容是一个VStack,其中包含一个ForEach循环以创建一些行而不是列表。列表有一些缺点,例如分隔符。我的问题是行没有填充ScrollView。我认为ScrollView宽度没有填满屏幕。NavigationView{Toggle(isOn:$onlineStatus){Text("OnlineOnly")}.padding([.leading,.trailing],15)ScrollView{VStack(alignment:.trailing){ForEach(onlineStatus?self.notes.filter{$0.dot==.gre

swift - 如何在平台 "UIKit for Mac"上使用 SwiftUI 打开文件对话框?

NSOpenPanel在“UIKitforMac”平台上不可用:https://developer.apple.com/documentation/appkit/nsopenpanel如果Apple不提供内置方式,我猜有人会创建一个基于SwiftUI和FileManager的库显示选择文件的对话框。 最佳答案 这是使用Catalyst和UIKit为macOS选择文件的解决方案在您的swiftUIView中:Button("Choosefile"){letpicker=DocumentPickerViewController(supp

swift - 将 ForEach 与绑定(bind)数组一起使用 (SwiftUI)

我的目标是从JSON动态生成表单。除了生成FormFieldView(基于TextField)并绑定(bind)到动态生成的View模型列表之外,我已经将所有内容放在一起。如果我将FormFieldView换成普通的TextView,它工作正常(见屏幕截图):ForEach(viewModel.viewModels){vminText(vm.placeholder)}对于ForEach(viewModel.viewModels){vminFormField(viewModel:$vm)}我试图将ConfigurableFormViewModel的viewModels属性设为@State

ios - 在 SwiftUI 中带有导航栏标题的 EXC_BAD_ACCESS

每当我在SwiftUIView中包含导航栏标题时,我的iPhone(但不是模拟器)就会崩溃。如果我取出导航栏标题,一切正常,但我需要那里的标题。这是我的代码:NavigationView{List{ForEach(self.viewModel.tasks){taskinTaskRow(task:task)}.onDelete(perform:self.viewModel.delete(indexSet:))}.listStyle(.grouped).edgesIgnoringSafeArea(.bottom).navigationBarTitle(Text("mainTitle"))/

ios - SwiftUI - 如何在图像上添加前景线性渐变

我无法找到任何有关如何在使用SwiftUI的图像的前景上进行线性渐变的相关文档。我试过这样做:Image("IconLoseWeight").frame(width:30.0,height:30.0).padding(.leading,17).foregroundColor(LinearGradient(gradient:Gradient(colors:[.white,.black]),startPoint:.top,endPoint:.bottom))实际上,上面显示的代码没有显示任何错误,但它用在顶级Stacks中毫无意义的警告破坏了代码(我认为这是Xcode或SwiftUI的错误

swift - 在 SwiftUI 中动态隐藏 View

我正在尝试有条件地隐藏DatePicker在SwiftUI中。但是,我对不匹配的类型有任何疑问:vardatePicker=DatePicker($datePickerDate)ifself.showDatePicker{datePicker=datePicker.hidden()}在这种情况下,datePicker是DatePicker输入但datePicker.hidden()是_ModifiedContent,_HiddenModifier>.所以我不能分配datePicker.hidden()至datePicker.我已经尝试过这种方法的变体,但似乎找不到可行的方法。有什么想法

SwiftUI:增加用户交互的点击/拖动区域

我在SwiftUI中构建了一个带有20x20拇指拖动器的自定义slider。一切正常,除了点击目标非常小,因为它只是20x20View。我正在寻找一种方法来增加它,使用户更容易与我的slider交互。有没有办法在SwiftUI中执行此操作?我尝试用Color.clear.overlay包裹我的拇指并将框架设置为60x60。如果颜色是纯色(如red),此方法有效,但使用clear时,点击目标似乎恢复为20x20的可见像素。您可以在这张gif上看到,即使在拇指以外的地方单击,我也可以拖动slider。但是,一旦我将颜色更改为clear,这个区域就不再接收交互。

ios - 在文本中添加无限行(SwiftUI)

只是弄清楚如何在Text中实现多行文本。似乎Text与UILabel(一行)具有相同的默认值,但我找不到满足此条件的任何函数。structContentView:View{varbody:someView{VStack(alignment:.leading,spacing:10){HStack{Text("AvocadoToast").font(.system(size:24))}//ThisTextdoescut,andIwonderhowIcanachievemultiplerowsText("Ingredients:Avocado,AlmondButter,Bread").fon