使用标签栏控制器的AddObserver用于设备方向

时间:2017-09-15 05:35:22

标签: swift tabbar device-orientation addobserver

我有5个标签栏,所有标签栏上都有导航控制器,除了第3个标签栏外,还有一个自定义视图使其与导航控制器栏相同。自定义内部有文本字段和按钮。所以我试图与导航栏的其他标签栏做出相同的行为。然后,我链接了textfield和button的高度和顶部约束,以便它可以根据设备方向进行更改。

所以我试着在viewWillAppear中使用NotificationCenter.default.addObserver(self,selector:#selector(rotate),name:NSNotification.Name.UIApplicationDidChangeStatusBarOrientation,object:nil),它正常工作。但是,如果我在第一个选项卡上开始更改为横向模式。然后我改为第三个标签,自定义视图根本没有变化。

另一种方法: NotificationCenter.default.addObserver(self,selector:#selector(rotate),name:NSNotification.Name.UIApplicationDidChangeStatusBarOrientation,object:nil)在标签栏didSelect中,它仍然是如上所述的相同问题,它不起作用当您作为横向模式输入以将标签从第一个更改为第三个时,自定义视图仍然根本不会更改。但是当您将方向更改为纵向然后再将横向更改为时,它正在工作。

我可以知道如何解决这个问题吗?

0 个答案:

没有答案