Skip to content

Instantly share code, notes, and snippets.

@clbemre
Created September 7, 2019 10:54
Show Gist options
  • Save clbemre/ad6cdcef3d820e7bad4778907aef9ff1 to your computer and use it in GitHub Desktop.
Save clbemre/ad6cdcef3d820e7bad4778907aef9ff1 to your computer and use it in GitHub Desktop.
Extensions For CustomView
extension CustomView {
func setupViewParentTextField() {
self.addSubview(self.parentTextField)
self.parentTextField.snp.makeConstraints { (maker) in
maker.center.equalToSuperview()
maker.leading.equalToSuperview().offset(16)
maker.trailing.equalToSuperview().offset(-16)
maker.height.equalTo(50)
}
// Setup Left View
self.setupLeftView()
}
func setupLeftView() {
self.parentTextField.addSubview(self.leftView)
self.leftView.snp.makeConstraints { (maker) in
maker.centerY.equalToSuperview()
maker.leading.equalToSuperview().offset(8)
maker.width.height.equalTo(32)
}
self.leftView.layer.cornerRadius = 16 // WidthHeight -> 32 / 2 = 16
self.clipsToBounds = true
// Setup Left Icon
self.setupLeftIcon()
// Setup TextField
self.setupTextField()
}
func setupLeftIcon() {
self.leftView.addSubview(self.leftImageView)
self.leftImageView.snp.makeConstraints { (maker) in
maker.center.equalToSuperview()
maker.width.height.equalTo(20)
}
}
func setupTextField() {
self.parentTextField.addSubview(self.textField)
self.textField.snp.makeConstraints { (maker) in
maker.leading.equalTo(self.leftView.snp.trailing).offset(12)
maker.trailing.equalToSuperview().offset(12)
maker.centerY.equalToSuperview()
}
}
func setupFloatingLabel() {
self.addSubview(self.floatingLabel)
self.floatingLabel.snp.makeConstraints { (maker) in
maker.bottom.equalTo(self.parentTextField.snp.top).offset(-8)
maker.leading.equalTo(self.parentTextField.snp.leading)
}
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment