注册 登录
主题 : 如何判断从哪个控制器push 进来的
级别: 侠客

状态: 连续签到 - [2天]
UID: 506698
精华: 0
发帖: 83
可可豆: 349 CB
威望: 334 点
在线时间: 118(时)
注册时间: 2015-09-17
最后登录: 2018-08-16
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];
        }
}
但是该博客事件有些久。我再次跟新一下
还有新的方法吗,可以说说
级别: 版主

状态: 连续签到 - [400天]
UID: 594651
精华: 1
发帖: 2161
可可豆: 4461 CB
威望: 3613 点
在线时间: 1066(时)
注册时间: 2016-10-20
最后登录: 2018-08-16
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;
}
级别: 版主

状态: 连续签到 - [400天]
UID: 594651
精华: 1
发帖: 2161
可可豆: 4461 CB
威望: 3613 点
在线时间: 1066(时)
注册时间: 2016-10-20
最后登录: 2018-08-16
2 楼:  发表于: 2018-02-08 16:33    发自: Web Page
emmmm.我发错了。你忽略我。。。
级别: 侠客

状态: 连续签到 - [2天]
UID: 506698
精华: 0
发帖: 83
可可豆: 349 CB
威望: 334 点
在线时间: 118(时)
注册时间: 2015-09-17
最后登录: 2018-08-16
3 楼:  发表于: 2018-02-08 17:43    发自: Web Page
回 2楼(Lufer) 的帖子
看出来了
级别: 侠客

状态: 连续签到 - [70天]
UID: 497805
精华: 0
发帖: 126
可可豆: 614 CB
威望: 499 点
在线时间: 137(时)
注册时间: 2015-08-15
最后登录: 2018-08-08
4 楼:  发表于: 2018-02-09 09:40    发自: Web Page
[self.navigationController popViewControllerAnimated:YES];直接返回就好了啊

级别: 圣骑士
状态: 连续签到 - [62天]
UID: 510329
精华: 0
发帖: 504
可可豆: 816 CB
威望: 688 点
在线时间: 857(时)
注册时间: 2015-09-30
最后登录: 2018-08-02
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
发帖: 89
可可豆: 126 CB
威望: 116 点
在线时间: 596(时)
注册时间: 2015-10-08
最后登录: 2018-08-16
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
发帖: 1879
可可豆: 3024 CB
威望: 2906 点
在线时间: 1272(时)
注册时间: 2016-03-14
最后登录: 2018-08-15
8 楼:  发表于: 2018-02-09 11:49    发自: Web Page
你如你非要想知道是通过哪个界面进来的.
你加个标识不就行了
级别: 侠客
状态: 连续签到 - [5天]
UID: 576924
精华: 0
发帖: 128
可可豆: 246 CB
威望: 225 点
在线时间: 433(时)
注册时间: 2016-08-08
最后登录: 2018-08-03
9 楼:  发表于: 2018-02-09 11:52    发自: Web Page
给每个跳进来的加个标记
描述
快速回复

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

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

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