0

UIWebView所以我有一个图像,只有当我当前位于某个 URL 上时,我才想隐藏它。例如,如果“example1.com/cheese”当前显示在我的 中UIWebView,那么我将隐藏该图像。我不知道如何去检查是否加载了特定的 URL。我正在尝试这个:

- (BOOL)webView:(UIWebView *)webView shouldStartLoadWithRequest:(NSURLRequest *)request {

    NSString *host = [request.URL host];

    if ([host != isEqualToString:@"example1.com/cheese"]) {
        image.hidden = NO;
    }
    else
        image.hidden = YES;
}

我的问题在于我的if陈述。我不确定如何执行“不等于此 URL”。有谁知道我需要更改或添加什么来解决这个问题?

更新:这是我现在正在使用的代码,出现的错误是Use of undeclared identifier, host.

- (BOOL)webView:(UIWebView *)webView shouldStartLoadWithRequest:(NSURLRequest *)request {
    if (![host isEqualToString:@"exampleURL.com/cheese"]) {
        image.hidden = NO;
    } else {
        image.hidden = YES;
    }
}
4

1 回答 1

2

这是基本的 Objective-C(真正的 C)语法:

if (![host isEqualToString:@"someURL"]) {
    // doesn't match
} else {
    // does match
}

意思是“!不”。它否定表达式的结果。由于如果两个字符串相等则isEqualToString:返回,因此将其否定为. 如果两个字符串不相等,则结果被否定。YES!NONOYES

你也可以这样做:

// Hide image if host matches "someURL"
image.hidden = [host isEqualToString:@"someURL"];
于 2013-05-23T03:31:18.960 回答