123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168 |
- //
- // MineTableViewHeaderView.swift
- // RainbowPlanet
- //
- // Created by 南鑫林 on 2019/4/24.
- // Copyright © 2019 南鑫林. All rights reserved.
- //
- import UIKit
- class MineTableViewHeaderView: BaseView {
- typealias AddressClosure = () -> Void
- var addressClosure : AddressClosure?
-
- override func setupViews() {
- addSubview(bgView)
- addSubview(homepageView)
- homepageView.addSubview(avatarBgButton)
- homepageView.addSubview(lineLabel)
- homepageView.addSubview(addressBgButton)
- avatarBgButton.addSubview(avatarButton)
- avatarBgButton.addSubview(nickNameLabel)
- avatarBgButton.addSubview(goButton)
- addressBgButton.addSubview(addressLabel)
- addressBgButton.addSubview(goAddressButton)
-
- }
-
- override func setupLayouts() {
- homepageView.snp.makeConstraints { (make) in
- make.top.equalTo(kNavBarTotalHeight)
- make.left.equalTo(15)
- make.right.equalTo(-15)
- make.height.equalTo(124)
- }
- avatarBgButton.snp.makeConstraints { (make) in
- make.top.left.right.equalToSuperview()
- make.height.equalTo(80)
- }
- lineLabel.snp.makeConstraints { (make) in
- make.top.equalTo(avatarBgButton.snp.bottom)
- make.left.equalToSuperview().offset(16)
- make.right.equalToSuperview()
- make.height.equalTo(0.5)
- }
- addressBgButton.snp.makeConstraints { (make) in
- make.top.equalTo(lineLabel.snp.bottom)
- make.bottom.left.right.equalToSuperview()
- }
- avatarButton.snp.makeConstraints { (make) in
- make.centerY.equalToSuperview()
- make.left.equalToSuperview().offset(16)
- make.size.equalTo(50)
- }
- nickNameLabel.snp.makeConstraints { (make) in
- make.centerY.equalToSuperview()
- make.left.equalTo(avatarButton.snp.right).offset(15)
- }
-
- goButton.snp.makeConstraints { (make) in
- make.centerY.equalToSuperview()
- make.right.equalTo(-10)
- }
- goButton.layoutButton(edgeInsetsStyle: ButtonEdgeInsetsStyle.right, imageTitleSpace: 4)
-
- addressLabel.snp.makeConstraints { (make) in
- make.centerY.equalToSuperview()
- make.left.equalTo(16)
- }
-
- goAddressButton.snp.makeConstraints { (make) in
- make.centerY.equalToSuperview()
- make.right.equalTo(-10)
- }
- }
-
- private lazy var bgView: UIView = {
- let bgView = UIView(frame: CGRect(x: 0, y: 0, width: kScreenWidth, height: kNavBarTotalHeight + 46))
- bgView.backgroundColor = kf7f8faColor
- let bgLayer1 = CAGradientLayer()
- bgLayer1.colors = [UIColor(red: 0.99, green: 0.74, blue: 0.42, alpha: 1).cgColor, UIColor(red: 1, green: 0.67, blue: 0.2, alpha: 1).cgColor]
- bgLayer1.locations = [0, 1]
- bgLayer1.frame = bgView.bounds
- bgLayer1.startPoint = CGPoint(x: 1, y: 0)
- bgLayer1.endPoint = CGPoint(x: 1.13, y: 1.13)
- bgView.layer.addSublayer(bgLayer1)
- return bgView
- }()
-
- private lazy var homepageView : UIView = {
- let homepageView = UIView()
- homepageView.backgroundColor = UIColor.white
- homepageView.cornerRadius = 2.5
- homepageView.masksToBounds = true
- return homepageView
- }()
-
- private lazy var avatarBgButton: UIButton = {
- let avatarBgButton = UIButton(type: UIButton.ButtonType.custom)
- return avatarBgButton
- }()
-
- private lazy var lineLabel: UILabel = {
- let lineLabel = UILabel()
- lineLabel.backgroundColor = kf5f5f5Color
- return lineLabel
- }()
-
- private lazy var addressBgButton: UIButton = {
- let avatarBgButton = UIButton(type: UIButton.ButtonType.custom)
- avatarBgButton.rx.tap.subscribe(onNext: { [weak self] (data) in
- if let addressClosure = self?.addressClosure {
- addressClosure()
- }
- }).disposed(by: disposeBag)
- return avatarBgButton
- }()
-
- private lazy var avatarButton: UIButton = {
- let avatarButton = UIButton(type: UIButton.ButtonType.custom)
- avatarButton.setBackgroundImage(kImage(name: "logo"), for: UIControl.State.normal)
- avatarButton.cornerRadius = 25
- avatarButton.masksToBounds = true
- return avatarButton
- }()
-
- private lazy var nickNameLabel: UILabel = {
- let nickNameLabel = UILabel()
- nickNameLabel.text = "昵称"
- nickNameLabel.textColor = k333333Color
- nickNameLabel.font = kMediumFont21
- return nickNameLabel
- }()
-
- private lazy var goButton: UIButton = {
- let goButton = UIButton(type: UIButton.ButtonType.custom)
- goButton.setImage(kImage(name: "my_arrows_unfold"), for: UIControl.State.normal)
- goButton.setTitle("个人主页", for: UIControl.State.normal)
- goButton.setTitleColor(k999999Color, for: UIControl.State.normal)
- goButton.titleLabel?.font = kRegularFont13
- return goButton
- }()
-
- private lazy var addressLabel: UILabel = {
- let addressLabel = UILabel()
- addressLabel.text = "我的地址管理"
- addressLabel.textColor = k333333Color
- addressLabel.font = kRegularFont16
- return addressLabel
- }()
-
- private lazy var goAddressButton: UIButton = {
- let goAddressButton = UIButton(type: UIButton.ButtonType.custom)
- goAddressButton.setImage(kImage(name: "my_arrows_unfold"), for: UIControl.State.normal)
- return goAddressButton
- }()
-
- var userModel : UserModel? {
- didSet {
- avatarButton.kf.setImage(with: kURLImage(name: userModel?.avatarurl ?? ""), for: UIControl.State.normal, placeholder: kImage(name: "logo"))
- nickNameLabel.text = userModel?.username
- }
- }
-
- }
|