First Time App Developer Success Stories Part 2: From Zero iOS Programming Experience to Launching Their First Apps

You may have read some app millionaire stories that earn tons of money overnight. But you rarely find stories about app developers who are less successful. Recently I reached out to a number of first time app developers and asked them to share their app development experience. To me their stories are equally amazing and I have learnt so much from them. These developers are all started from zero iOS programming experience and end up with their apps launched on App Store. A couple weeks ago I shared the first part of the success stories. Here comes to the part 2.

Some people think it’s hard to create their first apps because they get a big idea. Most of them only see the “million-dollar ideas” and want to hit big when the app launches. That’s unreal and you’ll easily get frustrated if your expectation is too high. The truth is you don’t need to have a grand idea and set high expectation when first started. The developers featured in this post just started small and built their first apps around a simple idea they cared about, be it a recipe app or a game book.

Once again, I’m really proud to showcase their works. Enjoy their stories and app development experience. If you’re still struggled about how to learn iOS programming and make your first app, you’ll probably inspired by their stories.

[Read more...]

iOS Programming 101: How To Create Circular Profile Picture and Rounded Corner Image

One of the changes in iOS 7 is that it favors the use of circular image over square image. You can find circular icons or images in stock apps such as Contacts and Phone. In this short post, we’ll explore the CALayer class and see how you can apply it to create circular image or image with rounded corner.

You may not heard of the CALayer class. But you should have used it in some ways if you’ve built an app. Every view in the UIKit (e.g. UIView, UIImageView) is backed by an instance of the CALayer class (i.e. layer object). The layer object is designed to manage the backing store for the view and handles view-related animations.
The layer object provides various attributes that can be set to control the visual content of the view such as:

  • Background color
  • Border and border width
  • Shadow color, width, etc
  • Opacity
  • Corner radius

The corner radius is the attribute that we’ll use to draw rounded corner and circular image.

Circular Image using calayer

As always, the best way to understand how CALayer works is to use it. We’ll create a simple profile view with a circular profile photo.

[Read more...]

First Time App Developer Success Stories Part 1: From Zero iOS Programming Experience to Launching Their First Apps

“I got a great idea and want to build an app!”

How many times have you heard of this? I heard quite a lot. But only a few people fire up Xcode and take action to build their own apps. Most of them may just say,

“Programming is too difficult for me!”

“I do not have time to learn programming!”

“Let me finish X first and wait for some day to start building my apps.”

These first time app developers featured in this post are those who put the hard work in and turn their idea into real apps. Above all, they are committed to take action. When they first get started, most of them do not have any prior programming experience. They learnt iOS programming by following the materials in our iOS programming book or tutorials in the iOS programming course, as well as, other resources available online.


Their apps may not attract millions of downloads or make tons of money. But to me, as someone who teaches, all the first apps covered here are a great success. I’m really proud to showcase their works. Enjoy their stories and app development experience.
[Read more...]

iOS Programming 101: Adding Section and Index List in UITableView

Recently, a reader asked me how to add an index list in a UITableView. As some of you may have the same question, I thought it’s better to write a post to share the solution. An indexed table view is more or less as the plain-styled table view that we’ve covered at the very beginning of our iOS programming course. The only difference is that it includes an index on the right side of the table view. Indexed table is very common in iOS apps. The most well-known example is the built-in Contacts app on iPhone. By offering an index scrolling, users are allowed to access a particular section of the table instantly without scrolling through each section.

If you’ve followed our UITableView tutorial, you should know how to implement an UITableView. Basically, to add sections and an index list in the UITableView, you need to deal with these methods as defined in UITableViewDataSource protocol:

  • numberOfSectionsInTableView: method – returns the total number of sections in the table view. Usually we set the number of section to 1. If you want to have multiple sections, set this value to a larger number.
  • titleForHeaderInSection: method – returns the header titles for different sections. This method is optional if you do not assign titles for the section.
  • numberOfRowsInSection: method – returns the total number of rows in a specific section
  • cellForRowAtIndexPath: method – this method shouldn’t be new to you if you know how to display data in UITableView. It returns the table data for a particular section.
  • sectionIndexTitlesForTableView: method – returns the indexed titles that appear in the index list on the right side of the table view. For example, you can return an array of strings containing “A” to “Z”.
  • sectionForSectionIndexTitle: method – returns the section index that the table view should jump to when user taps a particular index.


There’s no better way to explain the implementation than showing an example. As usual, we’ll build a simple app together and you should get a better idea of index list in a minute.
[Read more...]

Announcing Our First AppCoda Book – Learn iOS 7 Programming from Scratch

I got something big to share with you. Our very first AppCoda book – Learn iOS 7 Programming from Scratch is now live and ready for purchases!

If you’re a follower of our blog, you know we encourage the “Get Your Hands Dirty” way (or what-so-called “Learning by Doing” approach) to study programming. Learning a new programming language is quite similar to learning a foreign language. You can’t just read a book and teach yourself Spanish (or any other languages). You have to practice, practice and practice! That’s the same for studying a new programming language.

This 400-page book is written with that in mind and based on our popular programming course. The book starts with the basics and walk you through the process to create iOS apps using iOS 7 SDK and Xcode 5. After you learn how to build a simple iPhone app, you’ll learn how to master table view and build a simple recipe app. Each chapter you’ll learn something more advanced than the one before.

Learn iOS 7 Programming from Scratch

Programming should be fun to learn. I tend not to bore you with programming concepts. Instead, you’ll get lots of hands-on exercises and create loads of apps in this 30-chapter book. You’ll need to code, debug and build some real apps. There are a lot of works to do but it would be a fantastic experience and you’ll master the fundamentals of iOS 7 programming along the way.

[Read more...]

How To Implement Search Bar in iOS 7 Using Storyboard

Editor’s note: Like some of the programming tutorials, you may find the search bar tutorial no longer works in Xcode 5 and iOS 7. We’ve rewritten the tutorial to make it compatible with the latest version of Xcode. On top of that, we enhance the tutorial with custom table cell.

Enter the search bar tutorial.

In most of the iOS apps using table view, it is common to have a search bar at the very top of the screen. How can you implement a search bar for data searching? In this tutorial, we will see how to add a search bar to the recipe app. With the search bar, we’ll enhance the recipe app to let users search through the recipe list by specifying a search term.

Well, it’s not difficult to add a search bar but it takes a little bit of extra work. As usual, we’ll walk you through the concept and implementation by building a sample app. As our focus is on the search bar implementation, you can download this project template to start with. The template is similar to the app we built in the tab bar tutorial.

iOS 7 Search Bar
[Read more...]

Working with UITableView in Xcode 5 Using Storyboard

When we first started the iOS programming course, we wrote a tutorial about UITableView and showed you how to create a simple table app using UITableView. This is one of our most popular tutorials. However, you may find it no longer works in Xcode 5. The latest version of Xcode promotes the use of Storyboard over Interface Builder. Storyboard is no longer an option when creating a new Xcode project. It’s the default. This is one of the reasons why you couldn’t follow the steps in the UITableView tutorial to create the app.

Anyway, we decide to completely update the table view tutorial for Xcode 5 and iOS 7. And here you are.

Enter the UITableView tutorial.

First, what’s a Table View in iPhone app? Table view is one of the common UI elements in iOS apps. Most apps, in some ways, make use of Table View to display list of data. The best example is the built-in Phone app. Your contacts are displayed in a table view. Another example is the Mail app. It uses Table View to display your mail boxes and emails. Not only designed for showing textual data, Table View allows you to present the data in the form of images. The YouTube and Airbnb apps are great examples for the usage.

Sample UITableView
[Read more...]

How To Use iBeacons in iOS 7 to Enhance Your Apps

Editor’s note: This week, we work with Chris Ching from Code With Chris to give you an introduction to iBeacons in iOS 7. Not only you’ll learn what iBeacon is, Chris will show you how to use iBeacons in your apps.

Surely you’ve heard of the nifty new feature in iOS 7 that lets your app gather location contextual information indoors where it can’t use GPS? If you haven’t, not to fear because we’re going to show you what it is and how you can use it in this article!

Beacon works over Bluetooth Low Energy (BLE) technology in your iPhone and as the name implies, it’s incredibly battery efficient. Going hand in hand with being low energy, it also has a short range of approximately 150 feet.

Real World Applications

The impact of having location sensitive information while indoors is already turning into real world applications. For example, Macy’s already has a pilot program underway where it has planted several beacons in different departments around the store. When a user passes by one of these departments and the companion app on their phone picks up the broadcast, it’ll open the app and display contextual information like promos, featured products and deals. Take a look at this short video to see iBeacons in action!

[Read more...]

How To Create UIPageViewController Using Storyboard

We’ve covered UIPageViewController before. The original tutorial demonstrates how to create UIPageViewController using Interface Builder. To make it compatible with iOS 7 and Xcode 5, we completely rewrite the whole tutorial. In addition, we’ll use Storyboard to create UIPageViewController.

For the very first time you launch an app, you’ll probably find a series of walkthrough (or tutorial) screens to give you a brief introduction of the features. It’s a common practice to explain how the app works. In this tutorial, we’ll show you how to build a similar type of walk through screens by using UIPageViewController.

The UIPageViewController class was first introduced in iOS 5 SDK that lets developers build pages of content, where each page is managed by its own view controller. The class was further improved in iOS 6 to support the scrolling transition. With page view, users can easily navigate between multiple pages through simple gesture. The page view controller is not limited to create walkthrough screens. You can find examples of page view implementation in games like Angry Birds to show the available levels or book apps to display pages of content.

Sample Page View Controller from UltraVisual

The UIPageViewController is a highly configurable class. You’re allowed to define:

  • the orientation of the page views – vertical or horizontal
  • the transition style – page curl transition style or scrolling transition style
  • the location of the spine – only applicable to page curl transition style
  • the space between pages – only applicable to scrolling transition style to define the inter-page spacing

We’ll create a simple app together in order to demonstrate how UIPageViewController works. However, we’ll not demonstrate every option of UIPageViewController. We’ll just use the scrolling transition style to display a series of walkthrough screens. Don’t worry. With the basic understanding of the UIPageViewController, I believe you should be able to explore other features in the page view controller.

Let’s get started.
[Read more...]

Announcing the iOS Game Starter Kit

Do you want to build your own app and make money on the side?

A year ago, we launched and started to publish extensive iOS programming tutorials. We love the hands-on approach to learn programming. So in every tutorial, we develop a simple app to illustrate the programming concept. We’re glad you love this approach.

We’ll continue to publish free programming tutorials. Today, however, I’d like to announce something new – the iOS Game Starter Kit. This starter kit is going to take your learning experience to the next level. The feedback of the tutorials and demo apps are awesome. But some said the tutorials are not good enough for building a complete app. They want to build a polished app and experience the app publishing process from beginning to end.

iOS Game Start Kit

The iOS Game Starter Kit is here for you.
[Read more...]