Event Full Template iOS with WordPress Backend

Your complete Event app for iPhone.

We have combined our popular Event app template with a simple, easy to use backend based on WordPress. Which means we have a complete app for you event, that combines all the best event features you need in an app, with a easy to set up WordPress CMS backend (and includes an API to send data to your template). What does that mean? You get a complete Event app, real quick. And get this – it uses the same WordPress CMS as our Event Android app template. Set up the backend once, and have iOS and Android apps running off the same API and data. Bang.

Enter your content for your Events through the easy to use WordPress CMS. You can add in events with pictures, descriptions, google map location and ticket links. They’ll then show up immediately in your app. Want a social feed of your events Facebook page, twitter and Instagram? Easy, add in your event’s Social feeds URLs to the template, run the app, and you have a social feed immediately of what’s happening in your app. It’s got heaps of other cool features too like favouriting events, a personal event calendar and more.

This isn’t done with hacky HTML5 or some web based cross-platform solution. It’s native Objective-C code, that gives the best UX, with a JSON data feed courtesy of the WordPress API. Awesome.

So get rid of annoying printed event guides and get your event into the 21st century. The Event full app is ready to build in Xcode. Impress your attendees and get your event mobile – perfect for conferences, fashion shows, all types of festivals.

app-store

 

We’ll set up your WordPress Backend, when you get a Developer Licence.

We’re offering a service to set up your WordPress Backend on your own domain, install the Event plugins in it, and add the the web service URL to the app code. Which means you get your event app up and running with no coding. Just purchase the Developer License, and email us your website’s FTP and cpanel details. Easy as!

 

Get Event Android as well and save.

Event Android with WordPress and Event iOS with WordPress are build to work together off the same API, so save money and buy them as a set. Just add them both to your cart and you will automatically get these discounts:

Single License
Event Android with WordPress + Event iOS with WordPress $499 (SAVE $99)

use coupon at checkout: wp-combo-standard

To automatically add the discount coupon to your cart, add the two templates to your cart, then visit http://myapptemplates.com/wp-combo-standard

Developer License
Event Android with WordPress + Event iOS with WordPress $749 (SAVE $149 and we set up the backend for you)

use coupon at checkout: wp-combo-dev

To automatically add the discount coupon to your cart, add the two templates to your cart, then visit http://myapptemplates.com/wpcombodev

 

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 including WordPress Setup instructions

Note: WordPress Admin console requires the free WordPress Events Manager plugin. If you want to include ticketing, then you will need to purchase and install the WordPress Event Manager Pro plugin ($75).

myapptemplates Event Full Template iOS with WordPress Backend

Your complete Event app for iPhone. We have combined our popular Event app template with a simple, easy to use backend based on WordPress. Which means we have a complete app for you event, that combines all the best event features you need in an app, with a easy to set up WordPress CMS backend (and […]

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

Program Overview Screen - Event data from your Wordpress CMS

Social Media Feed View from Facebook, Instagram and Twitter APIs

Calendar View - with Event details

Favourites View - User selected favourites

Ticket View - Purchase tickets within the App

Event Overview Screen - Including Apple Map location

Map View

Wordpress Backend - Easy Event uploading and editing

Code Snippet

//
//  FeedViewController.m
//  Events
//
//  Copyright (c) 2014 MyAppTemplates. All rights reserved.
//

#import "FeedViewController.h"
#import "FeedCustomCell.h"
#import "SecondFeedCustomCell.h"
#import "ThirdFeedCustomCell.h"

@interface FeedViewController ()
{
    // NSMutableArray *arrFeedImages;
    NSMutableArray *dicTweetFeed;
    NSMutableArray *dicImageFeed;

}

@end

@implementation FeedViewController

- (id)initWithStyle:(UITableViewStyle)style
{
    self = [super initWithStyle:style];
    if (self) {
        // Custom initialization
    }
    return self;
}

- (void)viewDidLoad
{
    [super viewDidLoad];
    
    [self dicDummyDataInitialization];
    //arrFeedImages=[[NSMutableArray alloc] initWithObjects:@"pic.png",@"image1.png",@"image2.png", nil];

    // Uncomment the following line to preserve selection between presentations.
    // self.clearsSelectionOnViewWillAppear = NO;
 
    // Uncomment the following line to display an Edit button in the navigation bar for this view controller.
    // self.navigationItem.rightBarButtonItem = self.editButtonItem;
}
-(void)dicDummyDataInitialization{
    //dic initilization for dummy data start
    dicTweetFeed = [[NSMutableArray alloc] init];
    NSDictionary *tweetFeedItem = [[NSDictionary alloc] initWithObjects:[[NSArray alloc] initWithObjects:@"pic.png",@"Joanna Summer",@"@JoannaS",@"https://twitter.com/BCCI",@"This fashion show will beautiful, I will present what do you think?",@"9013",@"https://twitter.com/BCCI", nil] forKeys:[[NSArray alloc] initWithObjects:@"image",@"userName",@"userId",@"userLink",@"tweet",@"comments",@"commentsLink", nil]];
    [dicTweetFeed addObject:tweetFeedItem];
    tweetFeedItem = [[NSDictionary alloc] initWithObjects:[[NSArray alloc] initWithObjects:@"secondpic.png",@"Emily Fettel",@"@Emif",@"https://twitter.com/BCCI",@"many excellent people in fashion, I will write on my blog",@"331",@"https://twitter.com/BCCI", nil] forKeys:[[NSArray alloc] initWithObjects:@"image",@"userName",@"userId",@"userLink",@"tweet",@"comments",@"commentsLink", nil]];
    [dicTweetFeed addObject:tweetFeedItem];
    
    
    dicImageFeed=[[NSMutableArray alloc] init];
    
    NSDictionary *imageFeedItem = [[NSDictionary alloc] initWithObjects:[[NSArray alloc]initWithObjects:@"feedviewCell1.png",@"https://twitter.com/search?q=fashion%20week&src=typd", nil] forKeys:[[NSArray alloc] initWithObjects:@"image",@"link", nil]];
    [dicImageFeed addObject:imageFeedItem];
    imageFeedItem = [[NSDictionary alloc] initWithObjects:[[NSArray alloc] initWithObjects:@"feedviewCell2.png",@"https://twitter.com/search?q=fashion%20week&src=typd", nil] forKeys:[[NSArray alloc] initWithObjects:@"image",@"link", nil]];
    [dicImageFeed addObject:imageFeedItem];
    imageFeedItem = [[NSDictionary alloc] initWithObjects:[[NSArray alloc] initWithObjects:@"feedviewCell3.png",@"https://twitter.com/search?q=fashion%20week&src=typd", nil] forKeys:[[NSArray alloc] initWithObjects:@"image",@"link", nil]];
    [dicImageFeed addObject:imageFeedItem];
    imageFeedItem = [[NSDictionary alloc] initWithObjects:[[NSArray alloc] initWithObjects:@"feedviewCell4.png",@"https://twitter.com/search?q=fashion%20week&src=typd", nil] forKeys:[[NSArray alloc] initWithObjects:@"image",@"link", nil]];
    [dicImageFeed addObject:imageFeedItem];
    imageFeedItem = [[NSDictionary alloc] initWithObjects:[[NSArray alloc] initWithObjects:@"feedviewCell5.png",@"https://twitter.com/search?q=fashion%20week&src=typd", nil] forKeys:[[NSArray alloc] initWithObjects:@"image",@"link", nil]];
    [dicImageFeed addObject:imageFeedItem];
    imageFeedItem = [[NSDictionary alloc] initWithObjects:[[NSArray alloc] initWithObjects:@"feedviewCell6.png",@"https://twitter.com/search?q=fashion%20week&src=typd", nil] forKeys:[[NSArray alloc] initWithObjects:@"image",@"link", nil]];
    [dicImageFeed addObject:imageFeedItem];
    //dic initilization for dummy data end
}

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

#pragma mark - Table view data source

- (NSInteger)numberOfSectionsInTableView:(UITableView *)tableView
{
   // Return the number of sections.
    return 1;
}

- (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section
{

    return dicTweetFeed.count+(dicImageFeed.count%3==0?dicImageFeed.count/3:dicImageFeed.count/3+1);
}

- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
{
    
    if (indexPath.row%2==0) {
        static NSString *CellIdentifier = @"";
        if((indexPath.row/2)%2==0)
        {
            CellIdentifier = @"FeedCustomCell";
        }
        else
        {
            CellIdentifier = @"ThirdFeedCustomCell";
        }
        
        FeedCustomCell *cell = [tableView dequeueReusableCellWithIdentifier:CellIdentifier forIndexPath:indexPath];
        if(!cell)
        {
            cell = [[FeedCustomCell alloc] initWithStyle:UITableViewCellStyleSubtitle reuseIdentifier:CellIdentifier];
        }
        cell.imgMainImage.image=[UIImage imageNamed:[[dicTweetFeed objectAtIndex:indexPath.row/2] valueForKey:@"image"]];
        cell.lblTweet.text=[[dicTweetFeed objectAtIndex:indexPath.row/2] valueForKey:@"tweet"];
        cell.lblUserName.text=[[dicTweetFeed objectAtIndex:indexPath.row/2] valueForKey:@"userName"];
        cell.btnUserId.titleLabel.text=[[dicTweetFeed objectAtIndex:indexPath.row/2] valueForKey:@"userId"];
        
        cell.lblViewComment.text=[NSString stringWithFormat:@"View other %@ comments",[[dicTweetFeed objectAtIndex:indexPath.row/2] valueForKey:@"comments"]];
        
        return cell;

    }else if (indexPath.row%2!=0){
        static NSString *CellIdentifier = @"SecondFeedCustomCell";
        SecondFeedCustomCell *cell = [tableView dequeueReusableCellWithIdentifier:CellIdentifier forIndexPath:indexPath];
        if(!cell)
        {
            cell = [[SecondFeedCustomCell alloc] initWithStyle:UITableViewCellStyleSubtitle reuseIdentifier:CellIdentifier];
        }
        if(dicImageFeed.count>=0+(indexPath.row/2)*3)
           [cell.btnOne setImage:[UIImage imageNamed:[[dicImageFeed objectAtIndex:indexPath.row/2*3] valueForKey:@"image"]] forState:UIControlStateNormal];
        if(dicImageFeed.count>=1+(indexPath.row/2)*3)
            [cell.btnTwo setImage:[UIImage imageNamed:[[dicImageFeed objectAtIndex:1+(indexPath.row/2)*3] valueForKey:@"image"]] forState:UIControlStateNormal];
        if(dicImageFeed.count>=2+(indexPath.row/2)*3)
            [cell.btnThree setImage:[UIImage imageNamed:[[dicImageFeed objectAtIndex:2+(indexPath.row/2)*3] valueForKey:@"image"]] forState:UIControlStateNormal];
        
        return cell;
        
    }
    return Nil;
}

/*
// Override to support conditional editing of the table view.
- (BOOL)tableView:(UITableView *)tableView canEditRowAtIndexPath:(NSIndexPath *)indexPath
{
    // Return NO if you do not want the specified item to be editable.
    return YES;
}
*/

/*
// Override to support editing the table view.
- (void)tableView:(UITableView *)tableView commitEditingStyle:(UITableViewCellEditingStyle)editingStyle forRowAtIndexPath:(NSIndexPath *)indexPath
{
    if (editingStyle == UITableViewCellEditingStyleDelete) {
        // Delete the row from the data source
        [tableView deleteRowsAtIndexPaths:@[indexPath] withRowAnimation:UITableViewRowAnimationFade];
    }   
    else if (editingStyle == UITableViewCellEditingStyleInsert) {
        // Create a new instance of the appropriate class, insert it into the array, and add a new row to the table view
    }   
}
*/

/*
// Override to support rearranging the table view.
- (void)tableView:(UITableView *)tableView moveRowAtIndexPath:(NSIndexPath *)fromIndexPath toIndexPath:(NSIndexPath *)toIndexPath
{
}
*/

/*
// Override to support conditional rearranging of the table view.
- (BOOL)tableView:(UITableView *)tableView canMoveRowAtIndexPath:(NSIndexPath *)indexPath
{
    // Return NO if you do not want the item to be re-orderable.
    return YES;
}
*/

/*
#pragma mark - Navigation

// In a story board-based application, you will often want to do a little preparation before navigation
- (void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender
{
    // Get the new view controller using [segue destinationViewController].
    // Pass the selected object to the new view controller.
}

 */

@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!