123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112 |
- //
- // PublishEditTitleCell.swift
- // RainbowPlanet
- //
- // Created by Christopher on 2019/6/17.
- // Copyright © 2019 RainbowPlanet. All rights reserved.
- //
- import UIKit
- import RxSwift
- class PublishEditTitleCell: UITableViewCell {
-
- let disposeBag = DisposeBag()
-
- typealias TopicTextClosure = (_ text: String) -> Void
- var topicTextClosure : TopicTextClosure?
-
- var titleStr: String? {
- didSet {
- editTextField.text = self.titleStr
- }
- }
-
- class func cellWith(tableView:UITableView,indexPath:IndexPath) -> PublishEditTitleCell {
- let ID = "PublishEditTitleCell"
- tableView.register(PublishEditTitleCell.self, forCellReuseIdentifier: ID)
- let cell : PublishEditTitleCell = tableView.dequeueReusableCell(withIdentifier: ID, for: indexPath) as! PublishEditTitleCell
- cell.indexPath = indexPath
- return cell
- }
-
- override init(style: UITableViewCell.CellStyle, reuseIdentifier: String?) {
- super.init(style: style, reuseIdentifier: reuseIdentifier)
- setupViews()
- setupLayouts()
- }
-
- required init?(coder aDecoder: NSCoder) {
- fatalError("init(coder:) has not been implemented")
- }
-
- var indexPath: IndexPath? {
- didSet {
-
- }
- }
-
- //MRAK: - 设置View
- private func setupViews() {
- self.selectionStyle = .none
- addSubview(editTextField)
- addSubview(h_lineLabel)
- }
-
- private func setupLayouts() {
- editTextField.snp.makeConstraints { (make) in
- make.top.equalToSuperview()
- make.bottom.equalToSuperview().offset(-1)
- make.left.equalTo(14)
- make.right.equalTo(-14)
- }
- h_lineLabel.snp.makeConstraints { (make) in
- make.left.equalTo(editTextField.snp.left)
- make.right.equalTo(editTextField.snp.right)
- make.top.equalTo(editTextField.snp.top)
- make.height.equalTo(0.5)
- }
- }
-
- private lazy var editTextField: UITextField = {
- let editTextField = UITextField()
- editTextField.textColor = k333333Color
- editTextField.font = kRegularFont14
- editTextField.tintColor = kEnabledButtonColor
- editTextField.clearButtonMode = .whileEditing
- editTextField.attributedPlaceholder = NSAttributedString.init(string:"标题好,能收获更多U米哦(标题最多20字)", attributes: [NSAttributedString.Key.font:kRegularFont14 as Any, NSAttributedString.Key.foregroundColor:kDDDDDDColor])
- editTextField.delegate = self
- return editTextField
- }()
-
- private lazy var h_lineLabel: UILabel = {
- let h_lineLabel = UILabel()
- h_lineLabel.backgroundColor = kf5f5f5Color
- return h_lineLabel
- }()
-
- }
- extension PublishEditTitleCell: UITextFieldDelegate {
-
- func textFieldShouldBeginEditing(_ textField: UITextField) -> Bool {
- if textField == editTextField {
- textField.addTarget(self, action: #selector(textFieldDidChange(_:)), for: UIControl.Event.editingChanged)
- }
- return true
- }
-
- @objc func textFieldDidChange(_ textField: UITextField) {
- var fullStr = textField.text ?? ""
- if textField.text?.count ?? 0 > 40 {
- fullStr = String(fullStr.prefix(20)) as String
- textField.text = fullStr
- }
-
- if let topicTextClosure = self.topicTextClosure {
- topicTextClosure(self.editTextField.text ?? "")
- }
- }
-
- }
|