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

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

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

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

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

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

级别: 圣骑士

状态: 连续签到 - [62天]
UID: 510329
精华: 0
发帖: 640
可可豆: 952 CB
威望: 824 点
在线时间: 976(时)
注册时间: 2015-09-30
最后登录: 2018-10-23
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
发帖: 101
可可豆: 138 CB
威望: 128 点
在线时间: 619(时)
注册时间: 2015-10-08
最后登录: 2018-10-19
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
发帖: 1899
可可豆: 3044 CB
威望: 2926 点
在线时间: 1314(时)
注册时间: 2016-03-14
最后登录: 2018-10-19
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
给每个跳进来的加个标记

本站内容均为本站转发,已尽可能注明出处。因未能核实来源或转发内容图片有权利瑕疵的,请及时联系本站,本站会第一时间进行修改或删除。 QQ : 3442093904

描述
快速回复

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

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

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