iPhone的粘贴板无法识别URL

时间:2011-12-15 23:31:40

标签: iphone url uiwebview clipboard

我希望我的应用能够识别剪贴板的当前内容是否为URL,如果是,我希望它将该URL加载到Web视图中。
我正在使用以下语句来执行此检查:

 if ([pasteboard containsPasteboardTypes: [NSArray arrayWithObject:@"public.url-name"]]) 
     ...code to load the URL into the webView

但它不起作用 - 即使剪贴板的内容显然是URL,IF语句也总是返回FALSE。
奇怪的是,当我删除这个IF语句并继续加载我从剪贴板中读取到webView的URL时,它运行得非常好。所以它绝对只是由于某种原因无效的IF声明。

这是完整的代码:

// executed on a Button-click:
-(IBAction) showClipBoard {
    pasteboard = nil;  // resetting the pasteBoard each time
    pasteboard = [UIPasteboard generalPasteboard];
    NSURL *tempURL = pasteboard.URL;    

    //Check the pasteboard's value-type:
    if ([pasteboard containsPasteboardTypes: [NSArray arrayWithObject:@"public.url-name"]]) {
      NSLog(@"URL is: %@", pasteboard.string);       
      NSURL *url = [NSURL URLWithString: pasteboard.string];
      NSURLRequest *req = [NSURLRequest requestWithURL: url];
      [webView loadRequest:req];   
  }
else 
    NSLog(@"=NOT a valid web-address");

NSString *tempString = [pasteboard valueForPasteboardType:@"public.utf8-plain-text"];

// Show the URL in a text-view box called "clipText":
clipText.text = tempString;

}

有人在这里看到了什么问题吗?

1 个答案:

答案 0 :(得分:0)

你现在可能已经想到了这一点,但是,我遇到了同样的问题&以下对我有用: -

if ([pasteboard containsPasteboardTypes: [NSArray arrayWithObject:@"public.url"]]) 
 ...code to load the URL into the webView