2013-01-09 135 views
1

我最近開發了一個Applicaiton。現在我想整合谷歌和Youtube在這個應用程序,如This應用程序。經過大量的搜索後,終於我認爲有兩種方法可以通過我們可以整合谷歌和YouTube的CustomKeyboard。如何使用自定義鍵盤在瀏覽器中搜索?

  1. 第一種方法(這是完美的解決方案,但它看起來困難的極端)是,如果我們打開網頁視圖谷歌URL,然後這裏是方法,表明customkeyboard當我們點擊谷歌SearchBar.Beacuse當我們用customkeyboard在應用程序然後我們稱它通過(textView.inputView = Customkeyboard;)但是對於Google Searchbar如何使用這個方法看起來很困難的任務,如果有人指導我這個方法,我會被高度評價。

  2. 二的做法,是不完美的,但看起來很不錯的是,如果我們的UITextField和UITextView中使用自定義鍵盤輸入文字,然後appened這個文本到谷歌搜索網址爲我做了默認keyboard`

    -(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]]; 
    } 
    

    但這次不到風度打開需要的頁面,因爲谷歌直接無法識別自定義鍵盤d字是(انڈیا),現在之後,當我結合整個網址(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.010.10727.35473.0.37372.5.4.1.0.0.0。 304.1162.2-3j1.4.0 ... 0.0 ... 1c.3j4j1.PBbmxkMVaqc)現在在這個網址中單詞(انڈیا)消失並且瀏覽器在某些類型的Code.Finaly中翻譯它,當我使用下面的代碼時

    -(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中正常工作,並打開期望頁面。現在我想,如果我使用這種第二種方法,那麼一些可以指導我,我們如何可以直接打開URL後追加自定義鍵盤文本像這個URL(https:// www.google.com.pk/search?hl=ur & tbo = d & noj = 1 & q =انڈیا)或者有一些方法,我們可以通過該方法在此編譯器中將此url轉換爲此應用程序中的此格式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) 然後在谷歌打開此網址。任何幫助或建議將得到高度肯定。感謝提前。

+0

這看起來很糟糕的評論我張貼解答 – Starbax

回答

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]]; 
相關問題