Обратитесь к другой панели вкладок в приложении iOS - PullRequest
0 голосов
/ 29 октября 2011

У меня есть приложение панели вкладок с экраном входа в UIWebView, а затем, когда пользователь вошел в систему, все другие вкладки могут использовать тот же логин.Кнопка входа также есть на веб-сайте, и я не могу контролировать этот код.

Теперь, если пользователь не вошел в систему, тогда другие вкладки выдают ошибку, но мне было интересно, могу ли я сделать оператор if, сравнивая активную вкладку с первой, чтобы увидеть, отображается ли страница входа.так что идея будет выглядеть следующим образом.

if(tab bar 1 == index.html) {
[webView loadRequest:[NSURLRequest requestWithURL:[NSURL fileURLWithPath:[[NSBundle mainBundle] pathForResource:@"index" ofType:@"html"]isDirectory:NO]]];
else{
NSString *urlAddress = @"website that is requested";    
NSURL *url = [NSURL URLWithString:urlAddress];
NSURLRequest *requestObj = [NSURLRequest requestWithURL:url];
[webView loadRequest:requestObj];
}

Что я должен вставить в () после оператора if?

Cheers

1 Ответ

0 голосов
/ 29 октября 2011

`[[self.tabBarController viewControllers] objectAtIndex: 0]; вернет контроллер представления для первой вкладки. Сделайте веб-просмотр свойством контроллера представления. Тогда:

UIViewController *loginViewController = [[self.tabBarController viewControllers] objectAtIndex:0];
UIWebView *loginWebView [loginViewController webView];
NSString *currentURL = [loginWebView stringByEvaluatingJavaScriptFromString:@"window.location"];

if (currentURL == someURL) {
    ...
}
...