UIScrollView has gone through some major improvements. Starting with iOS 11, Apple introduced content and frame layout guides to make it a little less confusing to configure the content inside of your scroll view. Xcode 11 also added these layout guides to interface builder. Today, I’ll show you how to use content and frame layout […]
Recently, Apple introduced Dark Mode–an alternative color scheme that darkens the user interface. In this blog post, I will show you how you can disable Dark Mode in your application until you can add support for it.
Perhaps you have heard of the Model View Controller (MVC) pattern in iOS, also known as “Mostly View Controller.” It got this name because, without much effort, your UIViewController code can get very large. In this blog post, I will show you how using container views and ReSwift (a Redux implementation in Swift) can be […]
The best way to increase your iOS App Store rating is to get more people to rate your app. It is a fact of human nature that the only people who go out of their way to write a review or a rating are the ones who are not pleased with your app. If you […]
When you use the WKWebView control to render a web page in your iOS application, it doesn’t come with the usual browser controls that users may expect. It renders the webpage without a toolbar or functions like Back, Forward, or Reload. I’m going to show you how to use the iOS UIRefreshControl to reload a […]
As I age, my ability to see small text on my iPhone gets worse. The Dynamic Type feature allows iPhone users to make the text larger on their iPhones. In this blog post, I will show you how to get Dynamic Type to work with a static UITableView.
The design for a recent project called for the contents of the popover view to be emphasized prominently. Specifically, the design wanted all the views behind the popover to be dimmed. By default, iOS will put a radial gradient around the popup to draw attention to it, but I needed something more. In this blog […]
When you create a new project in Xcode, you’re given the option of including two types of tests: Unit Tests and UI Tests. But I’ve often wished that these two weren’t mutually exclusive. There have been times when I’ve wanted to test UI components in isolation, but I wasn’t sure how feasible it was, or […]
On a recent project, I had to add a gradient background to a UINavigationBar. At first, I thought it would be easy, but I soon discovered a problem when I rotated my device to landscape orientation and the gradient on the navigation bar did not resize.
The fifth item in my Swift Tool Belt is a class derived from UIButton that will draw your button with a gradient background. It will also expose the colors of your gradient in the attributes inspector of Xcode and render the gradient button directly in your storyboard.