// // GroupQRView.swift // Paiai_iOS // // Created by FFIB on 2019/2/18. // Copyright © 2019 FFIB. All rights reserved. // import UIKit import PaiaiUIKit class GroupQRView: NiblessView { private var group_name: String private var group_avatar: String private var groupQR: String lazy var groupAvatarImageView: UIImageView = { let imageView = UIImageView() imageView.image = UIImage(named: group_avatar) return imageView }() lazy var groupNameLabel: UILabel = { let label = UILabel() label.text = group_name label.font = UIFont.systemFont(ofSize: 17) return label }() lazy var qrImageView: UIImageView = { let imageView = UIImageView() imageView.image = UIImage(qr: groupQR) return imageView }() lazy var qrLabel: UILabel = { let label = UILabel() label.text = "扫描二维码加入群" label.textColor = UIColor(gray: 153) label.font = UIFont.systemFont(ofSize: 14) return label }() init(group_name: String, group_avatar: String, groupQR: String) { self.group_name = group_name self.group_avatar = group_avatar self.groupQR = groupQR super.init(frame: CGRect.zero) } override func didMoveToWindow() { super.didMoveToWindow() constructViewHierarchy() activateConstraints() backgroundColor = UIColor.white } private func constructViewHierarchy() { addSubview(groupAvatarImageView) addSubview(groupNameLabel) addSubview(qrImageView) addSubview(qrLabel) } } fileprivate extension GroupQRView { func activateConstraints() { activateConstraintsContent() activateConstraintsQRImageView() activateConstraintsQRLabel() activateConstraintsGroupAvatarImageView() activateConstraintsGroupNameLabel() } func activateConstraintsContent() { guard let superView = superview else { return } translatesAutoresizingMaskIntoConstraints = false NSLayoutConstraint.activate([ widthAnchor.constraint(equalToConstant: 300), centerXAnchor.constraint(equalTo: superView.centerXAnchor), centerYAnchor.constraint(equalTo: superView.centerYAnchor) ]) } func activateConstraintsGroupAvatarImageView() { groupAvatarImageView.translatesAutoresizingMaskIntoConstraints = false NSLayoutConstraint.activate([ groupAvatarImageView.widthAnchor.constraint(equalToConstant: 50), groupAvatarImageView.heightAnchor.constraint(equalToConstant: 50), groupAvatarImageView.centerXAnchor.constraint(equalTo: centerXAnchor), groupAvatarImageView.topAnchor.constraint(equalTo: topAnchor, constant: 12) ]) } func activateConstraintsGroupNameLabel() { groupNameLabel.translatesAutoresizingMaskIntoConstraints = false NSLayoutConstraint.activate([ groupNameLabel.centerXAnchor.constraint(equalTo: centerXAnchor), groupNameLabel.topAnchor.constraint(equalTo: groupAvatarImageView.bottomAnchor, constant: 6) ]) } func activateConstraintsQRImageView() { qrImageView.translatesAutoresizingMaskIntoConstraints = false NSLayoutConstraint.activate([ qrImageView.widthAnchor.constraint(equalToConstant: 250), qrImageView.centerXAnchor.constraint(equalTo: centerXAnchor), qrImageView.widthAnchor.constraint(equalTo: qrImageView.heightAnchor), qrImageView.topAnchor.constraint(equalTo: groupNameLabel.bottomAnchor, constant: 12) ]) } func activateConstraintsQRLabel() { qrLabel.translatesAutoresizingMaskIntoConstraints = false NSLayoutConstraint.activate([ qrLabel.centerXAnchor.constraint(equalTo: centerXAnchor), qrLabel.bottomAnchor.constraint(equalTo: bottomAnchor, constant: -12), qrLabel.topAnchor.constraint(equalTo: qrImageView.bottomAnchor, constant: 6) ]) } }