注册 登录
主题 : 如何判断从哪个控制器push 进来的
级别: 新手上路

状态: 连续签到 - [1天]
UID: 506698
精华: 0
发帖: 62
可可豆: 240 CB
威望: 229 点
在线时间: 83(时)
注册时间: 2015-09-17
最后登录: 2018-05-21
0 楼:  发表于: 2018-02-08 16:27    发自: Web Page
来源于 一般提问 分类

如何判断从哪个控制器push 进来的   

感谢这位作者
下面我用到的

for (UIViewController *controller in self.navigationController.viewControllers) {
        if ([controller isKindOfClass:[XZViewController class]]) {
            [self.navigationController popToViewController:controller animated:YES];
        }
}
但是该博客事件有些久。我再次跟新一下
还有新的方法吗,可以说说
级别: 版主

状态: 连续签到 - [348天]
UID: 594651
精华: 0
发帖: 2038
可可豆: 4020 CB
威望: 3310 点
在线时间: 1004(时)
注册时间: 2016-10-20
最后登录: 2018-05-21
1 楼:  发表于: 2018-02-08 16:33    发自: Web Page
-(UIViewController *)parentViewController
{
    
    UIResponder *next = self.nextResponder;
    do {
        
        if ([next isKindOfClass:[UIViewController class]])
        {
            return (UIViewController *)next;
        }
        
        next = [next nextResponder];
        
    } while (next != nil);
    
    return nil;
}
级别: 版主

状态: 连续签到 - [348天]
UID: 594651
精华: 0
发帖: 2038
可可豆: 4020 CB
威望: 3310 点
在线时间: 1004(时)
注册时间: 2016-10-20
最后登录: 2018-05-21
2 楼:  发表于: 2018-02-08 16:33    发自: Web Page
emmmm.我发错了。你忽略我。。。
级别: 新手上路

状态: 连续签到 - [1天]
UID: 506698
精华: 0
发帖: 62
可可豆: 240 CB
威望: 229 点
在线时间: 83(时)
注册时间: 2015-09-17
最后登录: 2018-05-21
3 楼:  发表于: 2018-02-08 17:43    发自: Web Page
回 2楼(Lufer) 的帖子
看出来了
级别: 侠客
状态: 连续签到 - [56天]
UID: 497805
精华: 0
发帖: 122
可可豆: 525 CB
威望: 442 点
在线时间: 123(时)
注册时间: 2015-08-15
最后登录: 2018-05-21
4 楼:  发表于: 2018-02-09 09:40    发自: Web Page
[self.navigationController popViewControllerAnimated:YES];直接返回就好了啊

级别: 圣骑士
状态: 连续签到 - [61天]
UID: 510329
精华: 0
发帖: 489
可可豆: 799 CB
威望: 670 点
在线时间: 820(时)
注册时间: 2015-09-30
最后登录: 2018-05-16
5 楼:  发表于: 2018-02-09 09:45    发自: Web Page
回 4楼(夕夜xx) 的帖子
你搞错了,同一个控制器,可以从不通的控制器push进来的,要特定的控制器跳进来才能pop回去,你那个是不管哪个控制器push进来都可以跳回去的~
级别: 骑士
状态: 连续签到 - [47天]
UID: 497385
精华: 0
发帖: 418
可可豆: 668 CB
威望: 561 点
在线时间: 413(时)
注册时间: 2015-08-14
最后登录: 2018-04-07
6 楼:  发表于: 2018-02-09 11:18    发自: Web Page
你可以试试这种方式,ABCDE都可以push到F,但是只有Apush到F才可以pop,在F.h声明BOOL变量,由Apush到F的时候给这个标识YES,在你响应返回的方法里面通过这个BOOL去决定是否可pop回去。

但是我还没搞懂你说的时间长是什么意思?
There is no shortcut to success. Only by knocking more codes can lead you to the way to success...
级别: 侠客
UID: 511656
精华: 0
发帖: 77
可可豆: 114 CB
威望: 104 点
在线时间: 537(时)
注册时间: 2015-10-08
最后登录: 2018-05-17
7 楼:  发表于: 2018-02-09 11:33    发自: Web Page
UIViewController *controller = [self.navigationController.viewControllers objectAtIndex:self.navigationController.viewControllers.count - 2] ,最好判断一下当前navigationController的viewControllers数量
[ 此帖被caoshunqing123在2018-02-09 11:39重新编辑 ]

级别: 版主

状态: 连续签到 - [67天]
UID: 550118
精华: 2
发帖: 1856
可可豆: 2992 CB
威望: 2874 点
在线时间: 1207(时)
注册时间: 2016-03-14
最后登录: 2018-05-22
8 楼:  发表于: 2018-02-09 11:49    发自: Web Page
你如你非要想知道是通过哪个界面进来的.
你加个标识不就行了
级别: 侠客
状态: 连续签到 - [5天]
UID: 576924
精华: 0
发帖: 124
可可豆: 233 CB
威望: 212 点
在线时间: 414(时)
注册时间: 2016-08-08
最后登录: 2018-05-21
9 楼:  发表于: 2018-02-09 11:52    发自: Web Page
给每个跳进来的加个标记
描述
快速回复

关注本帖(如果有新回复会站内信通知您)

发帖、回帖都会得到可观的积分奖励。查看论坛积分规则

按"Ctrl+Enter"直接提交
    顶部