UITextView is a scrollable, multiline text region and its object : “textContainer” defines where the text will be laid out. Continue reading “Remove top padding from UITextView”
Add gradient background to UIView using CAGradientLayer
CAGradientLayer is a layer that draws gradient color over its background.
By default color are spread evenly but you can control the locations of them.
The following function will add a gradient layer to the view passed to it Continue reading “Create UIView with gradient background”
You can design custom controls and render them in real time from Interface Builder using @IBDesignable and @IBInspectable attributes.
In the following example we will create a custom UIButton and change its corner radius, border color and border width from InterFace Builder with the help of @IBDesignable and @IBInspectable attributes. Continue reading “Custom controls using @IBDesignable and @IBInsepectable”
In two steps we can make a UILabel change its height dynamically without writing code.
UILabel dynamic height
First select your UILabel and from “Identity inspector” set number of lines property to 0.
Next add Top, Trailing, Leading and Height constraints then select the height constraint and change its “Relation” property from “Equal” to “Greater Than or Equal” Continue reading “How to change UILabel height dynamically to fit all text”
Removing Empty Rows from the end of UITableView
Sometimes you have a table view with very few number of rows that are not covering the whole screen height.
In that case Xcode will add extra empty rows to your table view which looks very unprofessional. Continue reading “Remove empty rows at the end of UITableView”
In this step by step tutorial we will create a custom header view to use in UITableView and it will be loaded from xib file.
Creating the UITableViewHeaderFooterView class and xib
1- First of all create a new Swift file and make it subclass of UITableViewHeaderFooterView and name it “DemoHeaderView” Continue reading “Custom header view from xib for UITableView”
I will go straight to the point and tell you how to send data back and forward in different situations.
This code was written in Swift 3
Sending data forward using Segue
If you are navigating from ViewControllerA to ViewControllerB using Segue called “toViewControllerB” then do the following steps Continue reading “Passing data back and forward between view controllers”
What is CALayer
CALayer is an object responsible for drawing and animations and it is part of Core Animation framework.
It is always used as backing store for UIViews to manage visual content but it can be also used without views.
If it was created by a view the view assigns itself as delegate for that layer and you should not change that. Continue reading “Working with CALayer”
In this tutorial we will explain the lifecycle of UIViewController in iOS, these methods will run in the following order:
1- init?(coder aDecoder: NSCoder)
If you are using storyboards this is where the controller is initialized, it is called one time only during the view controller lifetime.
Creates the view that the controller manage, the view controller calls this method when its view property is requested but is currently nil.
This method loads or creates a view and assign it to the view property. Continue reading “UIViewController lifecycle explained”
You can change UITextField placeholder color programmatically or using interface builder
Changing UITextField placeholder color in Swift 3
1- Create a new UITextField subclass and override its
layoutSubviews() and insert in it this line of code
self.setValue(UIColor.init(red: 178/255.0, green: 34/255.0, blue: 78/255.0, alpha: 0.5), forKeyPath: "_placeholderLabel.textColor")