xcode 如何知道 - 在 iphone 中查看控制器的当前视图
声明:本页面是StackOverFlow热门问题的中英对照翻译,遵循CC BY-SA 4.0协议,如果您需要使用它,必须同样遵循CC BY-SA许可,注明原文地址和作者信息,同时你必须将它归于原作者(不是我):StackOverFlow
原文地址: http://stackoverflow.com/questions/1401080/
Warning: these are provided under cc-by-sa 4.0 license. You are free to use/share it, But you must attribute it to the original authors (not me):
StackOverFlow
How to know - view controller's current view in iphone
提问by Sagar R. Kothari
Let's have an example.
让我们举个例子。
- In application I have a tab bar controller.
- Tab bar has two items dynamically - two view controllers.
- User can select any of tab.
- Suppose user selects first tab.
- First view controller is already loaded.
- Now he clicks on a button of First view controller.
- From First View controller -> Second View controller is pushed.
- Now when user taps on tab bar first item
- second view is popped out.
- 在应用程序中,我有一个标签栏控制器。
- 标签栏有两个动态项目——两个视图控制器。
- 用户可以选择任何选项卡。
- 假设用户选择第一个选项卡。
- 第一个视图控制器已经加载。
- 现在他点击了第一个视图控制器的按钮。
- 从第一个视图控制器 -> 推送第二个视图控制器。
- 现在当用户点击标签栏第一项时
- 弹出第二个视图。
This is done through by default by tab bar controller. Now, If I want to check following condition
默认情况下,这是由选项卡栏控制器完成的。现在,如果我想检查以下条件
- if(tab bar first item-view controller has first view controller view)
- then perform this
- if(tab bar first item-view controller has second view controller view)
- then perform this
- if(标签栏第一个项目视图控制器有第一个视图控制器视图)
- 然后执行这个
- if(标签栏第一个项目视图控制器有第二个视图控制器视图)
- 然后执行这个
How to implement this logic?
如何实现这个逻辑?
回答by Daniel
If you are using a UITabBarController, you can use its selectedViewController property to know what kind of view controller is on the screen, so if you have two subclasses of view controller FirstViewController and SecondViewController you can say
如果您使用的是 UITabBarController,您可以使用它的 selectedViewController 属性来了解屏幕上的视图控制器类型,因此如果您有两个视图控制器 FirstViewController 和 SecondViewController 的子类,您可以说
if([[tabBarController.selectedVIewController isKindOfClass:[FirstViewController class]])
//... do something
else ...