Three brilliant ways to style button with SwiftUI
Sep 23, 2021, 8:00 PM
Using mobile apps, we navigate to another view, calculate business expenses, or send a tweet by tapping on a button. SwiftUI makes it a breeze to construct a button. This time we will talk how to do it in three ways using the view modifier...
Exploring SwiftUI map custom annotations
Aug 24, 2021, 8:00 PM
We [explored](https://kristaps.me/blog/swiftui-mapview/) the Mapview in SwiftUI a while back. This time we will look into creating custom map annotations, the limitations, and how to overcome some of them. Placing annotations on the map,...
How to translate SwiftUI applications
Jul 9, 2021, 8:00 PM
Localizing our applications is more critical than we think. We usually stick with English as the primary language. Only 4.9% of the world’s 7.8 billion inhabitants speak English. Most of the people aren’t native English speakers. In the...
How to master grid layout in iOS with SwiftUI
Jun 29, 2021, 8:00 PM
Grid layouts enable us to show views in a grid that expands either vertically or horizontally. We've all seen it, for instance, in the iOS Photos application. Those who have worked with UIKit might recognize it as...
Cracking the Navigation Bar Secrets with SwiftUI
May 24, 2021, 8:00 PM
Navigating from one view to another, or simply showing a title and buttons, is one of the most crucial building blocks of modern iOS applications. Almost every app has this feature. SwiftUI brings some new approaches for how to show the...
The hidden secrets of TabView in iOS with SwiftUI
Apr 21, 2021, 8:00 PM
TabBar is a vital component of iOS and has been from iOS 2.0. This element appears at the bottom of the iOS and iPadOS devices and allows our app users to switch between different views or functions quickly. It is a major element of...
How to show and hide content with DisclosureGroup using SwiftUI
Mar 19, 2021, 8:00 PM
Showing and hiding some parts of information is a vital feature in mobile apps, especially considering that phone screens are much smaller than those on laptops or desktop computers. Now with the new SwiftUI capabilities, we can collapse...
How to use Alert with SwiftUI
Feb 13, 2021, 7:00 PM
Alerts are one of the most crucial building blocks of iOS applications. We can use them to inform users about an error if something takes more time, like downloading a file or ensuring that everything is OK. Another use case with alerts is...
How to show text inside a circle with SwiftUI
Jan 23, 2021, 7:00 PM
This time, we will look at several ways to show a text label inside a circle using SwiftUI. We will dig deeper into three different ways using the `ZStack` view and `.background` and `.overlay` modifiers. As a small bonus, we will check...
How to select images using PHPickerViewController with SwiftUI
Jan 8, 2021, 7:00 PM
Selecting images from our iPhone library is needed when changing a profile picture, posting an update, or sharing the photo of your pet. In this post, we are going to look into how to use `PHPickerViewController` with SwiftUI. Apple...
Background Color with SwiftUI
Dec 26, 2020, 7:00 PM
Once you create a SwiftUI view, it has the default background color. White for light mode and black for dark mode respectively. But how to change it to something different? Let's look into that today.
How to deal with modal views (a.k.a. sheets) with SwiftUI
Nov 21, 2020, 7:00 PM
When presenting a small piece of extra information on the screen, showing a modal view is essential. With UIKit, we could do this with `presentViewController:animated:completion:`...
Launch Screen with SwiftUI
Oct 30, 2020, 8:00 PM
Launch Screen is the first interaction that users see when using our apps. That's why investing time in making our app launch screens feel responsive and visually appealing is important. We are playing with the perceived time and it can...
Use Custom Font with Dynamic Type in iOS apps
Sep 25, 2020, 8:00 PM
A while back we looked into dynamic type with the system font. This time we are going to check out how to use the dynamic type with a custom font in our iOS apps. Apple provides great APIs to make our apps accessible even if we're using...
Mapview with SwiftUI
Jul 26, 2020, 8:00 PM
Finding places, navigating our way, or simply checking what's around - these are essential things that smartphones can help with. This year Apple added maps functionality to the SwiftUI framework. Let's check out how we can use it and what...
Embracing the Dynamic Type
May 21, 2020, 8:00 PM
Every year the third Thursday of May is the Global Accessibility Awareness Day. This time I want to focus on Dynamic Type in our iOS, iPadOS, and macOS projects. By implementing font scaling we can improve lives for loads of people with...
Different flavors of WebSockets on Vapor with Swift
Apr 22, 2020, 8:00 PM
Swift on the server lately is getting more traction despite IBM leaving the club. One of the most popular frameworks out there is Vapor. It is built on top of Apple’s SwiftNIO and written fully in Swift programming language. This time we...
NSTimer vs CADisplayLink
Mar 26, 2020, 8:00 PM
`NSTimer` or just `Timer` in Swift world is a commonly used way to execute something repeatedly with an interval. For instance, a countdown timer is a perfect example. A hidden gem is `CADisplayLink` - a special flavor of timer that is...
Clearing up after subscribing to Swift WebSockets
Feb 24, 2020, 7:00 PM
Opening and keeping a WebSocket connection alive isn't enough when dealing with it. The connection needs to be closed either from user or sever side. That is...
Ignorance of the URLRequest cache
Jan 17, 2020, 7:00 PM
Caching and invalidating cache is one of the hardest things in computer science [according to](https://martinfowler.com/bliki/TwoHardThings.html) Martin Fowler. Recently I was dealing with cache and invalidating it in three of my...
GraphQL Advances when fetching data in iOS with Swift and Apollo SDK
Dec 26, 2019, 7:00 PM
In previous articles, we discussed how to [get started](/graphql-ios-swift/) with and use [subscriptions](/graphql-subscriptions/) with GraphQL in iOS (and iPadOS, tvOS, and macOS) using Swift programming language.
How to use subscriptions with GraphQL using Apollo iOS SDK and Swift
Nov 25, 2019, 7:00 PM
GraphQL main functionality is to fetch and update data from the server. In addition to that subscriptions allow us to listen and to send messages from and to server in real-time. It is similar to regular queries, but the answer will be...
What is PassKit and how to use it?
Oct 19, 2019, 8:00 PM
Apple [PassKit](https://developer.apple.com/documentation/passkit) framework is responsible for Apple Pay and managing user passes in Wallet app. This time let’s talk about passes, how to create and distribute them. Wallet app allows iOS...
Dark Side of the App Store
Sep 24, 2019, 8:00 PM
I am an Apple fanboy and I admit that. But one of the most frustrating things in being an app developer is dealing with the App Store review and compliance teams. This time I would like to share my experience with these problems.
Using GraphQL in iOS with Swift
Aug 27, 2019, 8:00 PM
GraphQL is an alternative to the commonly used REST API approach. When using [GraphQL](https://graphql.org/) you only get one single endpoint to the server and through that endpoint you need to specify the exact data you need. It was...
Websockets in iOS 13 using Swift and Xcode 11
Jul 23, 2019, 8:00 PM
Websockets in iOS 13, macOS 10.15, tvOS 13, watchOS 6 and Mac Catalyst have gained first-class citizen status in networking stack. Apple has finally added support in...
Jun 25, 2019, 8:00 PM
This year I finally had a chance to attend [WWDC](https://developer.apple.com/wwdc19/) (Apple Worldwide Developers Conference). It has always been my dream to go there and see the Keynote, conference and all other events with my own eyes.
UIView vs CALayer
May 2, 2019, 8:00 PM
Here's something useful to know - [UIView’s](https://developer.apple.com/documentation/uikit/uiview) are backed by [CALayer’s](https://developer.apple.com/documentation/quartzcore/calayer). Layers offer a lower-level interface to the...
What is (Core) Animation
Mar 26, 2019, 8:00 PM
Animation has been an important part of the Mac OS X user interface since the very beginning. You’ve probably seen the Genie effect, which occurs when you minimize an application, so many times that you hardly notice it anymore. Apple...
Animating shapes in iOS
Feb 11, 2019, 7:00 PM
Animating a UIBezierPath drawing is a pretty trivial task. But how to animate shape morphing, i.e. make one shape change into another? (For instance, morphing a triangle into a square.) To accomplish this, we need to use CAShapeLayer and...
Websockets in iOS using Swift
Jan 4, 2019, 7:00 PM
WebSockets allow for extremely fast two-way networking communication, which lets you send and receive updates quicker and more often, not to mention securely. WebSocket is a communication protocol that uses sockets, providing duplex...