ユーザーがGoogleに入力したいものを入力するテキストフィールドがあります。ユーザーが[テキストフィールド]で[完了]をクリックすると、Webビューを含む新しいビューに移動します。問題は、テキストフィールドに何かを入力すると、Webビューが真っ白になります(Webビューにロードされません)。
#import "ViewController.h"
@interface ViewController ()
@end
@implementation ViewController
- (void)viewDidLoad
{
[super viewDidLoad];
NSString *query = [self buildGoogleSearchParameter:self.searchField];
NSURL *url = [NSURL URLWithString:[NSString stringWithFormat:@"http://www.google.co/search?q=%@", query]];
NSURLRequest *request = [NSURLRequest requestWithURL:url];
[self.webView loadRequest:request];
}
- (NSString *)buildGoogleSearchParameter:(NSString *)searchField
{
NSArray *unencodedStrings = [searchField componentsSeparatedByString:@" "];
NSMutableArray *encodedStrings = [NSMutableArray array];
for (NSString *unencodedString in unencodedStrings)
[encodedStrings addObject:[self urlEncode:unencodedString]];
return [encodedStrings componentsJoinedByString:@"+"];
}
- (NSString *)urlEncode:(NSString *)unencodedString
{
return CFBridgingRelease(CFURLCreateStringByAddingPercentEscapes(NULL,
(CFStringRef)unencodedString,
NULL,
(CFStringRef)@"!*'();:@&=+$,/?%#[]",
kCFStringEncodingUTF8));
}
-(IBAction)searchdone {
ViewController *web = [self.storyboard instantiateViewControllerWithIdentifier:@"WebView"];
web.searchField = searchbar.text;
[self presentModalViewController:web animated:YES];
}
@end