How to create custom view programmatically in swift having controls text field, button etc How to create custom view programmatically in swift having controls text field, button etc ios ios

How to create custom view programmatically in swift having controls text field, button etc


The CGRectZero constant is equal to a rectangle at position (0,0) with zero width and height. This is fine to use, and actually preferred, if you use AutoLayout, since AutoLayout will then properly place the view.

But, I expect you do not use AutoLayout. So the most simple solution is to specify the size of the custom view by providing a frame explicitly:

customView = MyCustomView(frame: CGRect(x: 0, y: 0, width: 200, height: 50))self.view.addSubview(customView)

Note that you also need to use addSubview otherwise your view is not added to the view hierarchy.


Swift 3 / Swift 4 Update:

let screenSize: CGRect = UIScreen.main.boundslet myView = UIView(frame: CGRect(x: 0, y: 0, width: screenSize.width - 10, height: 10))self.view.addSubview(myView)


var customView = UIView()@IBAction func drawView(_ sender: AnyObject) {    customView.frame = CGRect.init(x: 0, y: 0, width: 100, height: 200)    customView.backgroundColor = UIColor.black     //give color to the view     customView.center = self.view.center      self.view.addSubview(customView)       }