HomeView.swift 3.53 KB
//
//  HomeView.swift
//  InterQR-Internship
//
//  Created by Дмитрий Тимофеев on 07.06.2022.
//

import UIKit

class HomeView: UIView {
    
    var logoView: UIImageView = {
        var obj = UIImageView()
        obj.image = UIImage(named: "InterQR")
        return obj
    }()
    var settingsButton: UIButton = {
        var obj = UIButton()
        obj.setImage(UIImage(named: "Setting"), for: .normal)
        obj.layer.borderWidth = 1
        obj.layer.borderColor = UIColor(red: 0.882, green: 0.91, blue: 0.91, alpha: 1).cgColor
        obj.layer.cornerRadius = 13
        return obj
    }()
    var homeImage: UIImageView = {
        var obj = UIImageView()
        obj.image = UIImage(named: "Home")
        return obj
    }()
    var welcomeLabel: UILabel = {
        var obj = UILabel()
        obj.font = .skModernist(type: .bold, ofSize: 35)
        obj.text = "Welcome"
        return obj
    }()
    var doorsLabel: UILabel = {
        var obj = UILabel()
        obj.font = .skModernist(type: .bold, ofSize: 20)
        obj.text = "My doors"
        return obj
    }()
    var tableView: UITableView = {
        var obj = UITableView()
        obj.separatorStyle = .none
        obj.allowsSelection = false
        obj.showsVerticalScrollIndicator = false
        return obj
    }()
    var gradientView: UIImageView = {
        var obj = UIImageView()
        obj.image = UIImage(named: "Gradient")
        return obj
    }()
    var passwordButton: UIButton = {
        var obj = UIButton()
        obj.setImage(UIImage(named: "Password"), for: .normal)
        return obj
    }()
    
    override init(frame: CGRect) {
        super.init(frame: frame)
        backgroundColor = .white
        layout()
    }
    
    required init?(coder: NSCoder) {
        fatalError("init(coder:) has not been implemented")
    }
    
    func layout() {
        addSubview(logoView)
        addSubview(settingsButton)
        addSubview(welcomeLabel)
        addSubview(homeImage)
        addSubview(doorsLabel)
        addSubview(tableView)
        addSubview(gradientView)
        gradientView.addSubview(passwordButton)
        
        logoView.snp.makeConstraints {
            $0.top.equalTo(77)
            $0.leading.equalTo(24)
        }
        settingsButton.snp.makeConstraints {
            $0.top.equalTo(snp.top).offset(63)
            $0.trailing.equalTo(snp.trailing).offset(-27)
            $0.height.width.equalTo(45)
        }
        welcomeLabel.snp.makeConstraints {
            $0.top.equalTo(logoView.snp.bottom).offset(63)
            $0.leading.equalTo(logoView.snp.leading)
        }
        homeImage.snp.makeConstraints {
            $0.top.equalTo(settingsButton.snp.bottom)
            $0.trailing.equalTo(snp.trailing).offset(5)
        }
        doorsLabel.snp.makeConstraints {
            $0.top.equalTo(homeImage.snp.bottom).offset(31)
            $0.leading.equalTo(logoView.snp.leading)
        }
        tableView.snp.makeConstraints {
            $0.top.equalTo(doorsLabel.snp.bottom).offset(28)
            $0.leading.equalTo(snp.leading).offset(20)
            $0.trailing.equalTo(snp.trailing).offset(-27)
            $0.bottom.equalToSuperview()
        }
        gradientView.snp.makeConstraints {
            $0.leading.trailing.bottom.equalToSuperview()
            $0.height.equalTo(75)
        }
        passwordButton.snp.makeConstraints {
            $0.trailing.equalTo(gradientView.snp.trailing).offset(-48)
            $0.bottom.equalTo(gradientView.snp.bottom).offset(-18)
            $0.height.width.equalTo(18.5)
        }
    }
}