【问题标题】:Forcing a push to a page after a pop弹出后强制推送到页面
【发布时间】:2011-05-06 08:41:51
【问题描述】:

我有一个屏幕,用户在其中创建登录并按下保存按钮。在这一点上,我会弹回到上一个屏幕,上面满是保存的登录信息……

[self.navigationController popViewControllerAnimated:YES];

但是,仅在这种情况下(一旦他们按下保存),我想自动将用户推送到另一个屏幕(有效地使用他们刚刚创建的登录名登录他们)。这是为了确保如果用户返回某个屏幕,他们会返回登录列表,而不是“创建新登录”屏幕。

我的问题是如何在这种情况下强制执行此推送?当用户刚刚成功登录回来时,我能否以某种方式让登录页面识别?

【问题讨论】:

    标签: iphone cocoa-touch push pushviewcontroller viewwillappear


    【解决方案1】:
    -(void)viewWillAppear:(BOOL)animated
    {
    
    if(isLoggedIn)
    {
    //Do something
    }
    else
    {
    //Show login
    }
    }
    

    或者,如果您使用的是集中式导航控制器 您可以在登录视图控制器中执行此操作

    - (IBAction)saveButtonPressed
    {
    [yourAppDelegate.mainNavigationController popViewControllerAnimated:YES];
    [yourAppDelegate.mainNavigationController pushViewController:nextView animated:YES];
    
    }
    

    【讨论】:

    • 嗨 7KV7。感谢您的答复。关于您的两个答案,据我了解,我必须将 BOOL 'isLoggedIn'(在按下保存时设置)或我希望弹出到 'nextView' 的页面传递到我的 CreateLogin 页面。我对吗?如果是这样,有没有办法简单地让 viewWillAppear 在成功保存后知道它来自 CreateLogin?
    • 你可以有一个 BOOl 变量,或者你也可以将登录状态保存到 NSUserDefaults 我猜这适合一次性登录或类似的东西
    • 这可能是一个非常菜鸟的问题(我对指针没有经验),但我正在努力将一个 BOOL 从我的 SavedLogins 页面传递到我的 CreateLogin 类中,这将在两个类中设置在 CreateLogin 中设置时。 (或者我完全做错了。)
    • BOOL 不是指针。确保将@synthesize 和@property 添加到变量中
    • 在这两个类中我都有这样的综合和属性... @property (nonatomic, assign) BOOL loginSaved; ... 在 CreateLogin 的初始化中,BOOL 被设置为另一个 BOOL,如下所示 ... loginSaved=lS; ...但是,设置一个 BOOL 不会改变原来的 BOOL。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2012-07-07
    • 2014-10-03
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-06-03
    • 2010-11-14
    相关资源
    最近更新 更多