Question

I'm using a delegate UITabbarController with transition animation like this:

-(BOOL)tabBarController:(UITabBarController *)tabBarController shouldSelectViewController:(UIViewController *)viewController {

    NSArray *tabViewControllers = tabBarController.viewControllers;
    UIView * fromView = tabBarController.selectedViewController.view;
    UIView * toView = viewController.view;
    if (fromView == toView)
        return TRUE;
    NSUInteger fromIndex = [tabViewControllers indexOfObject:tabBarController.selectedViewController];
    NSUInteger toIndex = [tabViewControllers indexOfObject:viewController];

    [UIView transitionFromView:fromView
                    toView:toView
                  duration:0.3
                   options: toIndex > fromIndex ? UIViewAnimationOptionTransitionFlipFromLeft : UIViewAnimationOptionTransitionFlipFromRight
                completion:^(BOOL finished) {
                    if (finished) {
                        tabBarController.selectedIndex = toIndex;
                    }
    }];
    return true;
}

Only this broke my entire ViewDidAppear on the views. I'm resetting the UIWebView to the homepage when switching between tabs, but this doesn't work anymore. Any suggestions? Here's my VieDidLoad:

-(void)viewDidAppear:(BOOL)animated{

    [super viewDidAppear:animated];
    _progressProxy = [[NJKWebViewProgress alloc] init];
    _webView.delegate = _progressProxy;
    _progressProxy.webViewProxyDelegate = self;
    _progressProxy.progressDelegate = self;

    [self loadSite];
    [TestFlight passCheckpoint:@"Bekijkt homepage"];
}

[self loadSite]; is defined as:

-(void)loadSite
{
    NSString *dealerurl = [[NSUserDefaults standardUserDefaults] stringForKey:@"name_preference"];
    NSString *urlAddress= @"http://www.sportdirect.com/shop/";
    NSURLRequest *req = [[NSURLRequest alloc] initWithURL:[NSURL URLWithString:urlAddress]];
    [_webView loadRequest:req];
    [[_webView scrollView] setBounces: NO];
}

Thanks in advance.

Était-ce utile?

La solution

Change:

[_webView loadRequest:req];

to this:

self.webView loadRequest:req;

I think this will undo the nil.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top