Список внутри ScrollView не отображается на WatchOs - PullRequest
0 голосов
/ 11 октября 2019

У меня есть список внутри прокрутки, и он не отображается под изображением и кнопками. Я также попытался поместить список и другие элементы в VStack, и это позволяет мне видеть один элемент списка за раз, а не прокручивать изображение и кнопки, чтобы показать весь список.

    ScrollView{
        Image(uiImage: self.image)
            .resizable()
            .frame(width: 80, height: 80)
            .scaledToFit()

        Text("\(name)")
            .lineLimit(2)
        HStack{
            Button(action: {
                print("button1")
            }){
                Image(systemName: "pencil")
            }
            Button(action: {
                print("button 2")
            }){
                Image(systemName: "trash")

            }
        }
        List{
            ForEach(self.items, id: \.self) { item in
                VStack{
                    Text(item.name)
                        .font(.headline)
                        .lineLimit(1)

                    Text(item.subname)
                        .font(.subheadline)
                        .lineLimit(1)
                }
            }
        }
    }
    .navigationBarTitle(Text("Tittle"))
    .edgesIgnoringSafeArea(.bottom)

Я также пытался добавить .frame( minHeight: 0, maxHeight: .infinity) в список, чтобы заставить его иметь всю высоту, и это тоже не сработало. Любые предложения или это может быть ошибка swiftUI?

РЕДАКТИРОВАТЬ

Я только что понял, что я получаю эту ошибку при прокрутке:

APPNAME Watch Extension[336:60406] [detents] could not play detent NO, 2, Error Domain=NSOSStatusErrorDomain Code=-536870187 "(null)", (
        {
        Gain = "0.01799999922513962";
        OutputType = 0;
        SlotIndex = 4;
    },
        {
        Gain = "0.6000000238418579";
        OutputType = 1;
        SlotIndex = 5;
    }
)

Ответы [ 2 ]

0 голосов
/ 24 октября 2019

Укажите высоту для вашего списка, как

 List{
      ForEach(self.items, id: \.self) { item in
          VStack{
              Text(item.name)
                   .font(.headline)
                   .lineLimit(1)

              Text(item.subname)
                   .font(.subheadline)
                   .lineLimit(1)
          }
      }
 }.frame(minHeight: 200, maxHeight: .infinity)
0 голосов
/ 11 октября 2019

Вы пытались поместить List внутрь GeometryReader и установить frame там?

...