用xib没有加载出继承自自定义的父类控制器,请问是什么原因

用xib没有加载出继承自自定义的父类控制器,请问是什么原因,第1张

如果是应用入口的话,看工程文件的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进来的,返回指定控制器等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/web/9594043.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-04-30
下一篇2023-04-30

发表评论

登录后才能评论

评论列表(0条)

    保存