所以我有一个名为 WeatherVC
的 UICollectionView
,它有一个 NavigationController
。
WeatherVC
在选择 UICollectionViewCell
后跳转到 WeatherDetailVC
,即 UITableView
。
我想根据选择的 UICollectionViewCell
设置 WeatherDetailVC
导航栏标题。
下面的代码使我的整个导航栏有问题。 示例:https://imgur.com/a/vOIbxK5
override func prepare(for segue: UIStoryboardSegue, sender: Any?) {
if let vc = segue.destination as? WeatherDetailVC {
let cities = ["City1", "City2", "City3", "City4"]
// cellPressed = 3 - for example this would work without bugs
vc.navigationItem.title = cities[cellPressed]
}
}
变量 cellPressed
是在单元格突出显示或点击时设置的。仅在 iOS 13 中,并且仅当我根据点击的单元格给它编号时,它的行为才会如此 - 如果它是静态的,标题会发生变化,不会出现视觉错误。我已经尝试在 WeatherDetailVC
中创建函数来更改其标题,并在 prepare for:segue
中调用它们,但它没有任何帮助。
编辑:我的主要问题是该解决方案带来的错误或故障。我对更改下一个 VC 标题没有任何问题。
最佳答案
由于navigationBar title代表的是 View Controller 的标题,所以可以直接设置:
vc.title = cities[cellPressed]
假设cities[cellPressed]
经过测试并返回正确的值
关于ios - 在下一个 ViewController 上设置导航栏标题,没有视觉错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58919217/