EatIn Template iOS

Build the next Seamless with this killer food delivery iOStemplate.

Food delivery is one of those things that iPhones are so good at. iPhones are super easy to use, can remember your payment details and know your location, so a great food delivery app is a delicious win! Now we’ve made it easy for you to build one for yourself. Slick UI, including a cool custom animated slide menu, great intuitive tableviews that show off menus and restaurants info, and a nice looking shopping cart front end. Build the next GrubHub now!

What’s included in this download

  • App Template Xcode project written in native Objective-C
  • Original layered Adobe Photoshop .psd files you can edit
  • 25+ Sliced .png files
  • Documentation
myapptemplates EatIn Template iOS

Build the next Seamless with this killer food delivery iOStemplate. Food delivery is one of those things that iPhones are so good at. iPhones are super easy to use, can remember your payment details and know your location, so a great food delivery app is a delicious win! Now we’ve made it easy for you […]

  • License Details
  • XCode Sample Project
  • .PSD files
  • Retina support
  • .PNG Artwork
  • iOS 10 optimised
Our iOS and Android app templates are a perfect place to start building awesome apps. Get a functional native code base, eye-catching beautiful artwork with excellent UX, icon artwork and documentation. Make your app so beautiful it can't be ignored

Splash screen

Intuitive Simple Intro Menu

Custom Slide Panel Menu

Restaurants Table view

Intricate Restaurant Detail View

Shopping Cart View

Code Snippet

//
//  HomeViewController.m
//  Eatin
//
//  Copyright (c) 2014 MyAppTemplates. All rights reserved.
//

#import "HomeViewController.h"
#import "ResultsViewController.h"

#define defaultTextString @"Enter your address"
#define ShowResultsSegueIdentifier @"showResults"

@interface HomeViewController ()<UITextFieldDelegate>

@end

@implementation HomeViewController

- (id)initWithNibName:(NSString *)nibNameOrNil bundle:(NSBundle *)nibBundleOrNil
{
    self = [super initWithNibName:nibNameOrNil bundle:nibBundleOrNil];
    if (self) {
        // Custom initialization
    }
    return self;
}

- (void)viewDidLoad
{
    [super viewDidLoad];
	// Do any additional setup after loading the view.
    
    self.homeBgImage.image=[UIImage imageNamed:IS_IPHONE_5?@"home_bg.png":@"home_bg_5.png"];
    

    [self setupFonts];
    
    [self addCustomNavBarOfType:kNavHome withTitle:@""];
}

-(void)setupFonts{
    self.btnOrderNow.titleLabel.font=UBUNTU_BOLD(18.0);
    self.txtAddress.font=UBUNTU_LIGHT(17.0);
}



#pragma mark - 
#pragma mark Actions

- (IBAction)activateGPSAction:(id)sender {
}

- (IBAction)orderNowAction:(id)sender {
    
    [self performSegueWithIdentifier:ShowResultsSegueIdentifier sender:self];

}




#pragma mark -
#pragma mark TextField Delegate

-(BOOL)textFieldShouldReturn:(UITextField *)textField{
    
    [textField resignFirstResponder];
    
    //If no input put back the default string
    if(textField.text.length==0){
        textField.text=defaultTextString;
    }
    
    //Scroll down to the original position
    CGPoint pt;
    pt.x=0.0;
    pt.y=0.0;
    
    [self.scrollView setContentOffset:pt animated:YES];

    return YES;
}

-(BOOL)textFieldShouldBeginEditing:(UITextField *)textField{

    //Scroll the scroller up when textfield in focus
    
    if([textField.text isEqualToString:defaultTextString]){
        textField.text=@"";
    }
    
    CGRect bounds=[textField bounds];
    
    bounds=[textField convertRect:bounds toView:self.scrollView];
    
    CGPoint pt;
    pt.x=0.0;
    pt.y=bounds.origin.y-(IS_IPHONE_5?150.0:80.0); //We don't want to move to the top, so decrease the position to just above the keyboard.
    
    [self.scrollView setContentOffset:pt animated:YES];
    
    return YES;
}


#pragma mark -
#pragma mark UIStoryboardSegue Actions

-(BOOL)shouldPerformSegueWithIdentifier:(NSString *)identifier sender:(id)sender{
    //Disabling automatic segue call to pass object to destination
    return NO;
}

-(void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender{
    //Manually Called.
    
    //If segue has been called from menu we want to skip the object passing..
    if(!self.calledFromMenu){
        ResultsViewController *controller=(ResultsViewController *)segue.destinationViewController;
        if([self.txtAddress.text isEqualToString:defaultTextString])
            controller.address=@"";
        else
            controller.address=self.txtAddress.text;
    }
    
    
}



- (void)didReceiveMemoryWarning
{
    [super didReceiveMemoryWarning];
    // Dispose of any resources that can be recreated.
}

@end

Template Benefits

  • iOS 10 ready
  • iPhone 5/6/7/7+ ready
  • Beautiful, minimal design with excellent UX flow
  • Ready to run right away in Xcode 8
  • Prebuilt functionality saves you hundreds of hours of designing, programming, and testing
  • Customise the template in Xcode to build your own app
  • Adheres to Apple’s strict Human Interface Guidelines for easier app approval
  • The easiest way to create your own app!