Tutorial: Creating custom UIViews

Creating custom UIViews can be very useful for many reasons; code reusability, view controller code reduction and improve maintainability. It enables you to build one component and use it in multiple places around your application. This will reduce the total number of lines in your project and enable you to make changes to your component in one place as opposed to many. View controllers can often get bloated with code that can be delegated to the views of the controller.

Tutorial

Here is an example of a custom UIView XIB. The view contains one button, which when pressed fires a delegate method that should be handled inside your ViewController.

Screen Shot 2018-01-31 at 15.54.42

Here is the code for the TestView and the TestViewDelegate. The TestView has a container view, UIButton, and delegate. Ensure that the container view and UIButton are connected up to the XIB properly. You will need to create an IBAction to handle the button press on the TestView, inside this action method you will fire the delegate method which will be sent to the parent UIViewController that conforms to TestViewDelegate.

https://gist.github.com/rtking1993/6cce0b7629c76bb113484c9754553d30

Now that our TestView is set up correctly, we simply have to place it onto our UIViewController, create an IBOutlet to it and set its delegate properly. Once we have done those three steps, the TestView will fire back a delegate call every time its “Action” button is pressed. Enabling our TestViewController to handle that button press further, in this case by printing a simple statement.

https://gist.github.com/rtking1993/acba1a35650568e95ef572084c86c260

 

Here is the full source code for the project:

https://github.com/rtking1993/CustomUIView

Comments

Leave a Reply

Your email address will not be published. Required fields are marked *