Skip to main content

Posts

Showing posts from 2019

Execute a method when a variable value changes in Swift

This post is about how to execute a function when a variable value changes.
Instead of key-value observation, simply use a property observer for the variable.  For e.g: Whenever the value of variable named allSlot changes, the two lines will execute which are written in the didSet method. privatevarallSlot: [String] = [] { didSet { slotTableView?.reloadData() enableRightBarButton() } }
Property observers: https://docs.swift.org/swift-book/LanguageGuide/Properties.html#//apple_ref/doc/uid/TP40014097-CH14-ID262

How to apply custom font on attributed HTML text

Today, I came across a very challenging situation which yields into a great learning by end of the day.

Let me give you more details about this to you.


Task: I am getting attributed HTML text which already has multiple tags like bold and line break. I want to show the attributed text in custom font keeping the existing tags.

Problem: When I applied custom font on attributed text, the existing tags like bold and line break overrides.

Solution: I found a style tag which needs to apply on the attributed text.

let modifiedFont = String(format: "<span style=\"color:#000000;font-family: '-apple-system', 'SFProText-Regular'; font-size: \(self.font?.pointSize ?? 14.0)\">%@</span>", htmlText)


Code example:


extensionUITextView { funcsetHTMLFromString(htmlText: String) { let modifiedFont = String(format: "<span style=\"color:#000000;font-family: '-apple-system', 'SFProText-Regular'; font-size: \(self.font?.pointSize ?? 14.0)\&…

How to work with Charles proxy server

How to deal with iOS Safe Area and set UI For iPhone X

Today, my tester reported one issue related to bottom space in iPhone X. The bottom space of button is appropriate in all the iOS devices except iPhone X. See the below screenshot:-




To solve this issue, I need to take care of safe area. safeAreaInsets and safeAreaLayoutGuide are available after iOS 10 only.

Important points:-

If you need your UI elements to be inside the safe are, then set the constraints between UI element and safe are layout guides.If you need your UI elements to be extend to the edge of the screen, then set the constraints between UI element and it's super view.

Code snippet to get the bottom space.
if#available(iOS11.0, *) {
let window = UIApplication.shared.keyWindow let bottomPadding = window?.safeAreaInsets.bottom ?? 0.0 }





References:-

https://medium.com/@kahseng.lee123/how-to-solve-the-most-common-interface-problems-when-adapting-apps-ui-for-iphone-x-44c0f3c80d84https://medium.com/rosberryapps/ios-safe-area-ca10e919526f