|
@@ -1,557 +0,0 @@
|
|
|
-
|
|
|
-// MARK: - 设置页退出登录跟注销账号提示视图
|
|
|
-
|
|
|
-/// 设置页退出登录跟注销账号提示视图
|
|
|
-open class PQRemindView: UIView {
|
|
|
- public var isBanned: Bool = false // 是否是拉黑用户提示
|
|
|
- public var isBlank: Bool = false { // 是否是黑色弹窗
|
|
|
- didSet {
|
|
|
- if isBlank {
|
|
|
- contentView.backgroundColor = UIColor.hexColor(hexadecimal: "#212223")
|
|
|
- titleLab.textColor = UIColor.white
|
|
|
- contentLab.textColor = UIColor.white
|
|
|
- cancelBtn.setTitleColor(UIColor.white, for: .normal)
|
|
|
- confirmBtn.setTitleColor(UIColor.white, for: .normal)
|
|
|
- } else {
|
|
|
- contentView.backgroundColor = UIColor.white
|
|
|
- contentLab.textColor = UIColor.hexColor(hexadecimal: "#666666")
|
|
|
- titleLab.textColor = UIColor.black
|
|
|
- cancelBtn.setTitleColor(UIColor.black, for: .normal)
|
|
|
- confirmBtn.setTitleColor(UIColor.black, for: .normal)
|
|
|
- }
|
|
|
- }
|
|
|
- }
|
|
|
-
|
|
|
- public var remindBlock: ((_ sender: UIButton, _ remindData: PQBaseModel?) -> Void)?
|
|
|
-
|
|
|
- lazy public var contentView: UIView = {
|
|
|
- let contentView = UIView()
|
|
|
- contentView.backgroundColor = UIColor.white
|
|
|
- contentView.addCorner(corner: 4)
|
|
|
- return contentView
|
|
|
- }()
|
|
|
-
|
|
|
- lazy public var titleLab: UILabel = {
|
|
|
- let titleLab = UILabel()
|
|
|
- titleLab.font = UIFont.systemFont(ofSize: 18, weight: .medium)
|
|
|
- titleLab.textAlignment = .center
|
|
|
- titleLab.numberOfLines = 0
|
|
|
- titleLab.textColor = UIColor.black
|
|
|
- return titleLab
|
|
|
- }()
|
|
|
-
|
|
|
- lazy public var contentLab: UILabel = {
|
|
|
- // let contentLab = TYAttributedLabel.init()
|
|
|
- // contentLab.textAlignment = CTTextAlignment.center
|
|
|
- // contentLab.verticalAlignment = .center
|
|
|
- // contentLab.highlightedLinkBackgroundColor = UIColor.white
|
|
|
- // contentLab.numberOfLines = 0
|
|
|
- // contentLab.font = UIFont.systemFont(ofSize: 14)
|
|
|
- // contentLab.textColor = UIColor.hexColor(hexadecimal: "#666666")
|
|
|
- let contentLab = UILabel()
|
|
|
- contentLab.font = UIFont.systemFont(ofSize: 16)
|
|
|
- contentLab.textAlignment = .center
|
|
|
- contentLab.numberOfLines = 0
|
|
|
- contentLab.textColor = UIColor.hexColor(hexadecimal: "#666666")
|
|
|
- return contentLab
|
|
|
- }()
|
|
|
-
|
|
|
- lazy public var cancelBtn: UIButton = {
|
|
|
- let cancelBtn = UIButton(type: .custom)
|
|
|
- cancelBtn.setTitle("取消", for: .normal)
|
|
|
- cancelBtn.setTitleColor(UIColor.black, for: .normal)
|
|
|
- cancelBtn.tag = 1
|
|
|
- cancelBtn.addTarget(self, action: #selector(btnClck(sender:)), for: .touchUpInside)
|
|
|
- cancelBtn.titleLabel?.font = UIFont.systemFont(ofSize: 16, weight: .medium)
|
|
|
- return cancelBtn
|
|
|
- }()
|
|
|
-
|
|
|
- lazy public var confirmBtn: UIButton = {
|
|
|
- let confirmBtn = UIButton(type: .custom)
|
|
|
- confirmBtn.setTitle("确定", for: .normal)
|
|
|
- confirmBtn.setTitleColor(UIColor.black, for: .normal)
|
|
|
- confirmBtn.tag = 2
|
|
|
- confirmBtn.addTarget(self, action: #selector(btnClck(sender:)), for: .touchUpInside)
|
|
|
- confirmBtn.titleLabel?.font = UIFont.systemFont(ofSize: 16, weight: .medium)
|
|
|
- return confirmBtn
|
|
|
- }()
|
|
|
-
|
|
|
- lazy public var verticalLine: UIView = {
|
|
|
- let verticalLine = UIView()
|
|
|
- verticalLine.backgroundColor = UIColor.hexColor(hexadecimal: "#E5E5E5")
|
|
|
- return verticalLine
|
|
|
- }()
|
|
|
-
|
|
|
- lazy public var horizonLine: UIView = {
|
|
|
- let horizonLine = UIView()
|
|
|
- horizonLine.backgroundColor = UIColor.hexColor(hexadecimal: "#E5E5E5")
|
|
|
- return horizonLine
|
|
|
- }()
|
|
|
-
|
|
|
- override public init(frame: CGRect) {
|
|
|
- super.init(frame: frame)
|
|
|
- addSubview(contentView)
|
|
|
- contentView.addSubview(titleLab)
|
|
|
- contentView.addSubview(contentLab)
|
|
|
- contentView.addSubview(cancelBtn)
|
|
|
- contentView.addSubview(confirmBtn)
|
|
|
- contentView.addSubview(verticalLine)
|
|
|
- contentView.addSubview(horizonLine)
|
|
|
- backgroundColor = cShadowColor
|
|
|
- }
|
|
|
-
|
|
|
- required public init?(coder _: NSCoder) {
|
|
|
- fatalError("init(coder:) has not been implemented")
|
|
|
- }
|
|
|
-
|
|
|
- public var remindData: PQBaseModel? {
|
|
|
- didSet {
|
|
|
- addData()
|
|
|
- addLayout()
|
|
|
- }
|
|
|
- }
|
|
|
-
|
|
|
- open func addData() {
|
|
|
- titleLab.text = remindData?.title
|
|
|
- contentLab.text = remindData?.summary
|
|
|
- cancelBtn.setTitleColor(isBanned ? (isBlank ? UIColor.white : UIColor.black) : (isBlank ? UIColor.white : UIColor.hexColor(hexadecimal: "#666666")), for: .normal)
|
|
|
- if isBanned {
|
|
|
- titleLab.textAlignment = .center
|
|
|
- } else {
|
|
|
- titleLab.textAlignment = .left
|
|
|
- }
|
|
|
- }
|
|
|
-
|
|
|
- open func addLayout() {
|
|
|
- var summH: CGFloat = 0
|
|
|
- var titleH: CGFloat = 0
|
|
|
- if (remindData?.summary?.count ?? 0) > 0 {
|
|
|
- summH = sizeWithText(text: remindData?.summary ?? "", font: UIFont.systemFont(ofSize: 16, weight: .medium), size: CGSize(width: cScreenWidth - cDefaultMargin * 12, height: CGFloat.greatestFiniteMagnitude)).height + cDefaultMargin
|
|
|
- }
|
|
|
- if (remindData?.title?.count ?? 0) > 0 {
|
|
|
- titleH = sizeWithText(text: remindData?.title ?? "", font: UIFont.systemFont(ofSize: 18, weight: .medium), size: CGSize(width: cScreenWidth - cDefaultMargin * 12, height: CGFloat.greatestFiniteMagnitude)).height + cDefaultMargin
|
|
|
- if titleH < cDefaultMargin * 2 {
|
|
|
- titleH = cDefaultMargin * 2
|
|
|
- }
|
|
|
- }
|
|
|
- let contentH: CGFloat = cDefaultMargin * 2 + (titleH > 0 ? titleH + cDefaultMargin : 0) + (summH > 0 ? summH + cDefaultMargin : 0) + cDefaultMargin * 3 + (isBanned ? cDefaultMargin * 2 : 0)
|
|
|
- contentView.snp.makeConstraints { make in
|
|
|
- make.left.equalTo(self).offset(cDefaultMargin * 4)
|
|
|
- make.right.equalTo(self).offset(-cDefaultMargin * 4)
|
|
|
- make.height.equalTo(contentH)
|
|
|
- make.center.equalTo(self)
|
|
|
- }
|
|
|
- titleLab.snp.makeConstraints { make in
|
|
|
- make.left.equalTo(contentView).offset(cDefaultMargin * 2)
|
|
|
- make.right.equalTo(contentView).offset(-cDefaultMargin * 2)
|
|
|
- make.height.equalTo(titleH)
|
|
|
- make.top.equalTo(contentView).offset(cDefaultMargin * 2)
|
|
|
- }
|
|
|
- contentLab.snp.makeConstraints { make in
|
|
|
- make.top.equalTo(titleLab.snp.bottom).offset(summH > 0 ? cDefaultMargin : 0)
|
|
|
- make.left.right.equalTo(titleLab)
|
|
|
- make.height.equalTo(summH)
|
|
|
- }
|
|
|
- if isBanned {
|
|
|
- let btnW: CGFloat = (cScreenWidth - 1 - cDefaultMargin * 8) / 2
|
|
|
- verticalLine.snp.makeConstraints { make in
|
|
|
- make.top.equalTo(contentLab.snp.bottom).offset(cDefaultMargin)
|
|
|
- make.height.equalTo(1)
|
|
|
- make.left.width.equalToSuperview()
|
|
|
- }
|
|
|
- cancelBtn.snp.makeConstraints { make in
|
|
|
- make.left.equalToSuperview()
|
|
|
- make.top.equalTo(verticalLine.snp.bottom)
|
|
|
- make.width.equalTo(btnW)
|
|
|
- make.bottom.equalTo(contentView)
|
|
|
- }
|
|
|
- horizonLine.snp.makeConstraints { make in
|
|
|
- make.left.equalTo(cancelBtn.snp.right)
|
|
|
- make.height.top.equalTo(cancelBtn)
|
|
|
- make.width.equalTo(1)
|
|
|
- }
|
|
|
- confirmBtn.snp.makeConstraints { make in
|
|
|
- make.right.equalToSuperview()
|
|
|
- make.height.width.bottom.equalTo(cancelBtn)
|
|
|
- }
|
|
|
- } else {
|
|
|
- confirmBtn.snp.makeConstraints { make in
|
|
|
- make.right.equalTo(titleLab)
|
|
|
- make.height.equalTo(cDefaultMargin * 4)
|
|
|
- make.width.equalTo(cDefaultMargin * 6)
|
|
|
- make.bottom.equalTo(contentView).offset(-cDefaultMargin)
|
|
|
- }
|
|
|
- cancelBtn.snp.makeConstraints { make in
|
|
|
- make.right.equalTo(confirmBtn.snp.left).offset(-cDefaultMargin)
|
|
|
- make.height.equalTo(cDefaultMargin * 4)
|
|
|
- make.width.equalTo(cDefaultMargin * 6)
|
|
|
- make.bottom.equalTo(confirmBtn)
|
|
|
- }
|
|
|
- }
|
|
|
- }
|
|
|
-
|
|
|
- @objc open func btnClck(sender: UIButton) {
|
|
|
- removeFromSuperview()
|
|
|
- if remindBlock != nil {
|
|
|
- remindBlock!(sender, remindData!)
|
|
|
- }
|
|
|
- }
|
|
|
-}
|
|
|
-
|
|
|
-// MARK: 空白提示页
|
|
|
-
|
|
|
-/// 空白提示页
|
|
|
-open class PQEmptyRemindView: UIView {
|
|
|
- // 是否没网提示
|
|
|
- public var isNetLost:Bool = false {
|
|
|
- didSet {
|
|
|
-
|
|
|
- addData()
|
|
|
- addLayout()
|
|
|
- }
|
|
|
- }
|
|
|
- // 回调
|
|
|
- public var fullRefreshBloc: ((_ isNetConnected: Bool, _ emptyData: PQEmptyModel?) -> Void)?
|
|
|
-
|
|
|
- lazy public var imageView: UIImageView = {
|
|
|
- let imageView = UIImageView()
|
|
|
- imageView.backgroundColor = UIColor.clear
|
|
|
- imageView.contentMode = .scaleAspectFit
|
|
|
- return imageView
|
|
|
- }()
|
|
|
-
|
|
|
- lazy public var remindLab: UILabel = {
|
|
|
- let remindLab = UILabel()
|
|
|
- remindLab.font = UIFont.systemFont(ofSize: 16)
|
|
|
- remindLab.numberOfLines = 1
|
|
|
- remindLab.textAlignment = NSTextAlignment.center
|
|
|
- remindLab.textColor = UIColor.white
|
|
|
- return remindLab
|
|
|
- }()
|
|
|
-
|
|
|
-// lazy public var shimmeringView: FBShimmeringView = {
|
|
|
-// let shimmeringView = FBShimmeringView()
|
|
|
-// shimmeringView.isShimmering = false
|
|
|
-// shimmeringView.shimmeringBeginFadeDuration = 0.3
|
|
|
-// shimmeringView.shimmeringEndFadeDuration = 0.1
|
|
|
-// shimmeringView.shimmeringOpacity = 0.2
|
|
|
-// shimmeringView.shimmeringSpeed = 300
|
|
|
-// shimmeringView.contentView = remindLab
|
|
|
-// return shimmeringView
|
|
|
-// }()
|
|
|
-
|
|
|
- lazy public var remindSubLab: UILabel = {
|
|
|
- let remindSubLab = UILabel()
|
|
|
- remindSubLab.font = UIFont.systemFont(ofSize: 14)
|
|
|
- remindSubLab.numberOfLines = 1
|
|
|
- remindSubLab.textAlignment = NSTextAlignment.center
|
|
|
- remindSubLab.textColor = UIColor.hexColor(hexadecimal: "#999999")
|
|
|
- return remindSubLab
|
|
|
- }()
|
|
|
-
|
|
|
- lazy public var refreshBtn: UIButton = {
|
|
|
- let refreshBtn = UIButton(type: .custom)
|
|
|
- refreshBtn.backgroundColor = UIColor.hexColor(hexadecimal: "#EE0051")
|
|
|
- refreshBtn.titleLabel?.font = UIFont.systemFont(ofSize: 15)
|
|
|
- refreshBtn.setTitleColor(UIColor.white, for: .normal)
|
|
|
- refreshBtn.setTitle("刷新", for: .normal)
|
|
|
- refreshBtn.setTitle("重新连接网络", for: .selected)
|
|
|
- refreshBtn.addCorner(corner: cDefaultMargin * 2)
|
|
|
- refreshBtn.isHidden = true
|
|
|
- refreshBtn.addTarget(self, action: #selector(fullRefresh), for: .touchUpInside)
|
|
|
- return refreshBtn
|
|
|
- }()
|
|
|
-
|
|
|
- override public init(frame: CGRect) {
|
|
|
- super.init(frame: frame)
|
|
|
- addSubview(imageView)
|
|
|
-// addSubview(shimmeringView)
|
|
|
- addSubview(remindLab)
|
|
|
- addSubview(remindSubLab)
|
|
|
- addSubview(refreshBtn)
|
|
|
- let ges = UITapGestureRecognizer(target: self, action: #selector(fullRefresh))
|
|
|
- addGestureRecognizer(ges)
|
|
|
- backgroundColor = PQBFConfig.shared.styleBackGroundColor
|
|
|
- }
|
|
|
-
|
|
|
- required public init?(coder _: NSCoder) {
|
|
|
- fatalError("init(coder:) has not been implemented")
|
|
|
- }
|
|
|
-
|
|
|
- @objc public var emptyData: PQEmptyModel? {
|
|
|
- didSet {
|
|
|
- addData()
|
|
|
- addLayout()
|
|
|
- }
|
|
|
- }
|
|
|
-}
|
|
|
-
|
|
|
-extension PQEmptyRemindView {
|
|
|
- public func addData() {
|
|
|
- backgroundColor = emptyData?.bgColor ?? PQBFConfig.shared.styleBackGroundColor
|
|
|
- if emptyData?.titleColor != nil {
|
|
|
- remindLab.textColor = (emptyData?.titleColor)!
|
|
|
- }
|
|
|
- if emptyData?.summaryColor != nil {
|
|
|
- remindSubLab.textColor = (emptyData?.summaryColor)!
|
|
|
- }
|
|
|
- if isNetLost {
|
|
|
- remindSubLab.isHidden = true
|
|
|
- refreshBtn.isHidden = false
|
|
|
- remindLab.text = emptyData?.netDisTitle ?? "网络连接失败,请检查网络后重试"
|
|
|
- if emptyData?.netDisRefreshBgColor != nil {
|
|
|
- refreshBtn.backgroundColor = emptyData?.netDisRefreshBgColor
|
|
|
- } else {
|
|
|
- refreshBtn.backgroundColor = UIColor.hexColor(hexadecimal: "#EE0051")
|
|
|
- }
|
|
|
- if emptyData?.netDisTitleColor != nil {
|
|
|
- refreshBtn.setTitleColor(emptyData?.netDisTitleColor, for: .normal)
|
|
|
- }else{
|
|
|
- refreshBtn.setTitleColor(UIColor.white, for: .normal)
|
|
|
- }
|
|
|
- if emptyData?.netDisRefreshTitle != nil {
|
|
|
- refreshBtn.setAttributedTitle(emptyData?.netDisRefreshTitle, for: .normal)
|
|
|
- }else {
|
|
|
- refreshBtn.setTitle("刷新", for: .normal)
|
|
|
- }
|
|
|
- imageView.image = emptyData?.netemptyDisImage ?? UIImage.moduleImage(named: "pic_network", moduleName: "BFCommonKit")
|
|
|
- } else {
|
|
|
-// if emptyData?.emptyImage != nil, emptyData?.emptyImage?.count ?? 0 > 0 {
|
|
|
-// imageView.image = UIImage.moduleImage(named: emptyData?.emptyImage ?? "", moduleName: "BFCommonKit")
|
|
|
-// } else {
|
|
|
-// imageView.image = nil
|
|
|
-// }
|
|
|
- remindSubLab.isHidden = !(emptyData?.title != nil && emptyData?.title?.count ?? 0 > 0)
|
|
|
- remindSubLab.isHidden = !(emptyData?.summary != nil && emptyData?.summary?.count ?? 0 > 0)
|
|
|
- imageView.image = emptyData?.emptySoureImage ?? UIImage.moduleImage(named: emptyData?.emptyImage ?? "", moduleName: "BFCommonKit")
|
|
|
- remindLab.text = emptyData?.title
|
|
|
- remindSubLab.text = emptyData?.summary
|
|
|
- refreshBtn.isHidden = emptyData?.isRefreshHidden ?? true
|
|
|
- if emptyData?.refreshImage != nil, (emptyData?.refreshImage?.count ?? 0) > 0 {
|
|
|
- refreshBtn.setImage(UIImage.moduleImage(named: emptyData?.refreshImage ?? "", moduleName: "BFCommonKit"), for: .normal)
|
|
|
- } else {
|
|
|
- refreshBtn.setImage(nil, for: .normal)
|
|
|
- }
|
|
|
- refreshBtn.setAttributedTitle(emptyData?.refreshTitle, for: .normal)
|
|
|
- if emptyData?.refreshBgColor != nil {
|
|
|
- refreshBtn.backgroundColor = emptyData?.refreshBgColor
|
|
|
- }
|
|
|
- }
|
|
|
- }
|
|
|
-
|
|
|
- override public var isHidden: Bool {
|
|
|
- didSet {
|
|
|
-// addData()
|
|
|
-// addLayout()
|
|
|
- }
|
|
|
- }
|
|
|
-
|
|
|
- public func addLayout() {
|
|
|
- let margin: CGFloat = 10
|
|
|
- var imageH: CGFloat = margin * 7
|
|
|
- var contentH: CGFloat = 0
|
|
|
- let normalH : CGFloat = margin * 2
|
|
|
-
|
|
|
- if (emptyData?.emptySoureImage != nil) || (emptyData?.emptyImage != nil && emptyData?.emptyImage?.count ?? 0 > 0) || isNetLost {
|
|
|
- contentH = contentH + imageH
|
|
|
- } else {
|
|
|
- imageH = 0
|
|
|
- }
|
|
|
- if !remindLab.isHidden {
|
|
|
- contentH = contentH + normalH + margin
|
|
|
- }
|
|
|
- if !remindSubLab.isHidden {
|
|
|
- contentH = contentH + normalH + margin
|
|
|
- }
|
|
|
- if !refreshBtn.isHidden {
|
|
|
- contentH = contentH + normalH + margin * 4
|
|
|
- }
|
|
|
- let topY = (frame.height - contentH) / 2 - normalH
|
|
|
- imageView.snp.remakeConstraints { make in
|
|
|
- make.top.equalTo(topY)
|
|
|
- make.centerX.equalTo(self)
|
|
|
- make.height.equalTo(imageH)
|
|
|
- }
|
|
|
-// shimmeringView.snp.makeConstraints { make in
|
|
|
-// make.left.right.equalTo(self)
|
|
|
-// make.top.equalTo(imageView.snp.bottom).offset(cDefaultMargin)
|
|
|
-// }
|
|
|
- remindLab.snp.remakeConstraints { make in
|
|
|
- make.left.right.equalToSuperview()
|
|
|
- make.height.equalTo(remindLab.isHidden ? 0 : normalH)
|
|
|
- make.top.equalTo(imageView.snp.bottom).offset(remindLab.isHidden ? 0 : margin)
|
|
|
- }
|
|
|
- remindSubLab.snp.remakeConstraints { make in
|
|
|
- make.left.right.equalToSuperview()
|
|
|
- make.height.equalTo(remindSubLab.isHidden ? 0 : normalH)
|
|
|
- make.top.equalTo(remindLab.snp.bottom).offset(remindSubLab.isHidden ? 0 : cDefaultMargin)
|
|
|
- }
|
|
|
- refreshBtn.snp.remakeConstraints { make in
|
|
|
- make.width.equalTo(margin * 16)
|
|
|
- make.height.equalTo(margin * 4)
|
|
|
- make.top.equalTo(remindSubLab.snp.bottom).offset(normalH)
|
|
|
- make.centerX.equalToSuperview()
|
|
|
- }
|
|
|
- }
|
|
|
-
|
|
|
- @objc func fullRefresh() {
|
|
|
-// let isConnected: Bool = isNetConnected()
|
|
|
-// if isNetLost {
|
|
|
-// cShowHUB(superView: nil, msg: "网络不给力")
|
|
|
-// }
|
|
|
- if fullRefreshBloc != nil {
|
|
|
- fullRefreshBloc!(isNetLost, emptyData)
|
|
|
- }
|
|
|
- }
|
|
|
-
|
|
|
- func addShimmeringView() {}
|
|
|
-
|
|
|
- func removeShimmeringView() {}
|
|
|
-}
|
|
|
-
|
|
|
-// MARK: - 上传提示框
|
|
|
-
|
|
|
-/// 上传提示框
|
|
|
-public class PQUploadRemindView: PQRemindView {
|
|
|
- public var canMoreOpration: Bool = false // 是否还有更多操作
|
|
|
- public var confirmTitle: String = "我知道了"
|
|
|
- public var cancelTitle: String = "取消"
|
|
|
- public var cacelColor: UIColor = UIColor.hexColor(hexadecimal: "#666666")
|
|
|
- public var attributedTitle: NSAttributedString?
|
|
|
-
|
|
|
- override public func addData() {
|
|
|
- titleLab.textAlignment = .center
|
|
|
- if attributedTitle != nil {
|
|
|
- titleLab.attributedText = attributedTitle
|
|
|
- } else {
|
|
|
- titleLab.text = remindData?.title
|
|
|
- }
|
|
|
- if remindData?.attributedTitle != nil {
|
|
|
- contentLab.attributedText = remindData?.attributedTitle
|
|
|
- } else {
|
|
|
- contentLab.text = remindData?.summary
|
|
|
- }
|
|
|
- cancelBtn.setTitleColor(cacelColor, for: .normal)
|
|
|
- confirmBtn.setTitleColor(UIColor.hexColor(hexadecimal: "#EE0051"), for: .normal)
|
|
|
- confirmBtn.setTitle(confirmTitle, for: .normal)
|
|
|
- cancelBtn.setTitle(cancelTitle, for: .normal)
|
|
|
- let ges = UITapGestureRecognizer(target: self, action: #selector(removeView))
|
|
|
- addGestureRecognizer(ges)
|
|
|
- }
|
|
|
-
|
|
|
- override public func addLayout() {
|
|
|
- let titleH: CGFloat = ((remindData?.title != nil && (remindData?.title?.count ?? 0) > 0) || attributedTitle != nil) ? cDefaultMargin * 2 : 0
|
|
|
-
|
|
|
- let summH: CGFloat = sizeTextFits(attributedText: remindData?.attributedTitle != nil ? remindData?.attributedTitle : NSMutableAttributedString(string: remindData?.summary ?? ""), text: nil, numberOfLines: 0, font: UIFont.systemFont(ofSize: 14), maxSize: CGSize(width: cScreenWidth - cDefaultMargin * 12, height: CGFloat.greatestFiniteMagnitude)).height + cDefaultMargin
|
|
|
-
|
|
|
- let contentH: CGFloat = (titleH == 0 ? 0 : cDefaultMargin * 3) + cDefaultMargin * 2 + summH + cDefaultMargin + cDefaultMargin * 5
|
|
|
-
|
|
|
- contentView.snp.makeConstraints { make in
|
|
|
- make.left.equalTo(self).offset(cDefaultMargin * 3)
|
|
|
- make.right.equalTo(self).offset(-cDefaultMargin * 3)
|
|
|
- make.height.equalTo(contentH)
|
|
|
- make.center.equalTo(self)
|
|
|
- }
|
|
|
- titleLab.snp.makeConstraints { make in
|
|
|
- make.left.equalTo(contentView).offset(cDefaultMargin * 2)
|
|
|
- make.right.equalTo(contentView).offset(-cDefaultMargin * 2)
|
|
|
- make.height.equalTo(titleH)
|
|
|
- make.top.equalTo(contentView).offset(titleH == 0 ? 0 : cDefaultMargin * 2)
|
|
|
- }
|
|
|
- contentLab.snp.makeConstraints { make in
|
|
|
- make.top.equalTo(titleLab.snp.bottom).offset(cDefaultMargin)
|
|
|
- make.left.right.equalTo(titleLab)
|
|
|
- make.height.equalTo(summH)
|
|
|
- }
|
|
|
- if canMoreOpration {
|
|
|
- let btnW: CGFloat = (cScreenWidth - 1 - cDefaultMargin * 8) / 2
|
|
|
- verticalLine.snp.makeConstraints { make in
|
|
|
- make.top.equalTo(contentLab.snp.bottom).offset(cDefaultMargin)
|
|
|
- make.height.equalTo(1)
|
|
|
- make.left.width.equalToSuperview()
|
|
|
- }
|
|
|
- cancelBtn.snp.makeConstraints { make in
|
|
|
- make.left.equalToSuperview()
|
|
|
- make.top.equalTo(verticalLine.snp.bottom)
|
|
|
- make.width.equalTo(btnW)
|
|
|
- make.bottom.equalTo(contentView)
|
|
|
- }
|
|
|
- horizonLine.snp.makeConstraints { make in
|
|
|
- make.left.equalTo(cancelBtn.snp.right)
|
|
|
- make.height.top.equalTo(cancelBtn)
|
|
|
- make.width.equalTo(1)
|
|
|
- }
|
|
|
- confirmBtn.snp.makeConstraints { make in
|
|
|
- make.right.equalToSuperview()
|
|
|
- make.height.width.bottom.equalTo(cancelBtn)
|
|
|
- }
|
|
|
- } else {
|
|
|
- verticalLine.snp.makeConstraints { make in
|
|
|
- make.top.equalTo(contentLab.snp.bottom).offset(cDefaultMargin)
|
|
|
- make.height.equalTo(1)
|
|
|
- make.left.width.equalToSuperview()
|
|
|
- }
|
|
|
- confirmBtn.snp.makeConstraints { make in
|
|
|
- make.right.left.equalTo(titleLab)
|
|
|
- make.top.equalTo(verticalLine.snp.bottom)
|
|
|
- make.bottom.equalTo(contentView)
|
|
|
- }
|
|
|
- }
|
|
|
- }
|
|
|
-
|
|
|
- @objc func removeView() {
|
|
|
- removeFromSuperview()
|
|
|
- }
|
|
|
-
|
|
|
- @objc public override func btnClck(sender: UIButton) {
|
|
|
- removeFromSuperview()
|
|
|
- if remindBlock != nil {
|
|
|
- remindBlock!(sender, remindData!)
|
|
|
- }
|
|
|
- }
|
|
|
-
|
|
|
- /// 快速生成
|
|
|
- /// - Parameters:
|
|
|
- /// - title: <#title description#>
|
|
|
- /// - summary: <#summary description#>
|
|
|
- /// - confirmTitle: <#confirmTitle description#>
|
|
|
- /// - remindHandle: <#remindHandle description#>
|
|
|
- /// - Returns: <#description#>
|
|
|
- class public func showUploadRemindView(title: String?, attributedTitle: NSAttributedString? = nil, summary: String, canMoreOpration: Bool = false, confirmTitle: String?, cancelTitle: String? = nil, cancelColor: UIColor? = nil,confirmColor: UIColor? = nil, remindHandle: @escaping (_ sender: UIButton, _ baseModel: PQBaseModel?) -> Void) {
|
|
|
- if UIApplication.shared.keyWindow?.viewWithTag(cUploadViewRemindTag) != nil {
|
|
|
- UIApplication.shared.keyWindow?.viewWithTag(cUploadViewRemindTag)?.removeFromSuperview()
|
|
|
- }
|
|
|
- let remindData = PQBaseModel()
|
|
|
- let paragraphStyle = NSMutableParagraphStyle()
|
|
|
- paragraphStyle.lineSpacing = 3.0
|
|
|
- paragraphStyle.alignment = .center
|
|
|
- remindData.title = title
|
|
|
- remindData.attributedTitle = NSMutableAttributedString(string: summary, attributes: [NSAttributedString.Key.font: UIFont.systemFont(ofSize: 14), NSAttributedString.Key.foregroundColor: UIColor.hexColor(hexadecimal: "#666666"), NSAttributedString.Key.paragraphStyle: paragraphStyle])
|
|
|
- let remindView = PQUploadRemindView(frame: CGRect(x: 0, y: 0, width: cScreenWidth, height: cScreenHeigth))
|
|
|
- remindView.canMoreOpration = canMoreOpration
|
|
|
- if confirmTitle != nil {
|
|
|
- remindView.confirmTitle = confirmTitle!
|
|
|
- }
|
|
|
- if cancelTitle != nil {
|
|
|
- remindView.cancelTitle = cancelTitle!
|
|
|
- }
|
|
|
- if cancelColor != nil {
|
|
|
- remindView.cacelColor = cancelColor!
|
|
|
- }
|
|
|
- if attributedTitle != nil {
|
|
|
- remindView.attributedTitle = attributedTitle
|
|
|
- }
|
|
|
- remindView.remindBlock = { sender, baseModel in
|
|
|
- remindHandle(sender, baseModel)
|
|
|
- }
|
|
|
-
|
|
|
- remindView.tag = cUploadViewRemindTag
|
|
|
- UIApplication.shared.keyWindow?.addSubview(remindView)
|
|
|
- remindView.remindData = remindData
|
|
|
-
|
|
|
- if(confirmColor != nil){
|
|
|
- remindView.confirmBtn.setTitleColor(confirmColor, for: .normal)
|
|
|
- }
|
|
|
-
|
|
|
- }
|
|
|
-}
|