SwiftUI NavigationButton без индикатора раскрытия? - PullRequest
15 голосов
/ 09 июня 2019

При создании списка со строкой, которая перемещается в новое представление, SwiftUI автоматически добавляет индикатор раскрытия «>»?Как мне удалить его, если он мне не нужен?

    NavigationView {
        List {
            NavigationButton(destination: DetailView()) {
                ListItem()
            }
        }
        .navigationBarTitle(Text("Some title"))
    }

На UITableViewCell для Accessory вы устанавливаете None, но как мне это сделать в SwiftUI?

Ответы [ 3 ]

2 голосов
/ 13 июня 2019

В качестве обходного пути я могу предложить добавить модификатор .padding так:

NavigationView {
        List {
            NavigationButton(destination: DetailView()) {
                ListItem()
            }
        }
        .navigationBarTitle(Text("Some title"))
    }
    .padding(.trailing, -32.0)

Таким образом, вы получите строки без видимого раскрытия:

Result

1 голос
/ 28 июня 2019

документации пока нет, поэтому вы можете использовать ScrollView на данный момент

  NavigationView {
        ScrollView {
            ForEach(0...100){ x in
                NavigationButton(destination: Text("ss")) {
                    HStack {
                          Text(String(x))
                          Spacer()
                        }
                        .padding()
                        .background(Color.white)
                        .shadow(radius:1,y:1)
                }
             }
             .frame(width: UIScreen.main.bounds.width - 32)
             .padding()
        }
    }

enter image description here

0 голосов
/ 01 июля 2019

Это помогает передать и передать модель следующему контроллеру навигационного представления.

struct ContentView : View {
    @State var model = PostListViewModel()

    var body: some View {
        NavigationView {
            List(model.post) { post in
                ListCell(listData: post)
                }.navigationBarTitle(Text("My Post"))
        }
    }

}

struct ListCell: View {
    var listData: Post
    var body: some View {
        return NavigationButton(destination: DetailContentView(post: listData)) {
            HStack {
                ImageRow(model: listData) // Get image
                VStack(alignment: .leading) {
                    Text(listData.login).font(.headline).lineLimit(nil)
                    Text(listData.url).font(.subheadline).lineLimit(nil)
                    }.padding(.leading, 10)
                }.padding(.init(top: 5, leading: 0, bottom: 5, trailing: 0))
        }
    }
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...