我在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语句之后放入()的内容是什么?
干杯
答案 0 :(得分:0)
`[[self.tabBarController viewControllers] objectAtIndex:0];将返回第一个选项卡的视图控制器。使Web视图成为视图控制器的属性。然后:
UIViewController *loginViewController = [[self.tabBarController viewControllers] objectAtIndex:0];
UIWebView *loginWebView [loginViewController webView];
NSString *currentURL = [loginWebView stringByEvaluatingJavaScriptFromString:@"window.location"];
if (currentURL == someURL) {
...
}