1. Views of the Screens
Views
The design of the screens is the same except for the background color of the color box. So, let's create the views of Red, Blue, and Green screens.
RedView.swift
Let's create a swift file called RedView.swift and put the following code:
//
// RedView.swift
// TabControllerDemo
//
// Created by Sakib Miazi on 6/6/23.
//
import UIKit
class RedView: UIView {
var boxView: UIView!
var buttonSend: UIButton!
var labelReceived: UILabel!
override init(frame: CGRect) {
super.init(frame: frame)
boxView = UIView()
boxView.backgroundColor = .red
boxView.translatesAutoresizingMaskIntoConstraints = false
self.addSubview(boxView)
buttonSend = UIButton(type: .system)
buttonSend.setTitle("Send Hello", for: .normal)
buttonSend.translatesAutoresizingMaskIntoConstraints = false
self.addSubview(buttonSend)
labelReceived = UILabel()
labelReceived.text = "Waiting for Notification!"
labelReceived.translatesAutoresizingMaskIntoConstraints = false
self.addSubview(labelReceived)
NSLayoutConstraint.activate([
boxView.topAnchor.constraint(equalTo: self.safeAreaLayoutGuide.topAnchor, constant: 32),
boxView.widthAnchor.constraint(equalToConstant: 200),
boxView.heightAnchor.constraint(equalToConstant: 200),
boxView.centerXAnchor.constraint(equalTo: self.safeAreaLayoutGuide.centerXAnchor),
buttonSend.topAnchor.constraint(equalTo: self.boxView.bottomAnchor, constant: 8),
buttonSend.centerXAnchor.constraint(equalTo: self.safeAreaLayoutGuide.centerXAnchor),
labelReceived.topAnchor.constraint(equalTo: self.buttonSend.bottomAnchor, constant: 8),
labelReceived.centerXAnchor.constraint(equalTo: self.safeAreaLayoutGuide.centerXAnchor),
])
}
required init?(coder: NSCoder) {
fatalError("init(coder:) has not been implemented")
}
}
In the above code, we create a boxView to display the corresponding color of the screen, a button to send data to other screens, and a label to display the received data.
GreenView.swift and BlueView.swift
The only thing different in these files compared to RedView.swift is the background color of the boxView. For GreenView.swift, it is .green, and for BlueView.swift, it is .blue.
Last updated
Was this helpful?