【问题标题】:How do a ViewController knows it got focus on iOS? Like a "viewDidLoad"ViewController 如何知道它专注于 iOS?像“viewDidLoad”
【发布时间】:2013-03-22 15:08:26
【问题描述】:

我有一个 NavigationController,其中一个选项卡应该加载一个 ViewController。

这个 ViewController (1),当加载到“viewDidLoad”时会做一些事情,然后推送一个新的 ViewController (2)。问题是ViewController(1)已经通过viewDidLoad之后,就不会再通过了,除非重启app。

你们能不能给个聪明的方法?

这就是我真正在做的事情:

- (void)viewDidLoad
{
    // Keep track of cash using NSUserDefaults
    BOOL dreceived[63];
    int rightData;

    [super viewDidLoad];
    // Do any additional setup after loading the view from its nib.
    //Load cash switches
    NSUserDefaults *prefs = [NSUserDefaults standardUserDefaults];
    NSData *data = [prefs objectForKey:@"dreceived"];
    memcpy(&dreceived, data.bytes, data.length);

    for(int n = 72; n >= 1; n = n - 1)
    {
        if(dreceived[n-1]==1)
        {
            rightData = n;            

        }
    }
    NSLog(@"Right Data %d", rightData);

    CashItem *c = [cashflow objectAtIndex:rightData];

    // Go for details
    CashDetailedViewController *cdetail = [[[CashDetailedViewController alloc] init] autorelease];
    cdetail.cash = c;

    cdetail.navigationItem.hidesBackButton = YES;
    [self.navigationController pushViewController:cdetail animated:YES];

}

问题是,这段代码再也不会被调用。如果我触摸两次选项卡,则会显示一个空白视图(原始 xib 视图)。

谢谢!

【问题讨论】:

    标签: ios xcode viewcontroller viewdidload navigationcontroller


    【解决方案1】:

    听起来您想使用viewWillAppear。每次您的视图控制器即将出现在屏幕上时都会调用它。

    尽管根据您发布的内容,您可能需要重新考虑自己的工作。拥有一个立即呈现另一个视图控制器的视图控制器应该会导致混乱的用户体验。

    【讨论】:

    • 我可以将 2 个类 / ViewControllers 设置为同一个 XIB 吗?
    【解决方案2】:

    请将您的代码放在- (void)viewWillAppear

    【讨论】:

      【解决方案3】:

      尝试调用

      [yourViewController.view setNeedsDisplay];
      

      或者您可以将代码转为单独的方法并在 viewDidLoad 和 viewDidAppear:animated 中调用它

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多