Period Repeats will Schedule a Repeat of an Event or Notification According to a User-Specified Frequency.

AppsGym ToDo Remind Me Periodic Repeats


Our app will schedule a repeating Remind Me date/time notification, based on a user-specified frequency. The user should be able to select a cycle value from 1 to 12, and an interval value (minutes, hours, days, weeks, months, and years).


We shall utilise Swift’s UIPickerView with 2 picker wheels: a Cycle wheel (from 1 to 12), and an Interval wheel (Minutes, Hours, Days, Weeks, Months, and Years). Each picker wheel moves independently from the other, giving the user maximum flexibility.

The Repeat Pickers View…

Users Rate App Records by a 5-Star Rating System

AppsGym Books Rating Stars


Our app allows users to rate the records (books) using a similar setup to Amazon’s 5-star rating system. Each of the stars can either be empty (grey star) or filled (yellow star). The user can

Do nothing, leaving the 5 stars empty

Assign Rating Stars, from 1 to 5 (the number of filled yellow stars)

Clear the Rating Stars, if the user changes their mind after assigning stars

This article will replicate Amazon’s rating style (0, 1 to 5 stars), as our practical example is related to books. …

UITableView Leading and Trailing Swipe Menu Actions Allow Users to Either Apply Actions on Displayed Records or Navigate to a New View.

AppsGym Books Table View Showing Leading and Trailing Swipe Gesture Menus


Our app allows leading and trailing swipe gesture menu actions on the Books table view. The Leading actions will update a Core Data record field value in-place (within the table view). The Trailing actions will delete (in-place), edit (sequence to another view) or share (in-pace) a table row record.


We shall utilise Swif’s swipe action functions:

leadingSwipeActionsConfigurationForRowAt(), which controls the swipe right to left

trailingSwipeActionsConfigurationForRowAt(..), which controls the swipe left to right

where we define the menu options…

AppsGym Books App Ms. Chips Reading the Book Synopsis

Swift’s Text to Speech Synthesizer Can Speak Aloud the Contents of Text Fields and Views.


Our app will utilise a text to speech synthesizer (also, synthesiser), which we shall affectionately call Ms. Chips, in the Book Details view. Ms Chips will read aloud the text of the Synopsis field.


We shall utilise Swift’s AVSpeechSynthesizerDelegate functions, where the BookDetailsViewController, which contains the Synopsis field and Ms. Chips robot button, acts as the delegate.


The article is for Swift developers who seek complete, proven, code-centric solutions to speed up their development projects. …

Core Data Preload, of Sample Records, Populates the View at the App First Launch.

AppsGym Books App Core Data Preload vs Empty Table View


Our app will populate the initial view of the Books table view upon first app launch, in preference to an empty table view or a view with an image or animation to prompt the user to add records. This approach will also help the user explore the app features and functions for a great first impression.


We shall build the Core Data sample records before the view appears and after the view loads, then check if this is the app’s 1st launch, and if true, then…

UITableView Search Bar Filters Records by Multiple Criteria and Persists the Filter View When Branching Out.

Books UITableView Search Bar by Title, Author, and Series


Our app allows users to search for specific records (Books), using a search text string, by Book Title, Author, or Series. The search bar will have the following characteristics:

Dynamic, showing filtered records as the user types the text string.

Multiple Criteria, showing all books where the text string occurs in the Title, Author, or Series

Filter Persistence, where if a user selects a record, updates it, then returns to the table view, the table view will show the filtered records with the update.

Present a Visual Carousel Walkthrough Introduction at App First Launch


Our app will guide first time users through a carousel-like walkthrough, presenting pages (images with text overlays), swipe gestures and Next/Done buttons page controls.

The walkthrough will support the following:

Swipe Gestures, to move to the next page

Next Button, to move to the next page

Done Button, at the last page to end the walkthrough

This article will show a walkthrough of 3 pages (with minimal text), but in your app you can show as many pages as desired, and add relevant text and annotations. …

Spotlight Search Allows the User to Find Your App Records from the iPhone / iPad Native Search Bar

Spotlight Search Finding a Book in the 8Bookss App


Our app will allow users to add, or remove, specific record fields to, or from, the native iPhone / iPad Spotlight search. In our example of the Books app, the Book Title will be our Spotlight search term. The user can choose to add the title to Spotlight in the New Book or Edit Book views, and, optionally, remove the title from Spotlight in the Edit Book view.

Floating Pop-up Pickers Allow Users to Select from a Pre-Defined List, and Pass the Selected Value Back to the Calling View Controller.

Book Source Animated Floating Pop-Up Picker


Our app will allow users to launch a Pop-Up Picker, select from a list of values, then pass the selected value back to the original view. In our example, the New Book and Edit Book views contain 3 pop-up pickers: Genre, Source and Format. Genre covers the category of books (Thriller, Romance, etc.), Source covers the source or publisher (Amazon, Kobo, public library, etc.) and Format covers the medium (e-book, hardcover, etc.).

This article will focus on Source

Add an Animated, Floating Menu to Any View in Your App

Books Table View Showing the In-Place Sort Floating Menu


Our app will allow users to sort the Books table view by utilising an animated, floating menu. The menu is triggered by tapping a ‘hamburger’ menu button, and offers 4 sort in-place criteria: By Title, Author, Series, and (User) Rating.

Mazen Kilani

I published 47 Swift iOS apps/games and 2 Flutter Android apps. I share complete Xcode projects, free (no ads), at

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store