Thanks you, here my code for RegisterView
class RegisterView : UIView, UITextFieldDelegate {
@IBOutlet weak var username : UITextField?
@IBOutlet weak var password : UITextField?
@IBOutlet weak var repassword : UITextField?
@IBOutlet weak var email : UITextField?
@IBOutlet weak var displayname : UITextField?
var contentView : UIView?
public static var nibName: String {
return String(describing: self.self)
}
public static var nib: UINib {
let bundle = Bundle(for: self.self)
return UINib(nibName: self.nibName, bundle: bundle)
}
override init(frame: CGRect) {
super.init(frame: frame)
self.setupView()
}
required init?(coder : NSCoder) {
super.init(coder: coder)
setupView()
}
private func setupView () {
guard let view = Self.nib.instantiate(withOwner: self, options: nil).first as? UIView else { fatalError("Error loading \(self) from nib") }
addSubview(view)
view.translatesAutoresizingMaskIntoConstraints = false
if #available(iOS 11.0, *) {
view.leadingAnchor.constraint(equalTo: self.safeAreaLayoutGuide.leadingAnchor, constant: 0).isActive = true
view.topAnchor.constraint(equalTo: self.safeAreaLayoutGuide.topAnchor, constant: 0).isActive = true
view.trailingAnchor.constraint(equalTo: self.safeAreaLayoutGuide.trailingAnchor, constant: 0).isActive = true
view.bottomAnchor.constraint(equalTo: self.safeAreaLayoutGuide.bottomAnchor, constant: 0).isActive = true
}
self.displayname?.delegate = self
self.email?.delegate = self
self.username?.delegate = self
self.password?.delegate = self
self.repassword?.delegate = self
super.layoutSubviews()
}
func textFieldShouldReturn(_ textField: UITextField) -> Bool {
textField.resignFirstResponder()
return true
}
func textFieldShouldEndEditing(_ textField: UITextField) -> Bool {
textField.resignFirstResponder()
return true
}
func textFieldShouldBeginEditing(_ textField: UITextField) -> Bool {
return true
}
public func register(username: String, email : String, displayName : String, password : String) {
}
}
And here's the code for add RegisterView into parent view (I'm planning to switch between RegisterView and LoginView in parent view)
self.processView?.showTextOnly(text: "register button clicked")
if (self.registerView != nil) {
self.upperView.removeChildView()
self.upperView.addSubview(registerView!)
return
}
self.registerView = RegisterView();
self.registerView?.frame = upperView.bounds
self.registerView?.autoresizingMask = [.flexibleWidth, .flexibleHeight]
self.upperView.addSubview(registerView!)
self.registerView?.center = CGPoint(x : upperView.frame.width / 2,
y : upperView.frame.height / 2)
}
Topic:
UI Frameworks
SubTopic:
UIKit
Tags: