// // PickServerSearchCell.swift // Mastodon // // Created by BradGao on 2021/2/24. // import UIKit //protocol PickServerSearchCellDelegate: AnyObject { // func pickServerSearchCell(_ cell: PickServerSearchCell, searchTextDidChange searchText: String?) //} // //class PickServerSearchCell: UITableViewCell { // // weak var delegate: PickServerSearchCellDelegate? // // private var bgView: UIView = { // let view = UIView() // view.backgroundColor = Asset.Theme.Mastodon.secondaryGroupedSystemBackground.color // view.translatesAutoresizingMaskIntoConstraints = false // view.layer.maskedCorners = [ // .layerMinXMinYCorner, // .layerMaxXMinYCorner // ] // view.layer.cornerCurve = .continuous // view.layer.cornerRadius = MastodonPickServerAppearance.tableViewCornerRadius // return view // }() // // private var textFieldBgView: UIView = { // let view = UIView() // view.backgroundColor = Asset.Colors.TextField.background.color // view.translatesAutoresizingMaskIntoConstraints = false // view.layer.masksToBounds = true // view.layer.cornerRadius = 6 // view.layer.cornerCurve = .continuous // return view // }() // // let searchTextField: UITextField = { // let textField = UITextField() // textField.translatesAutoresizingMaskIntoConstraints = false // textField.leftView = { // let imageView = UIImageView( // image: UIImage( // systemName: "magnifyingglass", // withConfiguration: UIImage.SymbolConfiguration(pointSize: 15, weight: .regular) // ) // ) // imageView.tintColor = Asset.Colors.Label.secondary.color.withAlphaComponent(0.6) // // let containerView = UIView() // imageView.translatesAutoresizingMaskIntoConstraints = false // containerView.addSubview(imageView) // NSLayoutConstraint.activate([ // imageView.topAnchor.constraint(equalTo: containerView.topAnchor), // imageView.leadingAnchor.constraint(equalTo: containerView.leadingAnchor), // imageView.bottomAnchor.constraint(equalTo: containerView.bottomAnchor), // ]) // // let paddingView = UIView() // paddingView.translatesAutoresizingMaskIntoConstraints = false // containerView.addSubview(paddingView) // NSLayoutConstraint.activate([ // paddingView.topAnchor.constraint(equalTo: containerView.topAnchor), // paddingView.leadingAnchor.constraint(equalTo: imageView.trailingAnchor), // paddingView.trailingAnchor.constraint(equalTo: containerView.trailingAnchor), // paddingView.bottomAnchor.constraint(equalTo: containerView.bottomAnchor), // paddingView.widthAnchor.constraint(equalToConstant: 4).priority(.defaultHigh), // ]) // return containerView // }() // textField.leftViewMode = .always // textField.font = .systemFont(ofSize: 15, weight: .regular) // textField.tintColor = Asset.Colors.Label.primary.color // textField.textColor = Asset.Colors.Label.primary.color // textField.adjustsFontForContentSizeCategory = true // textField.attributedPlaceholder = // NSAttributedString(string: L10n.Scene.ServerPicker.Input.placeholder, // attributes: [.font: UIFont.systemFont(ofSize: 15, weight: .regular), // .foregroundColor: Asset.Colors.Label.secondary.color.withAlphaComponent(0.6)]) // textField.clearButtonMode = .whileEditing // textField.autocapitalizationType = .none // textField.autocorrectionType = .no // textField.returnKeyType = .done // textField.keyboardType = .URL // return textField // }() // // override func prepareForReuse() { // super.prepareForReuse() // // delegate = nil // } // // override init(style: UITableViewCell.CellStyle, reuseIdentifier: String?) { // super.init(style: style, reuseIdentifier: reuseIdentifier) // _init() // } // // required init?(coder: NSCoder) { // super.init(coder: coder) // _init() // } //} // //extension PickServerSearchCell { // private func _init() { // selectionStyle = .none // backgroundColor = Asset.Theme.Mastodon.systemGroupedBackground.color // configureMargin() // // searchTextField.addTarget(self, action: #selector(textFieldDidChange(_:)), for: .editingChanged) // searchTextField.delegate = self // // contentView.addSubview(bgView) // contentView.addSubview(textFieldBgView) // contentView.addSubview(searchTextField) // // NSLayoutConstraint.activate([ // bgView.leadingAnchor.constraint(equalTo: contentView.layoutMarginsGuide.leadingAnchor), // bgView.topAnchor.constraint(equalTo: contentView.topAnchor), // bgView.trailingAnchor.constraint(equalTo: contentView.layoutMarginsGuide.trailingAnchor), // bgView.bottomAnchor.constraint(equalTo: contentView.bottomAnchor), // // textFieldBgView.leadingAnchor.constraint(equalTo: bgView.leadingAnchor, constant: 14), // textFieldBgView.topAnchor.constraint(equalTo: bgView.topAnchor, constant: 12), // bgView.trailingAnchor.constraint(equalTo: textFieldBgView.trailingAnchor, constant: 14), // bgView.bottomAnchor.constraint(equalTo: textFieldBgView.bottomAnchor, constant: 13), // // searchTextField.leadingAnchor.constraint(equalTo: textFieldBgView.leadingAnchor, constant: 11), // searchTextField.topAnchor.constraint(equalTo: textFieldBgView.topAnchor, constant: 4), // textFieldBgView.trailingAnchor.constraint(equalTo: searchTextField.trailingAnchor, constant: 11), // textFieldBgView.bottomAnchor.constraint(equalTo: searchTextField.bottomAnchor, constant: 4), // ]) // } // // override func traitCollectionDidChange(_ previousTraitCollection: UITraitCollection?) { // super.traitCollectionDidChange(previousTraitCollection) // // configureMargin() // } //} // //extension PickServerSearchCell { // private func configureMargin() { // switch traitCollection.horizontalSizeClass { // case .regular: // let margin = MastodonPickServerViewController.viewEdgeMargin // contentView.layoutMargins = UIEdgeInsets(top: 0, left: margin, bottom: 0, right: margin) // default: // contentView.layoutMargins = .zero // } // } //} // //extension PickServerSearchCell { // @objc private func textFieldDidChange(_ textField: UITextField) { // delegate?.pickServerSearchCell(self, searchTextDidChange: textField.text) // } //} // //// MARK: - UITextFieldDelegate //extension PickServerSearchCell: UITextFieldDelegate { // // func textFieldShouldReturn(_ textField: UITextField) -> Bool { // textField.resignFirstResponder() // return false // } //}