NavigationBar.titleTextAttributes为nil

时间:2019-05-13 18:55:02

标签: swift uinavigationbar segue

我有2个视图控制器。现在,我要从一个进行到另一个。我在情节提要中进行了segue,但是在第一个vc的源代码中执行了segue。将显示的视图在viewDidLoad方法中的这一行:

var font = self.navigationController?.navigationBar.titleTextAttributes![NSAttributedString.Key.font] as! UIFont

在视图中加载视图时,出现异常,我检查了titleTextAttributes为nil。当我使用show-segue时,它可以工作,但是我不希望导航栏中的该后退按钮。

我的错误是什么?还有其他解决方法吗?

1 个答案:

答案 0 :(得分:1)

问题在于,当您使用 present 时,您只是在ViewControllerB(包含在 NavigationController 中嵌入)上显示了ViewControllerA,但是由于ViewControllerB具有不同的NavigationController或可能没有导航控制器,因此当您在场时,nil就在那里了

您只需删除该行代码并使用this

var font = UIFont(name: "Your Font name", size: YOUR_FONT_SIZE)

并像在使用Segue时一样呈现。

希望有帮助