This is a tutorial on how to implement a custom transition between two ViewControllers, animating a CollectionViewCell into an ImageView of a ViewController. Below you may see how it looks like. Or check the HD videos here with better quality and precision.

Note: For presentation purpose the animation duration is a lot longer than should be on production.

Few notes before we start

This tutorial was written with an assumption that the reader may not have any prior experience with Custom Transitions. You should be familiar with Swift development. Just to set the right expectations, it is relatively hard to implement Custom Transitions. So in case, you find issues implementing it in your own project, be patient and try hard :)…


Be empathetic. Communicate in a way that makes it feels like you’re right next to the person.


I decided to write this article to share the tips I learned from my experience of working remotely. These tips can be useful for freelancers, remote workers, startup teams without an office and even for those working in an office since you may also use chats or do Home Office (Work from home).

I have some experience of working remotely (e.g, as a freelancer or for startups). But most of the time, it was a combination of working with a team in the…


As developers, we are working with the code a lot. And code eventually is just a text (okay 😄, we all know it is not “just a text”). I often notice that developers are not using keyboard features to edit and write text faster.

So I would like to share with you 5 features that I use the most. Why only 5? Even 5 might be a lot. But to create a habit that stays with you, it’s better to start from something small. Anyway, habit creation is a big and different topic. So let’s dive 🏊 in!

Feature 1. Jump to end/start.


This is a practical guide with 23 tips on how to find an apartment in Munich. If you are looking for a flat in Munich like I did, I think this is the right place :)

A short background about me

I recently moved to Munich and had the challenge to find an apartment. Why it is a challenge, well, most likely if you are reading this you may probably know that it is considered as “hard” to find an apartment in Munich. Since “hard” is a comparative word let’s omit it and jump right into the main topic of this article.

Before starting to…

Problem and Motivation

You may probably know about UIKit’s UIBlurEffect. But the problem is that sometimes design 👩‍🎨 requires a blur with intensity, opacity or color that is different from the only 3 non-customizable blur effects that Apple provides.

The motivation is to use the advantage of UIKit’s blur effect to implement a fairly “custom” blur effect of different colors and alpha values as you may see in the design below.

What UIKit provides

UIBlurEffect has only 3 styles: .extraLight, .light, .dark. Here are the examples of how they look:

Demo of circled image in Navigation Bar


This 5-steps tutorial shows the implementation of an image which resizes according to the height of navigation bar with a large title (iOS 11). You may see the demo above ☝️.

Let’s jump right into coding 👨‍💻!

Step 1. Creating an image

Declare a property in a class scope:

Note: it could also be a UIButton or anything that is a subclass of UIView.

Step 2. Add Constants

Your design is unique 🦄: add a Constants structure with your custom sizes and margins. Just copy&paste the code below into the class scope and edit according to your designs:

Note: I recommend reading the descriptions to properties to…

ZSH in action

This short tutorial is meant for the beginning developers who are learning what terminal is and how to use it in the process of apps development.
- scroll down to find “Step by step instructions” of ZSH installation.

Let’s start with the terminology. By default, Bash shell is used in your terminal. Shell named ZSH is an alternative shell for your terminal.

The shell is a command line interface you interact with. Examples of shells are BASH, CSH, and ZSH. The shell takes hand-typed commands and tells the operating system to execute them. …

Tung Fam

iOS Developer at Revolut. @TyHnec on Twitter.

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