
如果是应用入口的话,看工程文件的Info选项中是否有Mainstoryboardfilebasename不过现在新建的项目都是storyboard加载的。如果是代码创建的控制器的话,调用的是不用的方法进行创建的!具体的在使用Storyboard的过程中肯定会知道的!
办法很多啊,看你具体要实现什么功能,效果。
方法1、、、、、、
可以给当前的vc(viewcontroller) nextVC添加一个属性,@pro () NSInteger fromVCNo;
假设上一个vc可能的为vc1,vc2和vc3,
则在vc1中,
nextVCfromVCNo = 1;//vc2中为2,vc3为3等。
然后再
[selfnavigationController pushViewcontroller:nextVC animated:YES];
这样,在nextVC中,就可以根据fromVCNo的值判断是谁push过来的。
方法2、、、、、、、、、、
navigationController是一个控制器栈,其存储的控制器存放在一个数组viewControllers里。
在当前的vc cVC中,可以这样
NSArray vcsArray = [selfnavigationController viewcontrollers];
NSInteger vcCount = vcsArraycount;
UIViewController lastVC = vcsArray[vcCount-2];//最后一个vc是自己,倒数第二个是上一个控制器。
假设cVC来源可能是 VCClass1,VCClass2的实力push来的
那么只要判断出lastVC类型,就可以判断其是谁push来的:
if([lastVC isKindofClsss:VCClass1])
{
//我从VCClass1来
}else if([lastVC isKindofClsss:VCClass1])
{
//VCClass2 push我来的~
}
遵循代理方法:<UINavigationControllerDelegate>
实现代理方法:
当然还有更多的方法判断
例如获取最后一个控制器:
1、返回到上一个控制器视图
2、返回到上上个控制器视图
3、返回到指定控制器
1、响应者链通常是由视图(UIView)构成的;
2、一个视图的下一个响应者是它视图控制器(UIViewController)(如果有的话),然后再转给它的父视图(Super View);
3、视图控制器(如果有的话)的下一个响应者为其管理的视图的父视图;
4、单例的窗口(UIWindow)的内容视图将指向窗口本身作为它的下一个响应者
需要指出的是,Cocoa Touch应用不像Cocoa应用,它只有一个UIWindow对象,因此整个响应者链要简单一点;
5、单例的应用(UIApplication)是一个响应者链的终点,它的下一个响应者指向nil,以结束整个循环。
更多: iOS面试题合集
以上就是关于用xib没有加载出继承自自定义的父类控制器,请问是什么原因全部的内容,包括:用xib没有加载出继承自自定义的父类控制器,请问是什么原因、ios怎么判断是从那个控制器push过来的、iOS中判断是从哪个控制器push进来的,返回指定控制器等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)