Book Image

iOS Programming Cookbook

By : Hossam Ghareeb
Book Image

iOS Programming Cookbook

By: Hossam Ghareeb

Overview of this book

Do you want to understand all the facets of iOS programming and build complex iOS apps? Then you have come to the right place. This problem-solution guide will help you to eliminate expensive learning curves and focus on specific issues to make you proficient at tasks and the speed-up time involved. Beginning with some advanced UI components such as Stack Views and UICollectionView, you will gradually move on to building an interface efficiently. You will work through adding gesture recognizer and touch elements on table cells for custom actions. You will work with the Photos framework to access and manipulate photos. You will then prepare your app for multitasking and write responsive and highly efficient apps. Next, you will integrate maps and core location services while making your app more secure through various encryption methods. Finally, you will dive deep into the advanced techniques of implementing notifications while working with memory management and optimizing the performance of your apps. By the end of the book, you will master most of the latest iOS 10 frameworks.
Table of Contents (22 chapters)
iOS Programming Cookbook
About the Author
About the Reviewer
Customer Feedback

Animating shapes drawn with UIBezierPath

In iOS, you can use UIBezierPath to draw vector-based paths and use these paths to create shapes. With UIBezierPath, you can draw lines, curves, ovals, ellipses, and any complex shapes by combining them with subpaths. In this section, we will see how to create paths with UIBezierPath and build shape layers to animate them.

Getting ready

In the upcoming demo, we will draw a custom circular progress bar that can be animated with a percentage given like 50%, 80%, and so on.

How to do it...

  1. Let's create a new Xcode project with the Single View Application template with the name BezierPath.

  2. The circular progress bar will consist of two layers: a fixed layer that will be added as a background for the progress bar and a progressive layer that will be animated.

  3. Now let's create a function that creates a circular layer so that we can reuse it for both layers. Add the following function in ViewController.swift:

          private func getShapeLayerForRect(rect:CGRect,...