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

UID: 506698
精华: 0
发帖: 31
可可豆: 122 CB
威望: 112 点
在线时间: 55(时)
注册时间: 2015-09-17
最后登录: 2018-02-11
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];
        }
}
但是该博客事件有些久。我再次跟新一下
还有新的方法吗,可以说说
级别: 版主

状态: 连续签到 - [290天]
UID: 594651
精华: 0
发帖: 1760
可可豆: 3397 CB
威望: 2822 点
在线时间: 890(时)
注册时间: 2016-10-20
最后登录: 2018-02-14
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;
}
级别: 版主

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

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

级别: 侠客
状态: 连续签到 - [18天]
UID: 510329
精华: 0
发帖: 225
可可豆: 312 CB
威望: 270 点
在线时间: 575(时)
注册时间: 2015-09-30
最后登录: 2018-02-14
5 楼:  发表于: 2018-02-09 09:45    发自: Web Page
回 4楼(夕夜xx) 的帖子
你搞错了,同一个控制器,可以从不通的控制器push进来的,要特定的控制器跳进来才能pop回去,你那个是不管哪个控制器push进来都可以跳回去的~
级别: 骑士
状态: 连续签到 - [47天]
UID: 497385
精华: 0
发帖: 414
可可豆: 664 CB
威望: 557 点
在线时间: 386(时)
注册时间: 2015-08-14
最后登录: 2018-02-10
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
发帖: 57
可可豆: 94 CB
威望: 84 点
在线时间: 482(时)
注册时间: 2015-10-08
最后登录: 2018-02-09
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
发帖: 1801
可可豆: 2911 CB
威望: 2793 点
在线时间: 1071(时)
注册时间: 2016-03-14
最后登录: 2018-02-10
8 楼:  发表于: 2018-02-09 11:49    发自: Web Page
你如你非要想知道是通过哪个界面进来的.
你加个标识不就行了
级别: 侠客
状态: 连续签到 - [5天]
UID: 576924
精华: 0
发帖: 106
可可豆: 206 CB
威望: 185 点
在线时间: 378(时)
注册时间: 2016-08-08
最后登录: 2018-02-14
9 楼:  发表于: 2018-02-09 11:52    发自: Web Page
给每个跳进来的加个标记
描述
快速回复

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

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

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