2015-08-27 4 views
0

Я создаю поиск в Google с помощью UIWebView и UISearchBar.SearchBar с webview не работает

Вот код из .m файла -

#import "ThirdViewController.h" 

@implementation ViewController3 

-(IBAction)Googlesearch:(id)sender { 
    NSString *query = [googleBar.text stringByReplacingOccurrencesOfString:@" " withString:@"+"]; 
    NSURL *url = [NSURL URLWithString:[NSString stringWithFormat:@"http://www.google.co.uk/search?q=%@", query]]; 
    NSURLRequest *request = [NSURLRequest requestWithURL:url]; 
    [webview3 loadRequest:request]; 
    [self.view addSubview:webview3]; 
    [self.view bringSubviewToFront:webview3]; 
} 

@end 

.h файл -

#import <UIKit/UIKit.h> 

@interface ViewController3 : UIViewController <UISearchBarDelegate> { 
    IBOutlet UIWebView *webview3; 
    IBOutlet UISearchBar *googleBar; 
} 

-(IBAction)Googlesearch:(id)sender; 

@end 

Примечание: В IBactions на обоих файлах не связаны (как я не уверен, где для подключения это к). Но webview/searchbar подключены к iboutlets.

Как это предполагают, чтобы работать:

WebView пустым на первом, ввод текста в SearchBar, нажмите кнопку «поиск», UIWebView загружает Google с результатами поиска по запросу введенных в SearchBar

Проблема/Вопрос:

когда я запустить приложение, то UIWebView не нагружает поиска Google, когда я что-то вход в SearchBar.

Как исправить это?

+0

UIWebView загружается отлично, когда вы не вводите что-то в поисковую панель? – anhtu

+0

@anhtu это совсем не загружается, потому что вы должны ввести что-то, прежде чем оно может загрузить –

+0

Когда оно загружается? Так в чем проблема? – anhtu

ответ

1

Набор делегатов вашего UISearchBar объекта, то этот метод срабатывает

-(void)searchBarSearchButtonClicked:(UISearchBar *)searchBar { 
     NSString *query = [googleBar.text stringByReplacingOccurrencesOfString:@" " withString:@"+"]; 
     NSURL *url = [NSURL URLWithString:[NSString stringWithFormat:@"http://www.google.co.uk/search?q=%@", query]]; 
     NSURLRequest *request = [NSURLRequest requestWithURL:url]; 
     [webview3 loadRequest:request]; 
     [self.view addSubview:webview3]; 
     [self.view bringSubviewToFront:webview3]; 
} 
- (void)viewDidLoad { 
    googleBar.delegate = self; 
} 

Теперь написать код внутри этого метода.

+0

Итак, все, что я делаю, это добавить код в мой .m-файл (над IBACTION) –

+0

вы установили делегат в свой метод viewDidLoad, например googleBar.delegate = self – Rajat

+0

нет, только то, что в моем вопросе есть то, что у меня есть –

Смежные вопросы