Add TextField and TableView (#540)
tableView is green for now, cell's are coming next
This commit is contained in:
parent
08302cf2fa
commit
cc6ec42c5c
|
@ -16,6 +16,8 @@ class MastodonLoginView: UIView {
|
||||||
let titleLabel: UILabel
|
let titleLabel: UILabel
|
||||||
let subtitleLabel: UILabel
|
let subtitleLabel: UILabel
|
||||||
private let headerStackView: UIStackView
|
private let headerStackView: UIStackView
|
||||||
|
let searchTextField: UITextField
|
||||||
|
let tableView: UITableView
|
||||||
let navigationActionView: NavigationActionView
|
let navigationActionView: NavigationActionView
|
||||||
|
|
||||||
override init(frame: CGRect) {
|
override init(frame: CGRect) {
|
||||||
|
@ -37,12 +39,27 @@ class MastodonLoginView: UIView {
|
||||||
headerStackView.spacing = 16
|
headerStackView.spacing = 16
|
||||||
headerStackView.translatesAutoresizingMaskIntoConstraints = false
|
headerStackView.translatesAutoresizingMaskIntoConstraints = false
|
||||||
|
|
||||||
|
searchTextField = UITextField()
|
||||||
|
searchTextField.translatesAutoresizingMaskIntoConstraints = false
|
||||||
|
searchTextField.backgroundColor = Asset.Scene.Onboarding.textFieldBackground.color
|
||||||
|
searchTextField.layer.cornerRadius = 10 //TODO: Change mask for
|
||||||
|
searchTextField.placeholder = "Search for your server"
|
||||||
|
searchTextField.leftView = UIImageView(image: UIImage(systemName: "magnifyingglass"))
|
||||||
|
searchTextField.leftViewMode = .always
|
||||||
|
|
||||||
|
tableView = UITableView()
|
||||||
|
tableView.translatesAutoresizingMaskIntoConstraints = false
|
||||||
|
tableView.backgroundColor = .green
|
||||||
|
//TODO: @zeitchlag Cell
|
||||||
|
|
||||||
navigationActionView = NavigationActionView()
|
navigationActionView = NavigationActionView()
|
||||||
navigationActionView.translatesAutoresizingMaskIntoConstraints = false
|
navigationActionView.translatesAutoresizingMaskIntoConstraints = false
|
||||||
|
|
||||||
super.init(frame: frame)
|
super.init(frame: frame)
|
||||||
|
|
||||||
addSubview(headerStackView)
|
addSubview(headerStackView)
|
||||||
|
addSubview(searchTextField)
|
||||||
|
addSubview(tableView)
|
||||||
addSubview(navigationActionView)
|
addSubview(navigationActionView)
|
||||||
backgroundColor = .systemBackground
|
backgroundColor = .systemBackground
|
||||||
|
|
||||||
|
@ -60,6 +77,16 @@ class MastodonLoginView: UIView {
|
||||||
headerStackView.leadingAnchor.constraint(equalTo: readableContentGuide.leadingAnchor),
|
headerStackView.leadingAnchor.constraint(equalTo: readableContentGuide.leadingAnchor),
|
||||||
headerStackView.trailingAnchor.constraint(equalTo: readableContentGuide.trailingAnchor),
|
headerStackView.trailingAnchor.constraint(equalTo: readableContentGuide.trailingAnchor),
|
||||||
|
|
||||||
|
searchTextField.topAnchor.constraint(equalTo: headerStackView.bottomAnchor, constant: 32),
|
||||||
|
searchTextField.leadingAnchor.constraint(equalTo: leadingAnchor, constant: 16),
|
||||||
|
searchTextField.heightAnchor.constraint(equalToConstant: 55),
|
||||||
|
trailingAnchor.constraint(equalTo: searchTextField.trailingAnchor, constant: 16),
|
||||||
|
|
||||||
|
tableView.topAnchor.constraint(equalTo: searchTextField.bottomAnchor),
|
||||||
|
tableView.leadingAnchor.constraint(equalTo: leadingAnchor, constant: 16),
|
||||||
|
trailingAnchor.constraint(equalTo: tableView.trailingAnchor, constant: 16),
|
||||||
|
tableView.bottomAnchor.constraint(equalTo: navigationActionView.topAnchor),
|
||||||
|
|
||||||
navigationActionView.leadingAnchor.constraint(equalTo: leadingAnchor),
|
navigationActionView.leadingAnchor.constraint(equalTo: leadingAnchor),
|
||||||
navigationActionView.trailingAnchor.constraint(equalTo: trailingAnchor),
|
navigationActionView.trailingAnchor.constraint(equalTo: trailingAnchor),
|
||||||
bottomAnchor.constraint(equalTo: navigationActionView.bottomAnchor),
|
bottomAnchor.constraint(equalTo: navigationActionView.bottomAnchor),
|
||||||
|
|
|
@ -36,6 +36,9 @@ class MastodonLoginViewController: UIViewController {
|
||||||
|
|
||||||
loginView.navigationActionView.nextButton.addTarget(self, action: #selector(MastodonLoginViewController.nextButtonPressed(_:)), for: .touchUpInside)
|
loginView.navigationActionView.nextButton.addTarget(self, action: #selector(MastodonLoginViewController.nextButtonPressed(_:)), for: .touchUpInside)
|
||||||
loginView.navigationActionView.backButton.addTarget(self, action: #selector(MastodonLoginViewController.backButtonPressed(_:)), for: .touchUpInside)
|
loginView.navigationActionView.backButton.addTarget(self, action: #selector(MastodonLoginViewController.backButtonPressed(_:)), for: .touchUpInside)
|
||||||
|
loginView.searchTextField.addTarget(self, action: #selector(MastodonLoginViewController.textfieldDidChange(_:)), for: .editingChanged)
|
||||||
|
|
||||||
|
//TODO: Set tableView.delegate and tableView.dataSource
|
||||||
|
|
||||||
view = loginView
|
view = loginView
|
||||||
}
|
}
|
||||||
|
@ -102,6 +105,10 @@ class MastodonLoginViewController: UIViewController {
|
||||||
// }
|
// }
|
||||||
// .store(in: &disposeBag)
|
// .store(in: &disposeBag)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@objc func textfieldDidChange(_ textField: UITextField) {
|
||||||
|
print(textField.text ?? "---")
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
// MARK: - OnboardingViewControllerAppearance
|
// MARK: - OnboardingViewControllerAppearance
|
||||||
|
|
Loading…
Reference in New Issue