Commit 7408f0a99e5b97257f8c095f4f0d9d352478a298

Authored by nvtu11790@gmail.com
1 parent 4895c174ce

Add bar graph in history screen

Showing 4 changed files with 81 additions and 19 deletions Side-by-side Diff

LifeLog/LifeLog/HistoryViewController.h
... ... @@ -7,6 +7,7 @@
7 7 //
8 8  
9 9 #import <UIKit/UIKit.h>
  10 +#import <Charts/Charts-Swift.h>
10 11  
11 12 #import "CollectionView.h"
12 13  
... ... @@ -16,6 +17,8 @@
16 17 @property (weak, nonatomic) IBOutlet CollectionView *viewCollectionTime;
17 18 @property (weak, nonatomic) IBOutlet CollectionView *viewCollectionType;
18 19 @property (weak, nonatomic) IBOutlet CollectionView *viewCollectionShare;
  20 +
  21 +@property (weak, nonatomic) IBOutlet BarChartView *viewBarChart;
19 22  
20 23 @property (weak, nonatomic) IBOutlet UITableView *tableListHistory;
21 24 @property (weak, nonatomic) IBOutlet UIScrollView *scrollView;
LifeLog/LifeLog/HistoryViewController.m
... ... @@ -23,6 +23,27 @@
23 23 self.title = NSLocalizedString(@"lifelog.tapbar.history", nil);
24 24 self.lblHeader.text = NSLocalizedString(@"lifelog.tapbar.history", nil);
25 25  
  26 + [self setupView];
  27 + [self setupChartView];
  28 + //register nib for table view
  29 + [self.tableListHistory registerNib:[UINib nibWithNibName:@"HistoryListTableViewCell" bundle:nil] forCellReuseIdentifier:@"HistoryListCell"];
  30 +}
  31 +
  32 +- (void)viewDidAppear:(BOOL) animated
  33 +{
  34 + [super viewDidAppear:animated];
  35 + self.scrollView.contentSize = CGSizeMake(self.view.frame.size.width, 400);
  36 + [self.scrollView setNeedsLayout];
  37 + [self.scrollView setNeedsUpdateConstraints];
  38 +
  39 +}
  40 +
  41 +- (void)didReceiveMemoryWarning {
  42 + [super didReceiveMemoryWarning];
  43 + // Dispose of any resources that can be recreated.
  44 +}
  45 +
  46 +- (void)setupView {
26 47 [self.viewCollectionTime setButtonNumber:5];
27 48 [self.viewCollectionTime setSpacing:2];
28 49 [self.viewCollectionTime setArrayTitle:[NSArray arrayWithObjects:@"1日", @"1週間", @"1ヶ月", @"3ヶ月", @"6ヶ月", nil]];
29 50  
30 51  
... ... @@ -37,22 +58,58 @@
37 58 [self.viewCollectionShare setSpacing:3];
38 59 [self.viewCollectionShare setSelectedIndex:-1];
39 60 [self.viewCollectionShare setArrayTitle:[NSArray arrayWithObjects:@"facebook", @"twitter", @"line", @"メール", @"その他", nil]];
40   -
41   - [self.tableListHistory registerNib:[UINib nibWithNibName:@"HistoryListTableViewCell" bundle:nil] forCellReuseIdentifier:@"HistoryListCell"];
42 61 }
43 62  
44   -- (void)viewDidAppear:(BOOL) animated
45   -{
46   - [super viewDidAppear:animated];
47   - self.scrollView.contentSize = CGSizeMake(self.view.frame.size.width, 400);
48   - [self.scrollView setNeedsLayout];
49   - [self.scrollView setNeedsUpdateConstraints];
50   -
51   -}
  63 +- (void)setupChartView {
  64 + self.viewBarChart.chartDescription.enabled = NO;
  65 + self.viewBarChart.leftAxis.drawGridLinesEnabled = NO;
  66 + self.viewBarChart.rightAxis.drawGridLinesEnabled = NO;
  67 + self.viewBarChart.legend.enabled = NO;
52 68  
53   -- (void)didReceiveMemoryWarning {
54   - [super didReceiveMemoryWarning];
55   - // Dispose of any resources that can be recreated.
  69 + ChartXAxis *xAxis = self.viewBarChart.xAxis;
  70 + xAxis.labelPosition = XAxisLabelPositionBottom;
  71 + xAxis.drawGridLinesEnabled = NO;
  72 + xAxis.drawAxisLineEnabled = NO;
  73 + xAxis.drawLabelsEnabled = YES;
  74 + xAxis.labelPosition = XAxisLabelPositionBottom;
  75 + xAxis.labelFont = [UIFont systemFontOfSize:10.f];
  76 + xAxis.labelTextColor = [UIColor whiteColor];
  77 + xAxis.granularity = 1.0; // only intervals of 1 day
  78 + xAxis.labelCount = 8;
  79 +
  80 + self.viewBarChart.leftAxis.drawAxisLineEnabled = NO;
  81 + self.viewBarChart.rightAxis.drawAxisLineEnabled = NO;
  82 +
  83 + /*fake data for test*/
  84 + NSMutableArray *yVals = [[NSMutableArray alloc] init];
  85 +
  86 + for (int i = 0; i < 24; i++)
  87 + {
  88 + double val = (double) (arc4random_uniform(100));
  89 + [yVals addObject:[[BarChartDataEntry alloc] initWithX:i y:val]];
  90 + }
  91 +
  92 + BarChartDataSet *set1 = nil;
  93 + if (self.viewBarChart.data.dataSetCount > 0)
  94 + {
  95 + set1 = (BarChartDataSet *)self.viewBarChart.data.dataSets[0];
  96 + set1.values = yVals;
  97 + [self.viewBarChart.data notifyDataChanged];
  98 + [self.viewBarChart notifyDataSetChanged];
  99 + }
  100 + else
  101 + {
  102 + set1 = [[BarChartDataSet alloc] initWithValues:yVals label:@""];
  103 + [set1 setColor:[UIColor whiteColor]];
  104 +
  105 + NSMutableArray *dataSets = [[NSMutableArray alloc] init];
  106 + [dataSets addObject:set1];
  107 +
  108 + BarChartData *data = [[BarChartData alloc] initWithDataSets:dataSets];
  109 + data.barWidth = 0.5f;
  110 +
  111 + self.viewBarChart.data = data;
  112 + }
56 113 }
57 114  
58 115 #pragma mark UITableView Delegate
LifeLog/LifeLog/HistoryViewController.xib
1 1 <?xml version="1.0" encoding="UTF-8"?>
2   -<document type="com.apple.InterfaceBuilder3.CocoaTouch.XIB" version="3.0" toolsVersion="12118" systemVersion="16D32" targetRuntime="iOS.CocoaTouch" propertyAccessControl="none" useAutolayout="YES" useTraitCollections="YES" colorMatched="YES">
  2 +<document type="com.apple.InterfaceBuilder3.CocoaTouch.XIB" version="3.0" toolsVersion="12118" systemVersion="16A323" targetRuntime="iOS.CocoaTouch" propertyAccessControl="none" useAutolayout="YES" useTraitCollections="YES" colorMatched="YES">
3 3 <device id="retina4_7" orientation="portrait">
4 4 <adaptation id="fullscreen"/>
5 5 </device>
... ... @@ -15,6 +15,7 @@
15 15 <outlet property="scrollView" destination="rey-N3-l8b" id="s3w-fi-n5l"/>
16 16 <outlet property="tableListHistory" destination="FXQ-4O-sRc" id="VNN-sx-9xu"/>
17 17 <outlet property="view" destination="i5M-Pr-FkT" id="sfx-zR-JGt"/>
  18 + <outlet property="viewBarChart" destination="VqD-Y3-cYQ" id="RdJ-G5-pPy"/>
18 19 <outlet property="viewCollectionShare" destination="Iw2-nW-e7g" id="LW3-j0-yEY"/>
19 20 <outlet property="viewCollectionTime" destination="yxY-4d-tB6" id="jp8-TP-N5g"/>
20 21 <outlet property="viewCollectionType" destination="BVv-qD-EHM" id="0MR-m4-P1Y"/>
... ... @@ -362,9 +363,9 @@
362 363 <constraint firstItem="j5h-QD-Igf" firstAttribute="leading" secondItem="BVs-KG-fDF" secondAttribute="trailing" id="zOb-WE-3CI"/>
363 364 </constraints>
364 365 </view>
365   - <view contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="VqD-Y3-cYQ">
366   - <rect key="frame" x="20" y="201" width="335" height="100"/>
367   - <color key="backgroundColor" white="1" alpha="1" colorSpace="calibratedWhite"/>
  366 + <view contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="VqD-Y3-cYQ" customClass="BarChartView" customModule="Charts">
  367 + <rect key="frame" x="0.0" y="201" width="375" height="100"/>
  368 + <color key="backgroundColor" white="0.0" alpha="0.0" colorSpace="calibratedWhite"/>
368 369 <constraints>
369 370 <constraint firstAttribute="height" constant="100" id="aQR-hf-MhR"/>
370 371 </constraints>
... ... @@ -382,7 +383,7 @@
382 383 <constraint firstItem="VqD-Y3-cYQ" firstAttribute="top" secondItem="iEh-Ze-suq" secondAttribute="bottom" constant="8" id="0BA-6p-JLT"/>
383 384 <constraint firstItem="Iw2-nW-e7g" firstAttribute="leading" secondItem="Cam-ML-IEO" secondAttribute="leading" constant="20" id="2lH-sF-Mp0"/>
384 385 <constraint firstItem="iEh-Ze-suq" firstAttribute="top" secondItem="4ix-HE-d9T" secondAttribute="bottom" constant="8" id="9Sm-IQ-feL"/>
385   - <constraint firstItem="VqD-Y3-cYQ" firstAttribute="leading" secondItem="Cam-ML-IEO" secondAttribute="leading" constant="20" id="Gbd-bD-rFf"/>
  386 + <constraint firstItem="VqD-Y3-cYQ" firstAttribute="leading" secondItem="Cam-ML-IEO" secondAttribute="leading" id="Gbd-bD-rFf"/>
386 387 <constraint firstItem="4ix-HE-d9T" firstAttribute="top" secondItem="Cam-ML-IEO" secondAttribute="top" constant="30" id="JyQ-KD-MhR"/>
387 388 <constraint firstAttribute="trailing" secondItem="iEh-Ze-suq" secondAttribute="trailing" constant="20" id="RcZ-yN-56e"/>
388 389 <constraint firstAttribute="trailing" secondItem="Iw2-nW-e7g" secondAttribute="trailing" constant="20" id="Xso-Or-Fgf"/>
... ... @@ -392,7 +393,7 @@
392 393 <constraint firstItem="Iw2-nW-e7g" firstAttribute="top" secondItem="VqD-Y3-cYQ" secondAttribute="bottom" constant="15" id="ekR-kS-L5v"/>
393 394 <constraint firstItem="Kzk-mN-AOf" firstAttribute="leading" secondItem="Cam-ML-IEO" secondAttribute="leading" constant="20" id="hFq-WM-gLq"/>
394 395 <constraint firstItem="4ix-HE-d9T" firstAttribute="leading" secondItem="Kzk-mN-AOf" secondAttribute="trailing" constant="8" id="hzO-hA-cNG"/>
395   - <constraint firstAttribute="trailing" secondItem="VqD-Y3-cYQ" secondAttribute="trailing" constant="20" id="ptF-2O-CNR"/>
  396 + <constraint firstAttribute="trailing" secondItem="VqD-Y3-cYQ" secondAttribute="trailing" id="ptF-2O-CNR"/>
396 397 <constraint firstItem="iEh-Ze-suq" firstAttribute="leading" secondItem="Cam-ML-IEO" secondAttribute="leading" constant="20" id="u5o-P4-qkL"/>
397 398 </constraints>
398 399 </view>
... ... @@ -4,5 +4,6 @@
4 4 target 'LifeLog' do
5 5 pod 'CircleProgressBar'
6 6 pod 'MBProgressHUD', '~> 1.0.0'
  7 + pod 'Charts'
7 8 end