Top-notch video tutorials for Swift developers

Thousands of developers use NSScreencast to stay on top of iOS development.

ExxonMobil
Venmo
Thoughtbot
The Working Group
Medium

Updated Regularly

Bite-sized videos on iOS development.

The iOS landscape is large and changes often. With short, bite-sized videos released on a steady schedule, NSScreencast helps keep you continually up to date.

Up to date with Xcode 15 and iOS 17

We cover the latest and greatest to get you up to speed quickly.

UIKit, SwiftUI, SwiftData, and macOS

In our catalog you'll find a wide variety of topics and UI frameworks.

Swift Language

Increase your knowledge of the Swift language and take advantage of new Swift language features as they are developed.

High Quality Videos

We stress the details. Each screencast is carefully produced in HD quality.

Short and Focused

We don't want to waste your time. Most videos are between 10 and 20 minutes long.

Any Device

Stream on the web or use our native apps for iOS or the tv.

Team Plans

Get NSScreencast for your whole team. Discounts start at 5 seats
Steven Tolton

Have I mentioned lately how awesome NSScreencast is? No? Worth the subscription. Check it out if you’re an iOS developer. Or even if you’re not and you want an example of how to do coding screencasts well.

Foster Bass

Got tired of dead-end googling so I checked to see if @NSScreencast had covered what I was looking for. Of course he had, 4 years ago. Should have checked there first.

Aijaz Ansari

One 13-minute episode of @NSScreencast just paid for the yearly subscription fee in amount of time saved. Do it.

Sam Soffes

Seriously great stuff even for seasoned developers. I’ve learned a good amount from Ben’s videos.

James Dempsey

You can really expand your development horizons in just a few minutes a week with NSScreencast.

Alexis Gallagher

Random PSA for iOS developers: @NSScreencast is a great resource, and worth every penny. It’s high quality, practical, and honest.

Nate Armstrong

Can’t say enough good things about @NSScreencast There is gold in the Road Trip DJ Series.

Karl Oscar Weber

I just reuppped my subscription to @NSScreencast. [An] indespensible resource if you’re into iOS or Mac Development.

Marcus Ziadé

Just finished @NSScreencast series on Modern CollectionViews. Strongly recommended. Programmatic UI, nicely structured code, easily approachable explanation style. 👌

There are 25 episodes with tag 'core graphics'   Clear search
  • Gradient View

    #474

    Layout in Code

    One really useful UIView subclass I generally have on all my projects is a simple GradientView. You give it two colors and optionally some location values and it draws a gradient from top to bottom. In this episode we build this so that we can integrate a fade to black effect to overlay on top of the background image.

  • Tinting an Image Using Masks

    #406

    Sometimes we need to create variants of our icons. This can be done by using template images and using a UIImageView with a tintColor change, however sometimes this isn't feasible. We can use our icons along with a mask to create new images of whatever color we want. In this episode we'll use UIGraphicsImageRenderer to quickly draw a new dimmed image for a highlighted button state.

  • Padded Label and Separator View

    #393

    Making a Podcast App From Scratch

    In this episode we create some more custom @IBDesignable views, this time for a padded genre label where we use the intrinsicContentSize to make a label take up more space and give itself a little padding. We also create a separator view that draws a thin line to separate sections visually.

  • Custom Gradient Background

    #392

    Making a Podcast App From Scratch

    In this episode we create a custom UIView subclass that draws a gradient overlay. This allows us to overlap the podcast information above the artwork slightly.

  • Perspective Outlining

    #299

    Camera Capture and Detection

    We get smarter about drawing, this time leveraging a custom path so we can display non-rectangular outlines.

  • Working in AppKit

    #293

    Dive Into Core Graphics

    Core Graphics is a cross-platform technology, but there are some gotchas to consider when working on mac apps with AppKit. Sam will go over some of these differences to help you avoid some common pitfalls.

  • Watermarking Photos

    #292

    Dive Into Core Graphics

    In this episode we’ll learn how to draw images with core graphics, then watermark a photo by drawing text overlaid on top of it.

  • Pie Progress View

    #291

    Dive Into Core Graphics

    In this episode we’ll leverage what we've learned to create a reusable control that will show progress as a path outlining a circle, complete with animation.

  • Custom CALayer

    #290

    Dive Into Core Graphics

    In this video we’ll learn how to use custom drawing with CALayers to support implicit animations.

  • Offscreen Rendering

    #289

    Dive Into Core Graphics

    Occasionally you will want to do some custom drawing, but not have that presented directly on the screen. Sometimes this is to "bake" the drawing into an image for faster scrolling performance (a single flattened image can be sent to the GPU easily without having to composite a bunch of views together). This is also often used to resize images that are too large for the intended view. This episode covers drawing to a custom context offscreen and obtaining an image out of it.

  • Text

    #288

    Dive Into Core Graphics

    In this episode, Sam shows how to draw text using Core Graphics. With this technique you can easily add text to images for pre-rendering, a technique we will see in another episode in this series.

  • Images

    #287

    Dive Into Core Graphics

    Sam shows how to use Core Graphics to draw images, which you might want to do if you want to blend techniques we’ve seen so far, such as clipping paths or gradients. Drawing images with Core Graphics is also useful to resize images if needed (perhaps if the API is returning one that is too large and you want to cache a thumbnail on device). You’ll also learn about a handy function to help you with aspect ratio math!

  • Context Transforms

    #286

    Dive Into Core Graphics

    Transforms allow you to draw things rotated, moved, or scaled differently than you specified. You can use this technique to reuse drawing operations where they only differ by some small factor (like drawing lines on a graph), to tilt things like text, or to correct issues where the drawn element is upside down or sideways. In this episode, Sam shares a helpful technique of drawing a grid with a highlighted "origin square" to make it obvious what the transforms are doing.

  • Clipping Paths

    #285

    Dive Into Core Graphics

    Clipping paths allow you to control where drawing occurs by providing a path in which to limit future drawing operations. Since you can create arbitrary shapes with CGMutablePath (and UIBezierPath) this can be an essential technique to get the drawing effect in some situations.

  • Gradients

    #284

    Dive Into Core Graphics

    Gradients are slowly returning to be part of the common iOS design aesthetic once again (after iOS 7 introduced an entirely flat design paradigm). Subtle gradients can be used to create interesting designs, provide necessary contrast for drawing text on top of photos, and provide a realistic feel to custom controls. Learn how to create linear and radial gradients, how to define custom locations to control the position and "shape" of the gradient.

  • Colors

    #283

    Dive Into Core Graphics

    What are color spaces? Sam discusses the common color spaces you might use and what they are used for. Why would you use these methods instead of just using UIColor? If you want cross-platform compatible drawing code, you’ll want to know how this works.

  • Paths

    #282

    Dive Into Core Graphics

    Learn the basics of UIBezierPath and CGPathRef for representing drawing operations as a primitive type. Paths are incredibly useful to drawing and can be used to represent arbitrary lines, curves, and shapes.

  • Basic Shapes

    #281

    Dive Into Core Graphics

    Learn how to create basic shapes using Core Graphics. We’ll start by creating a playground that we can use to quickly see the results of our work.

  • Intro

    #280

    Dive Into Core Graphics

    Sam introduces the new series on Core Graphics, what to expect, and what the series covers.

  • Designing a Custom Download Button - Part 2

    #243

    Large File Downloads

    Wrapping up our custom download button, this time we focus on the highlighted image and depressed state of the button, as well as transitioning to and from the progress layer.

  • Designing a Custom Download Button - Part 1

    #242

    Large File Downloads

    In this episode we create a custom control to serve as our download button. We start by creating a circular progress indicator using CAShapeLayer, then move on to subclassing UIControl to provide our image view and touch handling.

  • Let's Build Activity++ - Part 4

    #226

    Let's Build Activity++!

    In this episode we examine the scrolling performance of our activity ring views. We see that framerate suffers when scrolling quickly, then apply a few changes to bring scrolling performance back to 60 frames per second.

  • Let‘s Build Activity++!

    #223

    Let's Build Activity++!

    Let‘s attempt to recreate Activity++, an application by _David Smith. The app features a number of interesting interface elements that would be interesting to try to build ourselves! In this part we'll start out by replicating the ring views for a given day.

  • How Bézier Paths Work

    #149

    Have you ever wondered how bezier paths work? What are the control points, and how exactly do they affect the line? In this episode we'll build our own visualization of how a bézier path is constructed to help understand it better.