首页 > 解决方案 > 导航到另一个 ViewController 时 UITableView 行有问题

问题描述

我的应用程序中有一个 TableView,它显示了一些事件。当我单击它时,它会导航到单击的事件。我的挣扎是,整个导航过程/动画看起来很丑陋。当新的 ViewController 已经存在时,这些行就会消失。

我设法截取了它,所以你可以更好地理解它的外观。 表视图 导航

代码如下所示:

func tableView(_ tableView: UITableView, didSelectRowAt indexPath: IndexPath) {
    tableView.deselectRow(at: indexPath, animated: false)
    guard let parent = parentVC else { return }
    guard let id = twoDimensionalEventArray[indexPath.section].events[indexPath.row].eventID else { return }
    parent.gotoEvent(eventID: id)
}

func gotoEvent(eventID: Int) {
    let event = eventArray[eventID]
    let eventVC = SingleEventViewController(event: event)
    self.navigationController?.pushViewController(eventVC, animated: true)
}

有人知道如何解决这个问题吗?

因为有两个人建议我提供 SingleEventVuewController 的 Viedloading,所以它是:

init(event: Event) {
    thisEvent = event
    super.init(nibName: nil, bundle: nil)
    setupDefaultValues()
    self.view.backgroundColor = .white
}

override func viewDidLoad() {
    super.viewDidLoad()
    applyDefaultValues()
    setupNavBar()
    setupViews()
    confBounds()
    getSnapshotForLocation()
}

标签: iosswiftuitableviewanimationuiviewcontroller

解决方案


将背景颜色设置为白色,就像self.view.backgroundColor = .whiteviewDidLoad()细节视图控制器中一样,或者如果你这样做的话,你可以在情节提要中设置它。


推荐阅读