列表视图在SwiftUI中抖动

时间:2019-11-01 00:28:20

标签: swiftui master-detail

我有一个主要的详细视图,可以使用完全普通的SwiftUI导航一系列顺序列表,我注意到了两件事。

  1. 当您通过导航链接访问列表时,列表行的宽度有抖动吗?
  2. .navigationBarTitle在新视图完全显示在屏幕上之前不可见吗?

似乎这些事情都没有发生?想知道是否有人有任何想法(附带视频和代码)。

有关问题的视频:https://www.dropbox.com/s/5jq3e8chay6hsy5/jitter.mov?dl=0

UserList.swift:

# -*- coding: utf-8 -*-

UserRow.swift:

import SwiftUI

struct UserList: View {
    var body: some View {
        NavigationView {
            List(userData) { this in
                NavigationLink(destination: CityList(user: this, cities: this.cities)) {
                    UserRow(user: this)
                }

            }
            .navigationBarTitle(Text("Users"))
        }
    }
}

CityList.swift:

import SwiftUI

struct UserRow: View {
    var user: UserModel
    var body: some View {
        VStack(alignment: .leading) {
            Text(user.firstName + " " + user.lastName)
                .font(.headline)
        }
    }
}

CityRow.swift:

import SwiftUI

struct CityList: View {
    var user: UserModel
    var cities: [CityModel]

    var body: some View {
        List (cities) { this in
            NavigationLink(destination: TownList(city: this, towns: this.towns)) {
               CityRow(city: this)

            }.navigationBarTitle(Text(self.user.firstName + self.user.lastName))
        }
    }
}

1 个答案:

答案 0 :(得分:0)

好吧,第三次是他们的魅力。

抖动仅发生在模拟器上,我有同样的问题。然后我在手机上安装了该应用程序,并且运行良好。只需在模拟器上忽略它即可。

据我所知,标题的问题是-只是模拟器上的一个错误,我在手机上没有这些问题。