繁体   English   中英

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

[英]Set NavigationBar title on next ViewController without visual bugs

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

WeatherVC在选择 UICollectionViewCell 时UICollectionViewCell WeatherDetailVC ,即UITableView

我想根据选择的UICollectionViewCell设置WeatherDetailVC 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 中且仅当我根据所点击的单元格给它编号时才如此 - 如果它是 static,则标题更改且没有视觉错误。 我已经尝试在WeatherDetailVC中创建函数来更改其标题并在prepare for:segue中调用它们,但它没有任何帮助。

编辑:我的主要问题是这个解决方案附带的那些错误或故障。 更改下一个 VC 标题我没有问题。

由于navigationBar title代表视图controller的标题,可以直接设置:

vc.title = cities[cellPressed]

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

我想到了。 它的发生是因为变音符号。 如果我用变音字符导航栏分配标题,那么每次都会出错。 谁知道怎么修它?

编辑:您可以在我提供的 IMGUR 链接中看到这种情况。 字符“á”在标题中。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM