How do we create a universal search textfield like in iOS 7 safari. I know how to create a Google search field, but how can I create one textfield which has both Google search and URL search.
Google Searchfield:
    -(void)SearchButtonClicked {
        NSString *query = [maintext.text stringByReplacingOccurrencesOfString:@" " withString:@"+"];
        NSString *urlString = [NSString stringWithFormat:@"%@", query];
        // remember to change the view controller class in storyboard
        MyWebViewController *webViewController = [self.storyboard instantiateViewControllerWithIdentifier:@"WebView"];
        // urlString is a public property on MyWebViewController
        webViewController.urlString = urlString;
        [self presentViewController:webViewController animated:YES completion:nil];  
    }
    - (IBAction)SearchButton:(id)sender {
        NSString *query = [maintext.text stringByReplacingOccurrencesOfString:@" " withString:@"+"];
        NSString *urlString = [NSString stringWithFormat:@"http://www.google.com/search?q=%@", query];
        // remember to change the view controller class in storyboard
        MyWebViewController *webViewController = [self.storyboard instantiateViewControllerWithIdentifier:@"WebView"];
        // urlString is a public property on MyWebViewController
        webViewController.urlString = urlString;
        [self presentViewController:webViewController animated:YES completion:nil];
}
My Webview controller:
#import "MyWebViewController.h"
#import "ViewController.h"
#import <Social/Social.h>
#import "SIAlertView.h"
#import "TTAlertView.h"
#import "ETActivityIndicatorView.h"
@implementation MyWebViewController {
}
@synthesize searchField;
@synthesize webView;
ETActivityIndicatorView * etActivity;
- (void)viewWillAppear:(BOOL)animated {
    [super viewWillAppear:animated];
    NSURL *url = [NSURL URLWithString:self.urlString];
    NSURLRequest *request = [NSURLRequest requestWithURL:url];
    [self.webView loadRequest:request];
}
-(void)webView:(UIWebView *)webBlog didFailLoadWithError:(NSError *)error{
    if ([error code] != -999) {
        NSLog(@"Could not load the dumb webPage");
        //show error alert, etc.
        TTAlertView *alert = [[TTAlertView alloc] initWithTitle:@"Internet Error"
                                                        message:@"Searched cannot open the page because your iPhone is not connected to the internet."
                                                       delegate:self
                                              cancelButtonTitle:@"Dismiss"
                                              otherButtonTitles:nil];
        [alert show];
        [etActivity setHidden:YES];
    }else{
        NSLog(@"Could not load the dumb web page...just might blame user!");
    }
}
//Called whenever the view starts loading something
- (void)webViewDidStartLoad:(UIWebView *)webView {
    [etActivity startAnimating];
    [etActivity setHidden:NO];
}
//Called whenever the view finished loading something
- (void)webViewDidFinishLoad:(UIWebView *)webView {
    [etActivity stopAnimating];
    [etActivity setHidden:YES];
}
- (void)viewDidLoad
{
    [super viewDidLoad];
    // Do any additional setup after loading the view, typically from a nib.
    [webView setDelegate:self];
    self.searchField.backgroundColor = [UIColor colorWithRed:255.0/255 green:255.0/255 blue:255.0/255 alpha:1.0f];
    self.searchField.layer.cornerRadius = 3.0f;
    self.searchField.placeholder = @"Search or enter address";
    self.searchField.leftViewMode = UITextFieldViewModeAlways;
    UIView* leftView1 = [[UIView alloc] initWithFrame:CGRectMake(0, 0, 10, 10)];
    self.searchField.leftView = leftView1;
    //Setup handling of LEFT and RIGHT swipes
    UISwipeGestureRecognizer *recognizer;
    recognizer = [[UISwipeGestureRecognizer alloc] initWithTarget:self action:@selector(handleSwipeFrom:)];
    [recognizer setDirection:(UISwipeGestureRecognizerDirectionRight)];
    [[self view] addGestureRecognizer:recognizer];
    recognizer = [[UISwipeGestureRecognizer alloc] initWithTarget:self action:@selector(handleSwipeFrom:)];
    [recognizer setDirection:(UISwipeGestureRecognizerDirectionLeft)];
    [[self view] addGestureRecognizer:recognizer];
    self.searchField.delegate = self;
    //ETActivityIndicatorView
    etActivity = [[ETActivityIndicatorView alloc] initWithFrame:CGRectMake(0.0f, 0.0f, 60.0f, 60.0f)];
    etActivity.center=self.view.center;
    //you can set your custom color for ETActivityIndicatorView
    etActivity.color = [UIColor colorWithRed:13.0/255 green:136.0/255 blue:236.0/255 alpha:1.0f];
    [self.view addSubview:etActivity];
}
-(void)handleSwipeFrom:(UISwipeGestureRecognizer *)recognizer {
    if (recognizer.direction == UISwipeGestureRecognizerDirectionRight) {
        NSLog(@"Swipe Right");
          [webView goBack];
    }
    if (recognizer.direction == UISwipeGestureRecognizerDirectionLeft) {
        NSLog(@"Swipe Left");
         [webView goForward];
    }
}
#pragma mark - RNGridMenuDelegate
- (void)gridMenu:(RNGridMenu *)gridMenu willDismissWithSelectedItem:(RNGridMenuItem *)item atIndex:(NSInteger)itemIndex {
    if (itemIndex == 0) {
        NSLog(@"Reload");
        [self.webView reload];
    }
    if (itemIndex == 1) {
        NSLog(@"Facebook");
        if([SLComposeViewController isAvailableForServiceType:SLServiceTypeFacebook]) //check if Facebook Account is linked
        {
            mySLComposerSheet = [[SLComposeViewController alloc] init]; //initiate the Social Controller
            mySLComposerSheet = [SLComposeViewController composeViewControllerForServiceType:SLServiceTypeFacebook]; //Tell him with what social plattform to use it, e.g. facebook or twitter
            [mySLComposerSheet setInitialText:[NSString stringWithFormat:@""]]; //the message you want to post
                       [self presentViewController:mySLComposerSheet animated:YES completion:nil];
        }
        [mySLComposerSheet setCompletionHandler:^(SLComposeViewControllerResult result) {
            switch (result) {
                case SLComposeViewControllerResultCancelled:
                    break;
                case SLComposeViewControllerResultDone:
                    break;
                default:
                    break;
            } //check if everything worked properly. Give out a message on the state.
        }];
    }
    if (itemIndex == 2) {
        if ([SLComposeViewController isAvailableForServiceType:SLServiceTypeTwitter])
        {
            SLComposeViewController *tweetSheet = [SLComposeViewController
                                                   composeViewControllerForServiceType:SLServiceTypeTwitter];
            [tweetSheet setInitialText:@""];
            [self presentViewController:tweetSheet animated:YES completion:nil];
        }
    }
    if (itemIndex == 3) {
        NSLog(@"Home");
        MyWebViewController *MainView = [self.storyboard instantiateViewControllerWithIdentifier:@"MainView"];
        [self presentViewController:MainView animated:NO completion:nil];
    }
}
- (void)showList {
    NSInteger numberOfOptions = 4;
    NSArray *options = @[
                         @"Reload",
                         @"Facebook",
                         @"Twitter",
                         @"Home",
                         ];
    RNGridMenu *av = [[RNGridMenu alloc] initWithTitles:[options subarrayWithRange:NSMakeRange(0, numberOfOptions)]];
    av.delegate = self;
    av.itemFont = [UIFont boldSystemFontOfSize:18];
    av.itemSize = CGSizeMake(150, 55);
    [av showInViewController:self center:CGPointMake(self.view.bounds.size.width/2.f, self.view.bounds.size.height/2.f)];
}
- (IBAction)onShowButton:(id)sender {
    [self showList];
}
![enter image description here][1]
 
     
     
     
     
    