Here is how to apply UIVisualEffectView & UIBlurEffect to UITableView, UITableViewCell, UICollectionView, UICollectionViewCell, UIView / View in your Apple iOS / iPadOS or macOS Catalyst App.

As Apple describes UIVisualEffectView & UIBlurView in its support document as follows:

Depending on the desired effect, the effect may affect content layered behind the view or content added to the visual effect view’s contentView. Apply a visual effect view to an existing view and then apply a UIBlurEffect or UIVibrancyEffect object to apply a blur or vibrancy effect to the existing view. After you add the visual effect view to the view hierarchy, add any subviews to the contentView property of the visual effect view. Do not add subviews directly to the visual effect view itself.

So in simple words, you don’t have to use Adobe Photoshop to get blur effect and fake superimpose on your UIView rather you can get the same effect programmatically for every situation without any hassle.

Note: If you are using UIVisualEffectsView in your app I would strongly suggest you use a system setting called ‘Reduced Transparency’ to condition code it. If the user doesn’t want transparency or Blur or Vibrancy effect for all of the apps in his iPhone or iPad or Mac he can just do it with a single switch in the settings app. Another note view that you are applying effect should preferably be the Popover View Controller. Another thing is to remember to replace the below blue color with the UIColor of your choice with alpha channel transparency.

For UITableView and UITableViewCell, use following code in your UITableViewController’s viewWillAppear function:

(more…)

Continue Reading Post

Programmatically get iOS, iPadOS, macOS Catalyst Operating System Name and Version and a model identifier of iPhone, iPad, Mac devices.

Programmatically get iOS, iPadOS, macOS Catalyst Operating System Name and Version and a model identifier of iPhone, iPad, Mac devices.

Here is a simple way to programmatically get the operating system name and version of your iOS, iPadOS and macOS.

The below code will also return the value of iPhone, iPad and Mac Model identifier to help you know if it’s MacBook or iMac in Mac’s case or iPhone 11 Pro or iPhone 13 Pro etc.

Step 01: First import IOKit, It is only required for macOS Catalyst app-specific code.

(more…)

Continue Reading Post

Get your Apple iOS (iPhone), iPadOS (iPad) and Mac Catalyst app Version and Build number programmatically.

Here is a small function that I have written that you can use in your iOS, iPadOS or macOS Catalyst app to get your app’s current version and build number and print it on screen whether will on the app’s about or support view.

Function: copy the below function in the Xcode project’s UIViewController Swift class file.

(more…)

Continue Reading Post

How to save your contact’s WhatsApp Profile Photo

A few years ago WhatsApp was allowing WhatsApp Mobile / iPhone / Android and Mac app used to save any contact’s profile photo by clicking on the action sheet button and then tapping save.

But then WhatsApp removed that button.

But somehow one trick works.

Assumption: We assume that you have connected WhatsApp iPhone & Mac apps. You have already added your WhatsApp mac app to your iPhone number by scanning a QR code.

Step 01: Choose any of your WhatsApp contacts.

Step 02: Click on their name or photo at the top header or navigation bar.

(more…)

Continue Reading Post

Let’s learn how to use the ‘Meta Theme Color’ tag to colourise Apple Safari 15 user interface tailored for the website.

Apple Safari has started supporting theme-color Meta Tag from Safari 15 release.

Here is how to Implement theme-color meta tag in HTML.

You have to copy-paste theme-color meta tag in section of your website. It will look something like this:

<head>
<meta name="theme-color" content="#ff0000"/>
</head>

You can use the following code to implement theme color specific to system light mode or dark mode.

<meta name="theme-color" content="#ff0000" media="(prefers-color-scheme: light)">
<meta name="theme-color" content="#ff0000" media="(prefers-color-scheme: dark)">
(more…)

Continue Reading Post

Let’s learn how to implement WKWebView in Your iOS, iPadOS and macOS Catalyst app

Before we jump into implementing WKWebView I would first introduce you to why you want to use it. WKWebView helps you when you want to load a webpage inside your app without throwing users to a third party browser outside of your app.

Let’s start coding,

Step 01: First Import WebKit

import WebKit

Step 02: Add ‘WKNavigationDelegate’ to your declaration of ViewController Class

WKNavigationDelegate

It will look something like this:

class ViewController: UIViewController, WKNavigationDelegate {
}

Step 03: Now create two variables for loading webView and one for button which will close webView

var webView: WKWebView!
var closeWebViewUIButton = UIButton(type: .system) as UIButton

Step 04: Now naviagte to your ViewDid Load method

override func viewDidLoad() {
super.viewDidLoad()
}

Step 05: Now in your ViewDidLoad method add the following code, Which will load WKWebView. You can change the URL as per your preference.

(more…)

Continue Reading Post

Uber Cabs Invoice Outstanding Payment Alert, A Technical Glitch or Accounting Error

I just travelled from Mumbai to Thane using Uber cabs. They rounded my bill before tax by 46 Paise. My trip was a cash trip.

My final cost of the trip after taxes applied was 160.05 INR.

But when I completed my trip I got notification from the Uber app that I have not paid 5 paise out of 160.05 INR using cash.

(more…)

Continue Reading Post

How to fix and repair anything related to iCloud, App Store, Mac App Store if not at all working correctly on Apple iPhone, iPad and Mac with just one simple solution!

After using your Apple Mac, iPhone or iPad for more than 2 to 3 years upgrading the operating system multiple times you may realise after upgrading system some features like iCloud, Mac / App Store App Downloads and Updates, Keychain Sync, Safari Passwords Sync, Contacts Sync are not working across devices.

Precautions:

1. If you are on iPhone and iPad first backup your device using Mac. And also backup your iPhone and iPad photos using Apple Photos.

2. If you are on Mac backup your Mac using TimeMachine

(more…)

Continue Reading Post

Choosing the right view between UILabel and UITextView to display text inside your iOS, iPadOS and macOS Catalyst App

The dilemma of choosing between UILabel and UITextView starts when you want to display text in your Apple iOS, iPadOS or macOS Catalyst App.

I have even gone through this process of choosing UILabel or UITextView to display text on my app.

So I have made a small numbered list to help you out to choose the right option…

Choose UILable to display text:

  1. If the text word count is small in number
  2. If Top Aligning text to the top border is not the requirement
  3. UILable is not tappable or interactive or selectable to the user’s input
  4. if you want to automatically adjust the font size and fit text to the UILabel bounding box layout

Here is Sample Code for UILabel:

(more…)

Continue Reading Post

When using UINavigationController in your iOS, iPadOS and macOS app sometimes you need to show/hide the navigation bar on a particular view and here is how to do it without disturbing the navigation bar hierarchy in your Main.storyboard file.

Sometimes you want to hide Navigation Bar from a particular view without manually deleting it from Main.storyboard,

So here I have documented how to do it programmatically instead.

Step 01: Copy the following code to your ViewController’s Swift file’s ‘viewWillAppear’ method for which view you want to hide Navigation Bar on its load on your iPhone, iPad or Mac’s (Catalyst) app screen.

override func viewWillAppear(_ animated: Bool) {
super.viewWillAppear(true)
self.navigationController?.setNavigationBarHidden(true, animated: true)
}
(more…)

Continue Reading Post