In this tutorial, you will learn how to programmatically create a UITextField
in Swift. It will be a short tutorial with a very simple code example, but it will cover all the following:
- Create UITextField of specific height and width,
- Position UITextField at the center of the view,
- Set UITextField backgroundColor,
- Set UITextField textColor,
- Set UITextField UITextBorderStyle,
- Add UITextField as a subview,
- Set UITextField placeholder text,
- Set UITextField sample text.
A UITextField
is a control that displays editable text and sends an action message to a target object when the user presses the return button. UITextField
inherits from UIView
and conforms to the UIKeyInput
protocol, which allows it to receive keyboard input.
If you are interested in video lessons on how to write Unit tests and UI tests to test your Swift mobile app, check out this page: Unit Testing Swift Mobile App
Step 1: Create a UITextField of Specific Height and Width
To create a UITextField
, you use the UITextField(frame:)
initializer, which creates a UITextField with a specific frame (position and size). Here’s how you can do it:
let myTextField: UITextField = UITextField(frame: CGRect(x: 0, y: 0, width: 300.00, height: 30.00))
In the code snippet above, I created a UITextField named myTextField
with a width of 300 pixels and a height of 30 pixels.
Step 2: Position the UITextField at the Center of the View
To position the UITextField
at the center of the view, you can set the center
property of the UITextField to the center of the view:
myTextField.center = self.view.center
This line of code positions the UITextField in the center of the view.
Step 3: Set UITextField Placeholder Text
The placeholder text is a hint to the user about what kind of input should be entered in the text field. It disappears when the user starts typing in the text field. You can set the placeholder text using the placeholder
property:
myTextField.placeholder = "Placeholder text"
In the code snippet above, I set the placeholder text of the UITextField to “Placeholder text”.
Step 4: Set Sample Text to UITextField
You can set the sample text of the UITextField using the text
property:
myTextField.text = "UITextField example"
In the code snippet above, I set the sample text of the UITextField to “UITextField example”.
Step 5: Set UITextField Border Style
The border style of a UITextField determines how the text field’s border looks. You can set the border style using the borderStyle
property:
myTextField.borderStyle = UITextField.BorderStyle.line
In the code snippet above, I set the border style of the UITextField to a line.
Step 6: Set UITextField Background Color
The background colour of a UITextField determines the color of the area behind the text field. You can set the background color using the backgroundColor
property:
myTextField.backgroundColor = UIColor.white
In the code snippet above, I set the background colour of the UITextField to blue.
Step 8: Add UITextField as a Subview
Finally, to display the UITextField on the screen, you need to add it as a subview to a parent view. You can do this using the addSubview(_:)
method of the parent view:
self.view.addSubview(myTextField)
In the code snippet above, I added the UITextField as a subview to the parent view (self.view
).
Complete code to create a UITextField programmatically
Let’s create a simple iOS app that uses all the above code snippets. I think it will be helpful to see how it all works when put together as a simple iOS app.
import UIKit class ViewController: UIViewController { override func viewDidLoad() { super.viewDidLoad() // Create UITextField let myTextField: UITextField = UITextField(frame: CGRect(x: 0, y: 0, width: 300.00, height: 30.00)) // Position UITextField in the center of the view myTextField.center = self.view.center // Set UITextField placeholder text myTextField.placeholder = "Place holder text" // Set text to UItextField myTextField.text = "UITextField example" // Set UITextField border style myTextField.borderStyle = UITextField.BorderStyle.line // Set UITextField background colour myTextField.backgroundColor = UIColor.white // Set UITextField text color myTextField.textColor = UIColor.blue // Add UITextField as a subview self.view.addSubview(myTextField) } }
In this code, I override the viewDidLoad()
method, which is called after the controller’s view is loaded into memory. Inside this method, I created a UITextField
, configured its properties, and added it as a subview to the view controller’s view.
Conclusion
I hope this tutorial was helpful to you.
Depending on your specific requirements, you might need to add more configurations or handle more events. Also, keep in mind that UITextField is a subclass of UIView, so you can apply the same principles to other types of views as well.
As you continue developing your Swift and iOS development skills, you’ll come across more complex scenarios. To learn more about Swift and find other helpful code examples and tutorials, check the Swift Code Examples page.
If you are interested in video lessons on how to write Unit tests and UI tests to test your Swift mobile app, check out this page: Unit Testing Swift Mobile App