You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
151 lines
5.8 KiB
151 lines
5.8 KiB
//
|
|
// InfographyView.swift
|
|
// TournamentStats
|
|
//
|
|
// Created by Laurent Morvillier on 05/08/2019.
|
|
// Copyright © 2019 Stax River. All rights reserved.
|
|
//
|
|
|
|
import Foundation
|
|
import UIKit
|
|
import Charts
|
|
|
|
class InfographyViewController : UIViewController {
|
|
|
|
var generator: ReportGenerator?
|
|
|
|
override func viewDidLayoutSubviews() {
|
|
|
|
super.viewDidLayoutSubviews()
|
|
|
|
let gradient: CAGradientLayer = CAGradientLayer()
|
|
|
|
let startColor = UIColor(red: 23/255, green: 72/255, blue: 61/255, alpha: 1)
|
|
let endColor = UIColor(red: 47/255, green: 149/255, blue: 126/255, alpha: 1)
|
|
|
|
gradient.colors = [startColor.cgColor, endColor.cgColor]
|
|
gradient.locations = [0.2 , 1.0]
|
|
gradient.startPoint = CGPoint(x: 0.0, y: 0.0)
|
|
gradient.endPoint = CGPoint(x: 1.0, y: 1.0)
|
|
gradient.frame = self.view.bounds
|
|
|
|
self.view.layer.insertSublayer(gradient, at: 0)
|
|
|
|
}
|
|
|
|
override func viewDidLoad() {
|
|
|
|
guard let generator = self.generator else {
|
|
return
|
|
}
|
|
|
|
let table1 = TableView(data: generator.biggestWinners, frame: CGRect.zero, style: .grouped)
|
|
table1.defineConstraints(width: 500, height: 500)
|
|
|
|
let table2 = TableView(data: generator.mostWins, frame: CGRect.zero, style: .grouped)
|
|
table2.defineConstraints(width: 500, height: 500)
|
|
|
|
let hstack1: UIStackView = UIStackView(arrangedSubviews: [table1, table2])
|
|
hstack1.defineConstraints(width: 1000, height: 300.0)
|
|
hstack1.distribution = .equalSpacing
|
|
hstack1.spacing = 8.0
|
|
hstack1.axis = .horizontal
|
|
hstack1.alignment = .top
|
|
|
|
let title1 = TitleLabel(frame: CGRect.zero, text: "Buy-in distribution")
|
|
let title2 = TitleLabel(frame: CGRect.zero, text: "First prizes distribution")
|
|
let title3 = TitleLabel(frame: CGRect.zero, text: "Prizepool distribution")
|
|
|
|
let hstack2a: UIStackView = UIStackView(arrangedSubviews: [title1, title2, title3])
|
|
hstack2a.defineConstraints(width: 1000)
|
|
hstack2a.distribution = .fillEqually
|
|
hstack2a.axis = .horizontal
|
|
hstack2a.alignment = .top
|
|
|
|
let buyinDistribPie = PieChart(frame: CGRect.zero)
|
|
buyinDistribPie.data = generator.tournamentBuyinDistribution.pieChartData
|
|
buyinDistribPie.defineConstraints(height: 300)
|
|
|
|
let firstPrizeDistributionPie = PieChart(frame: CGRect.zero)
|
|
firstPrizeDistributionPie.data = generator.firstPrizeDistribution.pieChartData
|
|
firstPrizeDistributionPie.defineConstraints(height: 300)
|
|
|
|
let prizepoolDistribPie = PieChart(frame: CGRect.zero)
|
|
prizepoolDistribPie.data = generator.tournamentPrizepoolDistribution.pieChartData
|
|
prizepoolDistribPie.defineConstraints(height: 300)
|
|
|
|
let hstack2: UIStackView = UIStackView(arrangedSubviews: [buyinDistribPie, firstPrizeDistributionPie, prizepoolDistribPie])
|
|
hstack2.defineConstraints(width: 1000, height: 350.0)
|
|
hstack2.distribution = .fillEqually
|
|
hstack2.axis = .horizontal
|
|
hstack2.alignment = .top
|
|
|
|
let mainTitle = UILabel()
|
|
mainTitle.textColor = UIColor.white
|
|
mainTitle.font = UIFont.boldSystemFont(ofSize: 64.0)
|
|
mainTitle.textAlignment = .center
|
|
mainTitle.text = "2019 WSOP"
|
|
|
|
let vstack: UIStackView = UIStackView(arrangedSubviews: [mainTitle, hstack1, hstack2a, hstack2])
|
|
vstack.axis = .vertical
|
|
vstack.distribution = .equalCentering
|
|
vstack.alignment = .center
|
|
vstack.spacing = 10.0
|
|
self.view.addSubview(vstack)
|
|
|
|
vstack.translatesAutoresizingMaskIntoConstraints = false
|
|
vstack.leadingAnchor.constraint(equalTo: self.view.leadingAnchor, constant: 16.0).isActive = true
|
|
vstack.trailingAnchor.constraint(equalTo: self.view.trailingAnchor, constant: -16.0).isActive = true
|
|
vstack.topAnchor.constraint(equalTo: self.view.safeAreaLayoutGuide.topAnchor, constant: 16.0).isActive = true
|
|
|
|
}
|
|
|
|
}
|
|
|
|
//class InfographyView : UIView {
|
|
//
|
|
// var references: [UITableViewDataSource] = []
|
|
//
|
|
// init(frame: CGRect, generator: ReportGenerator) {
|
|
// super.init(frame: frame)
|
|
// self.backgroundColor = UIColor.lightGray
|
|
//
|
|
// let table1 = TableView(data: generator.biggestWinners, frame: CGRect.zero, style: .grouped)
|
|
// table1.defineConstraints(width: 500, height: 500)
|
|
//
|
|
// let table2 = TableView(data: generator.mostWins, frame: CGRect.zero, style: .grouped)
|
|
// table2.defineConstraints(width: 500, height: 500)
|
|
//
|
|
// let pieChart = PieChartView(frame: CGRect.zero)
|
|
// pieChart.data = generator.tournamentBuyinDistribution.pieChartData
|
|
// pieChart.defineConstraints(width: 300, height: 300)
|
|
//
|
|
// let hstack1: UIStackView = UIStackView(arrangedSubviews: [table1, table2])
|
|
// hstack1.defineConstraints(width: 1000, height: 500)
|
|
// hstack1.distribution = .fill
|
|
// hstack1.axis = .horizontal
|
|
// hstack1.alignment = .top
|
|
// hstack1.backgroundColor = UIColor.red
|
|
//
|
|
// let hstack2: UIStackView = UIStackView(arrangedSubviews: [pieChart])
|
|
// hstack2.defineConstraints(width: 1000, height: 300)
|
|
// hstack2.distribution = .fill
|
|
// hstack2.axis = .horizontal
|
|
// hstack2.alignment = .top
|
|
// hstack2.backgroundColor = UIColor.green
|
|
//
|
|
// let vstack: UIStackView = UIStackView(arrangedSubviews: [hstack1, hstack2])
|
|
// vstack.axis = .vertical
|
|
// vstack.distribution = .fill
|
|
// vstack.alignment = .leading
|
|
// vstack.backgroundColor = UIColor.blue
|
|
// self.addSubview(vstack)
|
|
// self.addMaxConstraints(view: vstack)
|
|
//
|
|
// }
|
|
//
|
|
// required init?(coder aDecoder: NSCoder) {
|
|
// fatalError("init(coder:) has not been implemented")
|
|
// }
|
|
//
|
|
//}
|
|
|