如何使用自定义键盘在浏览器中搜索?

时间:2013-01-09 10:31:46

标签: iphone xcode browser custom-keyword

我最近开发了一个Applicaiton。现在我想在这个应用程序中集成G​​oogle和Youtube,例如This Application.A在做了很多搜索之后,我认为有两种方法可以整合用于Customkeyboard的google和youtube。

  1. 第一种方法(这是完美的解决方案,但看起来非常困难)是如果我们在Webview中打开谷歌网址,然后这里是当我们在Google SearchBar中点击时显示自定义键盘的方法。当我们在应用程序中使用自定义键盘时然后我们通过它来调用它(textView.inputView = Customkeyboard;)但是对于谷歌搜索栏如何使用这个方法看起来很困难的任务,如果有人指导我这个方法我会高度适用。

  2. 第二种方法不完美但看起来不错的是,如果我们使用自定义键盘在UITextField和UITextView中输入文本,则将此文本添加到Google搜索网址,就像我为默认键盘所做的那样。

      -(IBAction)openBrowser {
       NSString *parameter = @"NewYork";
       NSString *url = @"https://www.google.com/search?q=";
       NSString *searchingurl = [NSString stringWithFormat:@"%@%@", url, parameter];
       UIApplication *app = [UIApplication sharedApplication];
       [app openURL:[NSURL URLWithString:searchingurl]];
       }
    

    上面的网址为我打开了一个理想的页面。所以我使用这种方法尝试使用自定义键盘作为我的下面代码显示

    -(void)openBrowser {
     NSString *parameter = @"انڈیا";
     NSString *url = @"https://www.google.com.pk/search?hl=ur&tbo=d&noj=1&q=";
     NSString *searchingurl = [NSString stringWithFormat:@"%@%@", url, parameter];
     NSLog(@"searchingurl result:%@",searchingurl);
     UIApplication *app = [UIApplication sharedApplication];
     [app openURL:[NSURL URLWithString:searchingurl]];
     }
    

    但这次它没有打开Desired页面因为Google直接无法识别自定义键盘单词(انڈیا),现在之后我整合了整个URL(https://www.google.com。 pk / search?hl = ur& tbo = d& noj = 1& q =انڈیا)并在我的计算机浏览器中打开它得到结果(https://www.google.com.pk/search?hl=ur& TBO = d&安培; NOJ = 1&安培;站点= webhp&安培;源= HP&安培; q =%D8%A7%D9%86%DA%88%DB%8C%D8%A7&安培; OQ =%D8%A7%D9%86% DA%88& gs_l = hp.1.0.0l10.10727.35473.0.37372.5.4.1.0.0.0.304.1162.2-3j1.4.0 ... 0.0 ... 1c.3j4j1.PBbmxkMVaqc)现在在这个url字(انڈیا)是消失和浏览器在某种类型的Code.Iinaly使用下面的代码

    -(void)openBrowser {
    // NSString *parameter = @"انڈیا";
     NSString *searchingurl = @"https://www.google.com.pk/search?hl=ur&tbo=d&noj=1&site=webhp&source=hp&q=%D8%A7%D9%86%DA%88%DB%8C%D8%A7&oq=%D8%A7%D9%86%DA%88&gs_l=hp.1.0.0l10.10727.35473.0.37372.5.4.1.0.0.0.304.1162.2-3j1.4.0...0.0...1c.3j4j1.PBbmxkMVaqc";
     //NSString *searchingurl = [NSString stringWithFormat:@"%@%@", url, parameter];
     NSLog(@"searchingurl result:%@",searchingurl);
     UIApplication *app = [UIApplication sharedApplication];
     [app openURL:[NSURL URLWithString:searchingurl]];
     }
    

    它在iphone中正常工作并打开Desired页面。现在我想要如果我使用这个第二种方法那么有些人可以指导我们如何在添加自定义键盘文本之后直接打开网址这样的网址(https:// www.google.com.pk/search?hl=ur&tbo=d&noj=1&q=انڈیا)或者我们可以通过这种方法将此网址中的此网址转换为此格式https://www.google.com.pk/search?hl=ur&tbo=d&noj=1&site=webhp&source=hp&q=%D8%A7%D9%86%DA%88%DB%8C%D8%A7&oq=%D8%A7%D9%86%DA%88&gs_l=hp.1.0.0l10.10727.35473.0.37372.5.4.1.0.0.0.304.1162.2-3j1.4.0...0.0...1c.3j4j1.PBbmxkMVaqc ) 然后在Google中打开此网址。任何帮助或建议将高度推荐。谢谢。

1 个答案:

答案 0 :(得分:1)

浏览器使用UTF8编码انڈیا,这是%D8%A7%D9%86%DA%88%DB%8C%D8%A7然后。

试试这个:

        NSString *parameter = @"انڈیا";  
        NSString *url = @"https://www.google.com.pk/search?hl=ur&tbo=d&noj=1&q=";
        NSString *searchingurl = [NSString stringWithFormat:@"%@%@", url, parameter];
        NSString *encodedSearchingurl = [searchingurl stringByAddingPercentEscapesUsingEncoding:NSUTF8StringEncoding];
        NSLog(@"searchingurl result:%@",encodedSearchingurl);
        UIApplication *app = [UIApplication sharedApplication];
        [app openURL:[NSURL URLWithString:encodedSearchingurl]];