From c4525f8715e07da1592b4c4d3b74f68869d8c367 Mon Sep 17 00:00:00 2001 From: nvtu Date: Sat, 5 Aug 2017 21:36:16 +0700 Subject: [PATCH] Add API for request history in today with selected type and mode --- LifeLog/LifeLog.xcodeproj/project.pbxproj | 20 ++++++ .../LifeLog/Assets.xcassets/History/Contents.json | 6 ++ .../History/arrow_back.imageset/Contents.json | 21 +++++++ .../History/arrow_back.imageset/arrow_back.png | Bin 0 -> 319 bytes .../History/arrow_next.imageset/Contents.json | 21 +++++++ .../History/arrow_next.imageset/arrow_next.png | Bin 0 -> 332 bytes LifeLog/LifeLog/AutoTransLabel.h | 17 ++++++ LifeLog/LifeLog/AutoTransLabel.m | 19 ++++++ LifeLog/LifeLog/CollectionView.h | 7 ++- LifeLog/LifeLog/CollectionView.m | 5 +- LifeLog/LifeLog/Entities.h | 1 + LifeLog/LifeLog/HistoryObject.h | 24 ++++++++ LifeLog/LifeLog/HistoryObject.m | 46 ++++++++++++++ LifeLog/LifeLog/HistoryViewController.h | 19 +++++- LifeLog/LifeLog/HistoryViewController.m | 66 ++++++++++++++++---- LifeLog/LifeLog/HistoryViewController.xib | 44 +++++++++++--- LifeLog/LifeLog/Localizable.strings | 22 +++++++ LifeLog/LifeLog/ServerAPI.h | 4 ++ LifeLog/LifeLog/ServerAPI.m | 67 +++++++++++++++++++-- 19 files changed, 376 insertions(+), 33 deletions(-) create mode 100644 LifeLog/LifeLog/Assets.xcassets/History/Contents.json create mode 100644 LifeLog/LifeLog/Assets.xcassets/History/arrow_back.imageset/Contents.json create mode 100644 LifeLog/LifeLog/Assets.xcassets/History/arrow_back.imageset/arrow_back.png create mode 100644 LifeLog/LifeLog/Assets.xcassets/History/arrow_next.imageset/Contents.json create mode 100644 LifeLog/LifeLog/Assets.xcassets/History/arrow_next.imageset/arrow_next.png create mode 100644 LifeLog/LifeLog/AutoTransLabel.h create mode 100644 LifeLog/LifeLog/AutoTransLabel.m create mode 100644 LifeLog/LifeLog/HistoryObject.h create mode 100644 LifeLog/LifeLog/HistoryObject.m diff --git a/LifeLog/LifeLog.xcodeproj/project.pbxproj b/LifeLog/LifeLog.xcodeproj/project.pbxproj index 8748849..4ef73d3 100644 --- a/LifeLog/LifeLog.xcodeproj/project.pbxproj +++ b/LifeLog/LifeLog.xcodeproj/project.pbxproj @@ -44,6 +44,8 @@ 9CBDA0FA1F2ECE2C0055DED1 /* BaseViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = 9CBDA0F91F2ECE2C0055DED1 /* BaseViewController.m */; }; 9CBDA0FF1F2F03810055DED1 /* RegisterViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = 9CBDA0FD1F2F03810055DED1 /* RegisterViewController.m */; }; 9CBDA1001F2F03810055DED1 /* RegisterViewController.xib in Resources */ = {isa = PBXBuildFile; fileRef = 9CBDA0FE1F2F03810055DED1 /* RegisterViewController.xib */; }; + E9373E471F3596940059355A /* AutoTransLabel.m in Sources */ = {isa = PBXBuildFile; fileRef = E9373E461F3596940059355A /* AutoTransLabel.m */; }; + E9373E4A1F35AA180059355A /* HistoryObject.m in Sources */ = {isa = PBXBuildFile; fileRef = E9373E491F35AA180059355A /* HistoryObject.m */; }; E99E13AB1F336F3600C78787 /* CollectionView.m in Sources */ = {isa = PBXBuildFile; fileRef = E99E13AA1F336F3600C78787 /* CollectionView.m */; }; E99E13AD1F336F4500C78787 /* CollectionView.xib in Resources */ = {isa = PBXBuildFile; fileRef = E99E13AC1F336F4500C78787 /* CollectionView.xib */; }; E99E13B11F33720600C78787 /* LabelCollectionViewCell.m in Sources */ = {isa = PBXBuildFile; fileRef = E99E13AF1F33720600C78787 /* LabelCollectionViewCell.m */; }; @@ -137,6 +139,10 @@ 9CBDA0FC1F2F03810055DED1 /* RegisterViewController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = RegisterViewController.h; sourceTree = ""; }; 9CBDA0FD1F2F03810055DED1 /* RegisterViewController.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = RegisterViewController.m; sourceTree = ""; }; 9CBDA0FE1F2F03810055DED1 /* RegisterViewController.xib */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = file.xib; path = RegisterViewController.xib; sourceTree = ""; }; + E9373E451F3596940059355A /* AutoTransLabel.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = AutoTransLabel.h; sourceTree = ""; }; + E9373E461F3596940059355A /* AutoTransLabel.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = AutoTransLabel.m; sourceTree = ""; }; + E9373E481F35AA180059355A /* HistoryObject.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = HistoryObject.h; sourceTree = ""; }; + E9373E491F35AA180059355A /* HistoryObject.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = HistoryObject.m; sourceTree = ""; }; E99E13A91F336F3600C78787 /* CollectionView.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CollectionView.h; sourceTree = ""; }; E99E13AA1F336F3600C78787 /* CollectionView.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = CollectionView.m; sourceTree = ""; }; E99E13AC1F336F4500C78787 /* CollectionView.xib */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = file.xib; path = CollectionView.xib; sourceTree = ""; }; @@ -208,6 +214,8 @@ 6E18CEDA1F2E40F50029891F /* User.h */, 6E18CEDB1F2E40F50029891F /* User.m */, 6E18CEDD1F2E46570029891F /* Entities.h */, + E9373E481F35AA180059355A /* HistoryObject.h */, + E9373E491F35AA180059355A /* HistoryObject.m */, ); name = Model; sourceTree = ""; @@ -451,9 +459,19 @@ name = Pods; sourceTree = ""; }; + E9373E441F35966D0059355A /* AutoTranslateView */ = { + isa = PBXGroup; + children = ( + E9373E451F3596940059355A /* AutoTransLabel.h */, + E9373E461F3596940059355A /* AutoTransLabel.m */, + ); + name = AutoTranslateView; + sourceTree = ""; + }; E99E13A71F336F0C00C78787 /* CustomView */ = { isa = PBXGroup; children = ( + E9373E441F35966D0059355A /* AutoTranslateView */, E99E13A81F336F1700C78787 /* CollectionView */, ); name = CustomView; @@ -678,12 +696,14 @@ 6E48AF0D1F2F9D3300C1D184 /* CustomTextField.m in Sources */, E99E13AB1F336F3600C78787 /* CollectionView.m in Sources */, 6E84E3B01F27A975001EB88E /* HomeViewController.m in Sources */, + E9373E471F3596940059355A /* AutoTransLabel.m in Sources */, 6E84E3791F27A701001EB88E /* AppDelegate.m in Sources */, 6E84E3BA1F27A9A0001EB88E /* RankingViewController.m in Sources */, 6E7F93441F35872B00EFBC71 /* TPKeyboardAvoidingTableView.m in Sources */, E9F73DCC1F338A0F004A3A6F /* HistoryListTableViewCell.m in Sources */, 6EDC8BF41F2C68D700765ACC /* CMMotionActivityExtra.m in Sources */, 9CBDA0FF1F2F03810055DED1 /* RegisterViewController.m in Sources */, + E9373E4A1F35AA180059355A /* HistoryObject.m in Sources */, 9CA8AEEA1F31BB4600C5FC74 /* ConfirmForgetPassViewController.m in Sources */, E99E13B11F33720600C78787 /* LabelCollectionViewCell.m in Sources */, 6EDC8BEE1F2C2FB800765ACC /* Utilities.m in Sources */, diff --git a/LifeLog/LifeLog/Assets.xcassets/History/Contents.json b/LifeLog/LifeLog/Assets.xcassets/History/Contents.json new file mode 100644 index 0000000..da4a164 --- /dev/null +++ b/LifeLog/LifeLog/Assets.xcassets/History/Contents.json @@ -0,0 +1,6 @@ +{ + "info" : { + "version" : 1, + "author" : "xcode" + } +} \ No newline at end of file diff --git a/LifeLog/LifeLog/Assets.xcassets/History/arrow_back.imageset/Contents.json b/LifeLog/LifeLog/Assets.xcassets/History/arrow_back.imageset/Contents.json new file mode 100644 index 0000000..99edee8 --- /dev/null +++ b/LifeLog/LifeLog/Assets.xcassets/History/arrow_back.imageset/Contents.json @@ -0,0 +1,21 @@ +{ + "images" : [ + { + "idiom" : "universal", + "scale" : "1x" + }, + { + "idiom" : "universal", + "filename" : "arrow_back.png", + "scale" : "2x" + }, + { + "idiom" : "universal", + "scale" : "3x" + } + ], + "info" : { + "version" : 1, + "author" : "xcode" + } +} \ No newline at end of file diff --git a/LifeLog/LifeLog/Assets.xcassets/History/arrow_back.imageset/arrow_back.png b/LifeLog/LifeLog/Assets.xcassets/History/arrow_back.imageset/arrow_back.png new file mode 100644 index 0000000000000000000000000000000000000000..62adc985f758eab360809686d0bc1cfd59cb2edf GIT binary patch literal 319 zcmeAS@N?(olHy`uVBq!ia0vp^Iv~u!3?wz9Rv7~+#^NA%CnkpjwMT&*j{u(#*9i-E zOkcid@{(P%R_$N9`RIymC)Vsdwe8@=y~nSfzI^ZCsq071-aL2h!KIszZr*=(=h4fr z-+nxP{`UE+_dkCAe)aa#pFe-!efaYK|9|F|dqO}nISV`@iy0WifoyRh#`O7@K+cdX zag8Vm&QB{TPb^Ah@Xbsv$}a};6#UcDGLuv5-8>$um0iD2bTV_m>c4ZlcfBRPEbr#MUbJmnySB-r@WJ-y05&|TFw + +IB_DESIGNABLE + +@interface AutoTransLabel : UILabel + +@property (nonatomic) IBInspectable NSString *localizeKey; + +@end diff --git a/LifeLog/LifeLog/AutoTransLabel.m b/LifeLog/LifeLog/AutoTransLabel.m new file mode 100644 index 0000000..2db273c --- /dev/null +++ b/LifeLog/LifeLog/AutoTransLabel.m @@ -0,0 +1,19 @@ +// +// AutoTransLabel.m +// LifeLog +// +// Created by nvtu on 8/5/17. +// Copyright © 2017 PhongNV. All rights reserved. +// + +#import "AutoTransLabel.h" + +@implementation AutoTransLabel + +-(void) awakeFromNib { + [super awakeFromNib]; + if(![self.localizeKey isEqual: @""]) { + self.text = NSLocalizedString(self.localizeKey, nil); + } +} +@end diff --git a/LifeLog/LifeLog/CollectionView.h b/LifeLog/LifeLog/CollectionView.h index 72e672c..5516b6c 100644 --- a/LifeLog/LifeLog/CollectionView.h +++ b/LifeLog/LifeLog/CollectionView.h @@ -9,7 +9,7 @@ #import @interface CollectionView : UIView { - int _number; + NSInteger _number; int _selectedIndex; float _spacing; @@ -22,10 +22,12 @@ NSArray * _arrayTitle; } +@property (copy) void (^changeCurrentIndex)(int index); + @property (weak, nonatomic) IBOutlet UIView *view; @property (weak, nonatomic) IBOutlet UICollectionView *collectionView; --(void) setButtonNumber: (int) number; +-(void) setButtonNumber: (NSInteger) number; -(void) setSpacing: (float) spacing; -(void) setCornerRadius: (float) radius; -(void) setSelectedIndex: (int) index; @@ -33,4 +35,5 @@ -(void) setArrayTitle: (NSArray *) title; -(int) getCurrentIndex; + @end diff --git a/LifeLog/LifeLog/CollectionView.m b/LifeLog/LifeLog/CollectionView.m index 3b0d85f..0af1402 100644 --- a/LifeLog/LifeLog/CollectionView.m +++ b/LifeLog/LifeLog/CollectionView.m @@ -33,7 +33,7 @@ [self.collectionView registerNib:[UINib nibWithNibName:@"LabelCollectionViewCell" bundle:nil] forCellWithReuseIdentifier:@"LabelCell"]; } --(void) setButtonNumber: (int) number { +-(void) setButtonNumber: (NSInteger) number { _number = number; } @@ -60,7 +60,7 @@ _arrayTitle = title; } --(int) getCurrentIndex { +-(int) getCurrentIndex { return _selectedIndex; } @@ -93,5 +93,6 @@ -(void) collectionView:(UICollectionView *)collectionView didSelectItemAtIndexPath:(NSIndexPath *)indexPath { _selectedIndex = indexPath.row; [collectionView reloadData]; + self.changeCurrentIndex(_selectedIndex); } @end diff --git a/LifeLog/LifeLog/Entities.h b/LifeLog/LifeLog/Entities.h index d8cac16..1fa0fb6 100644 --- a/LifeLog/LifeLog/Entities.h +++ b/LifeLog/LifeLog/Entities.h @@ -9,6 +9,7 @@ #ifndef Entities_h #define Entities_h +#import "HistoryObject.h" #import "User.h" #endif /* Entities_h */ diff --git a/LifeLog/LifeLog/HistoryObject.h b/LifeLog/LifeLog/HistoryObject.h new file mode 100644 index 0000000..7757cd4 --- /dev/null +++ b/LifeLog/LifeLog/HistoryObject.h @@ -0,0 +1,24 @@ +// +// HistoryObject.h +// LifeLog +// +// Created by nvtu on 8/5/17. +// Copyright © 2017 PhongNV. All rights reserved. +// + +#import + +@interface HistoryObject : NSObject + +@property (nonatomic) int step; +@property (nonatomic) int missing; +@property (nonatomic) int target; +@property (nonatomic) float percent; +@property (nonatomic) float distance; +@property (nonatomic) float calories; +@property (nonatomic, strong) NSString * time; +@property (nonatomic, strong) NSDate *date; + +-(id) initWithData : (NSDictionary *) dict; + +@end diff --git a/LifeLog/LifeLog/HistoryObject.m b/LifeLog/LifeLog/HistoryObject.m new file mode 100644 index 0000000..f9cb952 --- /dev/null +++ b/LifeLog/LifeLog/HistoryObject.m @@ -0,0 +1,46 @@ +// +// HistoryObject.m +// LifeLog +// +// Created by nvtu on 8/5/17. +// Copyright © 2017 PhongNV. All rights reserved. +// + +#import "HistoryObject.h" + +@implementation HistoryObject + +-(id) initWithData : (NSDictionary *) dict { + if([dict objectForKey:@"step"] != nil) { + self.step = [dict[@"step"] intValue]; + } + if([dict objectForKey:@"target"] != nil) { + self.target = [dict[@"target"] intValue]; + } + if([dict objectForKey:@"missing"] != nil) { + self.missing = [dict[@"missing"] intValue]; + } + if([dict objectForKey:@"percent"] != nil) { + self.percent = [dict[@"percent"] floatValue]; + } + if([dict objectForKey:@"distance"] != nil) { + self.distance = [dict[@"distance"] floatValue]; + } + if([dict objectForKey:@"kcal"] != nil) { + self.calories = [dict[@"kcal"] floatValue]; + } + if([dict objectForKey:@"time"] != nil) { + self.time = dict[@"time"]; + } + if([dict objectForKey:@"date"] != nil) { + NSString *dateString = dict[@"time"]; + NSDateFormatter *dateFormat = [[NSDateFormatter alloc] init]; + [dateFormat setDateFormat:@"yyyy-MM-dd"]; + self.date = [dateFormat dateFromString:dateString]; + } + else { + self.date = [NSDate date]; + } + return self; +} +@end diff --git a/LifeLog/LifeLog/HistoryViewController.h b/LifeLog/LifeLog/HistoryViewController.h index 1cb8599..2d38411 100644 --- a/LifeLog/LifeLog/HistoryViewController.h +++ b/LifeLog/LifeLog/HistoryViewController.h @@ -11,11 +11,26 @@ #import "CollectionView.h" -@interface HistoryViewController : UIViewController +#import "Entities.h" + +@interface HistoryViewController : UIViewController { + NSDate * _currentDate; + HistoryObject * _currentHistoryObject; +} @property (weak, nonatomic) IBOutlet UILabel *lblHeader; -@property (weak, nonatomic) IBOutlet CollectionView *viewCollectionTime; +@property (weak, nonatomic) IBOutlet UILabel *lblCircleStep; +@property (weak, nonatomic) IBOutlet UILabel *lblCircleRemain; + +@property (weak, nonatomic) IBOutlet UILabel *lblStep; +@property (weak, nonatomic) IBOutlet UILabel *lblRemaining; +@property (weak, nonatomic) IBOutlet UILabel *lblPercent; +@property (weak, nonatomic) IBOutlet UILabel *lblCalories; +@property (weak, nonatomic) IBOutlet UILabel *lblDistance; +@property (weak, nonatomic) IBOutlet UILabel *lblTime; + @property (weak, nonatomic) IBOutlet CollectionView *viewCollectionType; +@property (weak, nonatomic) IBOutlet CollectionView *viewCollectionMode; @property (weak, nonatomic) IBOutlet CollectionView *viewCollectionShare; @property (weak, nonatomic) IBOutlet BarChartView *viewBarChart; diff --git a/LifeLog/LifeLog/HistoryViewController.m b/LifeLog/LifeLog/HistoryViewController.m index 2fa8ebb..a32b7c4 100644 --- a/LifeLog/LifeLog/HistoryViewController.m +++ b/LifeLog/LifeLog/HistoryViewController.m @@ -8,6 +8,7 @@ #import "HistoryViewController.h" #import "Utilities.h" +#import "ServerAPI.h" #import "HistoryListTableViewCell.h" @@ -20,11 +21,16 @@ - (void)viewDidLoad { [super viewDidLoad]; // Do any additional setup after loading the view from its nib. - self.title = NSLocalizedString(@"lifelog.tapbar.history", nil); - self.lblHeader.text = NSLocalizedString(@"lifelog.tapbar.history", nil); + self.title = NSLocalizedString(@"lifelog.history.title", nil); + self.lblHeader.text = NSLocalizedString(@"lifelog.history.title", nil); [self setupView]; [self setupChartView]; + + _currentDate = [NSDate date]; + + [self callRequestToUpdateData]; + //register nib for table view [self.tableListHistory registerNib:[UINib nibWithNibName:@"HistoryListTableViewCell" bundle:nil] forCellReuseIdentifier:@"HistoryListCell"]; } @@ -44,20 +50,38 @@ } - (void)setupView { - [self.viewCollectionTime setButtonNumber:5]; - [self.viewCollectionTime setSpacing:2]; - [self.viewCollectionTime setArrayTitle:[NSArray arrayWithObjects:@"1日", @"1週間", @"1ヶ月", @"3ヶ月", @"6ヶ月", nil]]; + NSArray *typeTitle = [NSArray arrayWithObjects:NSLocalizedString(@"lifelog.history.type.1", nil), NSLocalizedString(@"lifelog.history.type.2", nil), NSLocalizedString(@"lifelog.history.type.3", nil), NSLocalizedString(@"lifelog.history.type.4", nil), NSLocalizedString(@"lifelog.history.type.5", nil), nil]; + [self.viewCollectionType setButtonNumber:typeTitle.count]; + [self.viewCollectionType setSpacing:2]; + [self.viewCollectionType setArrayTitle:typeTitle]; + self.viewCollectionType.changeCurrentIndex = ^(int index){ + [self callRequestToUpdateData]; + }; - [self.viewCollectionType setButtonNumber:3]; - [self.viewCollectionType setSpacing:0]; - [self.viewCollectionType setCornerRadius:0]; - [self.viewCollectionType setNormalColor:[Utilities convertHecToColor:0x191919] highlightColor:[Utilities convertHecToColor:0x474747] textColor:[UIColor whiteColor]]; - [self.viewCollectionType setArrayTitle:[NSArray arrayWithObjects:@"BIKE", @"WALKING", @"RUNNING", nil]]; + NSArray *modeTitle = [NSArray arrayWithObjects:NSLocalizedString(@"lifelog.history.mode.1", nil), NSLocalizedString(@"lifelog.history.mode.2", nil), NSLocalizedString(@"lifelog.history.mode.3", nil), nil]; + [self.viewCollectionMode setButtonNumber:modeTitle.count]; + [self.viewCollectionMode setSpacing:0]; + [self.viewCollectionMode setCornerRadius:0]; + [self.viewCollectionMode setNormalColor:[Utilities convertHecToColor:0x191919] highlightColor:[Utilities convertHecToColor:0x474747] textColor:[UIColor whiteColor]]; + [self.viewCollectionMode setArrayTitle:modeTitle]; + self.viewCollectionMode.changeCurrentIndex = ^(int index){ + [self callRequestToUpdateData]; + }; - [self.viewCollectionShare setButtonNumber:5]; + NSArray *shareTitle = [NSArray arrayWithObjects:NSLocalizedString(@"lifelog.history.share.1", nil), NSLocalizedString(@"lifelog.history.share.2", nil), NSLocalizedString(@"lifelog.history.share.3", nil), NSLocalizedString(@"lifelog.history.share.4", nil), NSLocalizedString(@"lifelog.history.share.5", nil), nil]; + [self.viewCollectionShare setButtonNumber:typeTitle.count]; [self.viewCollectionShare setSpacing:3]; [self.viewCollectionShare setSelectedIndex:-1]; - [self.viewCollectionShare setArrayTitle:[NSArray arrayWithObjects:@"facebook", @"twitter", @"line", @"メール", @"その他", nil]]; + [self.viewCollectionShare setArrayTitle:shareTitle]; +} + +-(void) updateView { + self.lblStep.text = [NSString stringWithFormat:@"%d", _currentHistoryObject.step]; + self.lblRemaining.text = [NSString stringWithFormat:@"%d", _currentHistoryObject.missing]; + self.lblPercent.text = [NSString stringWithFormat:@"%0.2f", _currentHistoryObject.percent * 100]; + self.lblCalories.text = [NSString stringWithFormat:@"%1.0f", _currentHistoryObject.calories]; + self.lblDistance.text = [NSString stringWithFormat:@"%0.1f", _currentHistoryObject.distance]; + self.lblTime.text = _currentHistoryObject.time; } - (void)setupChartView { @@ -112,6 +136,24 @@ } } +-(void) callRequestToUpdateData { + [[ServerAPI server] requestHistory:[[NSUserDefaults standardUserDefaults] stringForKey:kToken] atDate:_currentDate withType:self.viewCollectionType.getCurrentIndex andMode:self.viewCollectionMode.getCurrentIndex + 1 CompletionHandler:^(HistoryObject *object, NSError *error) { + HistoryViewController __weak *weakSelf = self; + if(error == nil) { + _currentHistoryObject = object; + dispatch_async(dispatch_get_main_queue(), ^{ + [self updateView]; + }); + } + else { + dispatch_async(dispatch_get_main_queue(), ^{ + NSString *message = [error.userInfo objectForKey:@"message"]; + [Utilities showErrorMessage:message withViewController:weakSelf]; + }); + } + }]; +} + #pragma mark IBAction -(void) swipeAction:(UISwipeGestureRecognizer *)sender { bool alphaValue = self.scrollView.alpha == 1.0 ? 1.0 : 0.0; diff --git a/LifeLog/LifeLog/HistoryViewController.xib b/LifeLog/LifeLog/HistoryViewController.xib index 352499c..4b2621c 100644 --- a/LifeLog/LifeLog/HistoryViewController.xib +++ b/LifeLog/LifeLog/HistoryViewController.xib @@ -1,5 +1,5 @@ - + @@ -11,14 +11,22 @@ + + + + + + + + + - - + @@ -175,7 +183,7 @@ -