我为 UINavigationBar 创建了一个自定义类,它具有应用程序所需的所有自定义功能。 初始化类后,我将其添加到导航控制器中,如下所示
if (!navBar) {
navBar=[[NavigationBar alloc]initWithFrame:self.navigationController.navigationBar.frame];
[self.navigationController setValue:navBar forKeyPath:@"navigationBar"];
}
我的应用程序上线崩溃了
[self.navigationController setValue:navBar forKeyPath:@"navigationBar"];
在 Xcode 14 之前它工作正常,但在 Xcode 15 上它崩溃了。非常感谢任何帮助。
下面是我遇到的崩溃问题
*** Assertion failure in -[UINavigationBar layoutSubviews], UINavigationBar.m:3856
将代码放入 viewDidLayoutSubviews 后我能够解决问题
-(void)viewDidLayoutSubviews{
[self.navigationController setValue:navBar forKeyPath:@"navigationBar"];
}
此代码运行并且不再崩溃后