在下一个ViewController上设置NavigationBar标题,没有视觉错误

问题描述 投票:0回答:2

所以我有一个名为UICollectionViewWeatherVC,它的NavigationController

[WeatherVC选择到WeatherDetailVC,选择了UITableView后即为UICollectionViewCell

我想根据选择的WeatherDetailVC来设置UICollectionViewCell NavigationBar标题。

下面的这段代码使我的整个NavigationBar都存在问题。例如: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标题没有问题。

ios swift uitableview uicollectionview uinavigationcontroller
2个回答
0
投票

由于navigationBar标题表示视图控制器的标题,因此可以直接设置它:

vc.title = cities[cellPressed]

假设已测试cities[cellPressed]并返回正确的值


0
投票

我知道了。这是由于变音符号而发生的。如果我用变音符号导航栏分配标题,则每次都会出错。有人知道如何解决吗?

编辑:您可以在我提供的IMGUR链接中看到此内容。标题中有字符“á”。

© www.soinside.com 2019 - 2024. All rights reserved.