Swift 在UIViewController中访问自定义UINavigationController属性和方法
我创建了一个Swift 在UIViewController中访问自定义UINavigationController属性和方法,swift,uikit,Swift,Uikit,我创建了一个UINavigationController子类,MyNavigationController。我在应用程序中使用了这个导航控制器,它显示不同的视图控制器。我在MyNavigationController中添加了一些属性和自定义视图。我想从视图控制器的navigationController属性中访问这些属性,但此属性的类型是UINavigationController,而不是MyNavigationController(我了解原因),并且无法覆盖navigationControll
UINavigationController
子类,MyNavigationController
。我在应用程序中使用了这个导航控制器,它显示不同的视图控制器。我在MyNavigationController
中添加了一些属性和自定义视图。我想从视图控制器的navigationController
属性中访问这些属性,但此属性的类型是UINavigationController,而不是MyNavigationController
(我了解原因),并且无法覆盖navigationController
属性(因此,制作自己的UIViewController
类没有帮助,我想保留UINavigationController
默认动画等)
如何更改UIViewController的navigationController属性类型并使所有MyNavigationController
属性、方法和视图都可访问?
我想不出来
有什么想法吗?谢谢!(:您应该将其转换为自定义类类型
if let navController = self.navigationController as? MyNavigationController {
navController.customMethod()
}
您应该将其强制转换为自定义类类型
if let navController = self.navigationController as? MyNavigationController {
navController.customMethod()
}
另一个选择是:
(self.navigationController作为?MyNavigationController)。customMethod()
另一个选项是:
(self.navigationController as?MyNavigationController).customMethod()
为我没有弄明白而感到羞耻哈哈,非常感谢!为我没有弄明白而感到羞耻哈哈,非常感谢!