| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121 |
- //
- // JCMineInfoCell.swift
- // JChat
- //
- // Created by deng on 2017/3/28.
- // Copyright © 2017年 HXHG. All rights reserved.
- //
- import UIKit
- @objc public protocol JCMineInfoCellDelegate: NSObjectProtocol {
- @objc optional func mineInfoCell(clickSwitchButton button: UISwitch, indexPath: IndexPath?)
- }
- class JCMineInfoCell: JCTableViewCell {
-
- open weak var delegate: JCMineInfoCellDelegate?
- var indexPate: IndexPath?
-
- var title: String {
- get {
- return titleLabel.text ?? ""
- }
- set {
- return titleLabel.text = newValue
- }
- }
-
- var detail: String? {
- get {
- return detailLabel.text
- }
- set {
- detailLabel.isHidden = false
- detailLabel.text = newValue
- }
- }
-
- var isShowSwitch: Bool {
- get {
- return !switchButton.isHidden
- }
- set {
- switchButton.isHidden = !newValue
- }
- }
-
- var isSwitchOn: Bool {
- get {
- return switchButton.isOn
- }
- set {
- switchButton.isOn = newValue
- }
- }
- override init(style: UITableViewCell.CellStyle, reuseIdentifier: String?) {
- super.init(style: style, reuseIdentifier: reuseIdentifier)
- _init()
- }
-
- required init?(coder aDecoder: NSCoder) {
- super.init(coder: aDecoder)
- _init()
- }
-
- override func awakeFromNib() {
- super.awakeFromNib()
- _init()
- }
-
- private lazy var titleLabel: UILabel = {
- let titleLabel = UILabel()
- titleLabel.textAlignment = .left
- titleLabel.font = UIFont.systemFont(ofSize: 16)
- titleLabel.backgroundColor = .white
- titleLabel.layer.masksToBounds = true
- return titleLabel
- }()
- private lazy var switchButton: UISwitch = {
- let switchButton = UISwitch()
- switchButton.isHidden = true
- switchButton.addTarget(self, action: #selector(clickSwitch(_:)), for: .valueChanged)
- return switchButton
- }()
- private lazy var detailLabel: UILabel = {
- let detailLabel = UILabel()
- detailLabel.textAlignment = .right
- detailLabel.font = UIFont.systemFont(ofSize: 14)
- detailLabel.isHidden = true
- detailLabel.textColor = UIColor(netHex: 0x999999)
- detailLabel.backgroundColor = .white
- detailLabel.layer.masksToBounds = true
- return detailLabel
- }()
-
- //MARK: - private func
- private func _init() {
- contentView.addSubview(switchButton)
- contentView.addSubview(titleLabel)
- contentView.addSubview(detailLabel)
- addConstraint(_JCLayoutConstraintMake(titleLabel, .left, .equal, contentView, .left, 15))
- addConstraint(_JCLayoutConstraintMake(titleLabel, .right, .equal, contentView, .centerX))
- addConstraint(_JCLayoutConstraintMake(titleLabel, .centerY, .equal, contentView, .centerY))
- addConstraint(_JCLayoutConstraintMake(titleLabel, .height, .equal, nil, .notAnAttribute, 22.5))
-
- addConstraint(_JCLayoutConstraintMake(detailLabel, .centerY, .equal, contentView, .centerY))
- addConstraint(_JCLayoutConstraintMake(detailLabel, .left, .equal, titleLabel, .right))
- addConstraint(_JCLayoutConstraintMake(detailLabel, .right, .equal, contentView, .right))
- addConstraint(_JCLayoutConstraintMake(detailLabel, .height, .equal, contentView, .height))
- addConstraint(_JCLayoutConstraintMake(switchButton, .right, .equal, contentView, .right, -15))
- addConstraint(_JCLayoutConstraintMake(switchButton, .centerY, .equal, contentView, .centerY))
- }
-
- func clickSwitch(_ sender: UISwitch) {
- delegate?.mineInfoCell?(clickSwitchButton: sender, indexPath: indexPate)
- }
- }
|