小编Beg*_*bie的帖子

NavigationLink 查看参数 SwiftUI

当我在视图中调用 NavigationImageView 时,我想在每次调用中发送不同的视图,这样我就可以导航不同的视图。但问题是如何在 NavigationLink 中发送视图参数。我尝试了 View 和 UIView 但它给了我错误。

struct NavigationImageView: View {
    
    var item : Store
    var destinationView: View
    
    var body: some View {
        
        NavigationLink(destination:destinationView ) {
            
            Image(uiImage: (item.banner?.url)!.load())
                .resizable()
                .aspectRatio(CGFloat((item.banner?.ratio)!), contentMode: .fit)
                .cornerRadius(12)
                .shadow(radius: 4)
                .frame(width: CGFloat(UIScreen.main.bounds.width * 0.9), height: CGFloat((UIScreen.main.bounds.width / CGFloat((item.banner?.ratio) ?? 1))))
            
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

swiftui swiftui-navigationlink

6
推荐指数
1
解决办法
2068
查看次数

如何在菜单项选择 SwiftUI 时打勾

我试图在选择菜单项时打上复选标记。我尝试给出 @State var selectedSort : Int = .zero 并给出 id(selectedSort) 但它不起作用。我怎么解决这个问题 ?

这是我的代码;

struct SortMenuPickerView : View {

@Binding var sortClicked : Bool
@ObservedObject var productListViewModel = ProductListViewModel()
@State var sortListArray : [ProductListSortAndFilterList]
var function: () -> Void
@Binding var sortId : String

var body : some View {
    
    HStack(alignment: .center){
        
        Spacer()
        
        Menu {
            
            ForEach(sortListArray,id:\.id){ item in
                if item.id == "sort" {
                    
                    ForEach(item.sortList ?? [],id:\.id) { data in
                        
                        Button(action: {
                            
                            sortId = (data.id ?? "")
                            
                            self.function()
                            
                            print("selected item is : …
Run Code Online (Sandbox Code Playgroud)

checkmark swiftui

4
推荐指数
1
解决办法
2294
查看次数

SwiftUI 中的 NavigationBarTitle 文本颜色

我正在尝试更改我的 navigationBarTitle 颜色(不是背景)。我尝试了几个解决方案,但我的标题文本颜色仅在向下滚动时改变。屏幕打开时不改变。

在此输入图像描述

var body: some View {
  ZStack{
    NavigationView{
      ScrollView{
        LazyVStack{
          ForEach(storeArray,id:\.id) { item in
            Image(uiImage: (item.banner?.url)!.load())
                .resizable()
                .frame(width: CGFloat(UIScreen.main.bounds.width * 0.9), height: CGFloat((UIScreen.main.bounds.width / CGFloat((item.banner?.ratio) ?? 1))))
                .cornerRadius(12)
                .shadow(radius: 4)
                .aspectRatio(CGFloat((item.banner?.ratio)!), contentMode: .fit)
          }
        }
      }
      .navigationBarTitle(Text("United App").foregroundColor(.blue))
      .background (NavigationConfigurator { nc in
          nc.navigationBar.titleTextAttributes = [.foregroundColor : UIColor.blue]
      })
    }
    .onAppear {
        if isOpened != true {
            getStoreResponse()
        }
    }
Run Code Online (Sandbox Code Playgroud)

navigationbar swift swiftui

3
推荐指数
1
解决办法
1861
查看次数