Commit 67297da30689add2e6f6eab4d6d4b9c96c980a78
1 parent
cc8cf48927
Exists in
master
update icons in all app, add background, fix UI in iphoneX
Showing 80 changed files with 901 additions and 620 deletions Inline Diff
- LifeLog/LifeLog.xcodeproj/project.pbxproj
- LifeLog/LifeLog/AppDelegate.m
- LifeLog/LifeLog/Assets.xcassets/Common/avatar_default.imageset/Contents.json
- LifeLog/LifeLog/Assets.xcassets/Common/avatar_default.imageset/avatar_default_1x.png
- LifeLog/LifeLog/Assets.xcassets/Common/avatar_default.imageset/avatar_default_2x.png
- LifeLog/LifeLog/Assets.xcassets/Common/avatar_default.imageset/avatar_default_3x.png
- LifeLog/LifeLog/Assets.xcassets/Common/avatar_default.imageset/ic_ava-1.png
- LifeLog/LifeLog/Assets.xcassets/Common/avatar_default.imageset/ic_ava-2.png
- LifeLog/LifeLog/Assets.xcassets/Common/avatar_default.imageset/ic_ava.png
- LifeLog/LifeLog/Assets.xcassets/Common/background.imageset/Contents.json
- LifeLog/LifeLog/Assets.xcassets/Common/background.imageset/background.png
- LifeLog/LifeLog/Assets.xcassets/Common/icon_mail.imageset/Contents.json
- LifeLog/LifeLog/Assets.xcassets/Common/icon_mail.imageset/ic_mail.png
- LifeLog/LifeLog/Assets.xcassets/Common/icon_menu.imageset/icon_menu_1x.png
- LifeLog/LifeLog/Assets.xcassets/Common/icon_menu.imageset/icon_menu_2x.png
- LifeLog/LifeLog/Assets.xcassets/Common/icon_menu.imageset/icon_menu_3x.png
- LifeLog/LifeLog/Assets.xcassets/Common/icon_other_send.imageset/Contents.json
- LifeLog/LifeLog/Assets.xcassets/Common/icon_other_send.imageset/ic_other.png
- LifeLog/LifeLog/Assets.xcassets/Common/icon_twitter.imageset/Contents.json
- LifeLog/LifeLog/Assets.xcassets/Common/icon_twitter.imageset/ic_twitter.png
- LifeLog/LifeLog/Assets.xcassets/Rank/Contents.json
- LifeLog/LifeLog/Assets.xcassets/Rank/ic_rank_1.imageset/Contents.json
- LifeLog/LifeLog/Assets.xcassets/Rank/ic_rank_1.imageset/ic_rank_1.png
- LifeLog/LifeLog/Assets.xcassets/Rank/ic_rank_2.imageset/Contents.json
- LifeLog/LifeLog/Assets.xcassets/Rank/ic_rank_2.imageset/ic_rank_2.png
- LifeLog/LifeLog/Assets.xcassets/Rank/ic_rank_3.imageset/Contents.json
- LifeLog/LifeLog/Assets.xcassets/Rank/ic_rank_3.imageset/ic_rank_3.png
- LifeLog/LifeLog/Assets.xcassets/Tapbar/tapbar_history.imageset/Contents.json
- LifeLog/LifeLog/Assets.xcassets/Tapbar/tapbar_history.imageset/tapbar_history_1x.png
- LifeLog/LifeLog/Assets.xcassets/Tapbar/tapbar_history.imageset/tapbar_history_2x.png
- LifeLog/LifeLog/Assets.xcassets/Tapbar/tapbar_history.imageset/tapbar_history_3x.png
- LifeLog/LifeLog/Assets.xcassets/Tapbar/tapbar_map.imageset/Contents.json
- LifeLog/LifeLog/Assets.xcassets/Tapbar/tapbar_map.imageset/tapbar_map_1x.png
- LifeLog/LifeLog/Assets.xcassets/Tapbar/tapbar_map.imageset/tapbar_map_2x.png
- LifeLog/LifeLog/Assets.xcassets/Tapbar/tapbar_map.imageset/tapbar_map_3x.png
- LifeLog/LifeLog/Assets.xcassets/Tapbar/tapbar_ranking.imageset/Contents.json
- LifeLog/LifeLog/Assets.xcassets/Tapbar/tapbar_ranking.imageset/tapbar_ranking_1x.png
- LifeLog/LifeLog/Assets.xcassets/Tapbar/tapbar_ranking.imageset/tapbar_ranking_2x.png
- LifeLog/LifeLog/Assets.xcassets/Tapbar/tapbar_ranking.imageset/tapbar_ranking_3x.png
- LifeLog/LifeLog/Assets.xcassets/Tapbar/tapbar_sns.imageset/Contents.json
- LifeLog/LifeLog/Assets.xcassets/Tapbar/tapbar_sns.imageset/tapbar_sns_1x.png
- LifeLog/LifeLog/Assets.xcassets/Tapbar/tapbar_sns.imageset/tapbar_sns_2x.png
- LifeLog/LifeLog/Assets.xcassets/Tapbar/tapbar_sns.imageset/tapbar_sns_3x.png
- LifeLog/LifeLog/Assets.xcassets/Tapbar/tapbar_today.imageset/Contents.json
- LifeLog/LifeLog/Assets.xcassets/Tapbar/tapbar_today.imageset/tapbar_today_1x.png
- LifeLog/LifeLog/Assets.xcassets/Tapbar/tapbar_today.imageset/tapbar_today_2x.png
- LifeLog/LifeLog/Assets.xcassets/Tapbar/tapbar_today.imageset/tapbar_today_3x.png
- LifeLog/LifeLog/CollectionView.h
- LifeLog/LifeLog/CollectionView.m
- LifeLog/LifeLog/CreateGroupViewController.h
- LifeLog/LifeLog/CreateGroupViewController.m
- LifeLog/LifeLog/CreateGroupViewController.xib
- LifeLog/LifeLog/GroupDetailViewController.h
- LifeLog/LifeLog/GroupDetailViewController.m
- LifeLog/LifeLog/GroupDetailViewController.xib
- LifeLog/LifeLog/HistoryViewController.h
- LifeLog/LifeLog/HistoryViewController.m
- LifeLog/LifeLog/HistoryViewController.xib
- LifeLog/LifeLog/HomeViewConb troller.m
- LifeLog/LifeLog/HomeViewController.m
- LifeLog/LifeLog/HomeViewController.xib
- LifeLog/LifeLog/LabelCollectionViewCell.h
- LifeLog/LifeLog/LabelCollectionViewCell.xib
- LifeLog/LifeLog/MapViewController.m
- LifeLog/LifeLog/MyGroupViewController.h
- LifeLog/LifeLog/MyGroupViewController.m
- LifeLog/LifeLog/MyGroupViewController.xib
- LifeLog/LifeLog/RankingTableViewCell.h
- LifeLog/LifeLog/RankingTableViewCell.m
- LifeLog/LifeLog/RankingTableViewCell.xib
- LifeLog/LifeLog/RankingViewController.h
- LifeLog/LifeLog/RankingViewController.m
- LifeLog/LifeLog/RankingViewController.xib
- LifeLog/LifeLog/SNSViewController.h
- LifeLog/LifeLog/SNSViewController.m
- LifeLog/LifeLog/SNSViewController.xib
- LifeLog/LifeLog/SearchGroupViewController.h
- LifeLog/LifeLog/SearchGroupViewController.m
- LifeLog/LifeLog/SearchGroupViewController.xib
- LifeLog/LifeLog/TodayViewController.xib
LifeLog/LifeLog.xcodeproj/project.pbxproj
1 | // !$*UTF8*$! | 1 | // !$*UTF8*$! |
2 | { | 2 | { |
3 | archiveVersion = 1; | 3 | archiveVersion = 1; |
4 | classes = { | 4 | classes = { |
5 | }; | 5 | }; |
6 | objectVersion = 46; | 6 | objectVersion = 46; |
7 | objects = { | 7 | objects = { |
8 | 8 | ||
9 | /* Begin PBXBuildFile section */ | 9 | /* Begin PBXBuildFile section */ |
10 | 011799F0F2B47D80472673CE /* Pods_LifeLog.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 2D9F4ED6F06C8F252B9EAF48 /* Pods_LifeLog.framework */; }; | 10 | 011799F0F2B47D80472673CE /* Pods_LifeLog.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 2D9F4ED6F06C8F252B9EAF48 /* Pods_LifeLog.framework */; }; |
11 | 6E18CED31F2E39DB0029891F /* LoginViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = 6E18CED11F2E39DB0029891F /* LoginViewController.m */; }; | 11 | 6E18CED31F2E39DB0029891F /* LoginViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = 6E18CED11F2E39DB0029891F /* LoginViewController.m */; }; |
12 | 6E18CED41F2E39DB0029891F /* LoginViewController.xib in Resources */ = {isa = PBXBuildFile; fileRef = 6E18CED21F2E39DB0029891F /* LoginViewController.xib */; }; | 12 | 6E18CED41F2E39DB0029891F /* LoginViewController.xib in Resources */ = {isa = PBXBuildFile; fileRef = 6E18CED21F2E39DB0029891F /* LoginViewController.xib */; }; |
13 | 6E18CED81F2E3C840029891F /* ServerAPI.m in Sources */ = {isa = PBXBuildFile; fileRef = 6E18CED71F2E3C840029891F /* ServerAPI.m */; }; | 13 | 6E18CED81F2E3C840029891F /* ServerAPI.m in Sources */ = {isa = PBXBuildFile; fileRef = 6E18CED71F2E3C840029891F /* ServerAPI.m */; }; |
14 | 6E18CEDC1F2E40F50029891F /* User.m in Sources */ = {isa = PBXBuildFile; fileRef = 6E18CEDB1F2E40F50029891F /* User.m */; }; | 14 | 6E18CEDC1F2E40F50029891F /* User.m in Sources */ = {isa = PBXBuildFile; fileRef = 6E18CEDB1F2E40F50029891F /* User.m */; }; |
15 | 6E27A74A1F9E41B400C390B3 /* HomeObject.m in Sources */ = {isa = PBXBuildFile; fileRef = 6E27A7491F9E41B400C390B3 /* HomeObject.m */; }; | 15 | 6E27A74A1F9E41B400C390B3 /* HomeObject.m in Sources */ = {isa = PBXBuildFile; fileRef = 6E27A7491F9E41B400C390B3 /* HomeObject.m */; }; |
16 | 6E27A74D1F9E432900C390B3 /* NoticeInfor.m in Sources */ = {isa = PBXBuildFile; fileRef = 6E27A74C1F9E432900C390B3 /* NoticeInfor.m */; }; | 16 | 6E27A74D1F9E432900C390B3 /* NoticeInfor.m in Sources */ = {isa = PBXBuildFile; fileRef = 6E27A74C1F9E432900C390B3 /* NoticeInfor.m */; }; |
17 | 6E48AF0D1F2F9D3300C1D184 /* CustomTextField.m in Sources */ = {isa = PBXBuildFile; fileRef = 6E48AF0C1F2F9D3200C1D184 /* CustomTextField.m */; }; | 17 | 6E48AF0D1F2F9D3300C1D184 /* CustomTextField.m in Sources */ = {isa = PBXBuildFile; fileRef = 6E48AF0C1F2F9D3200C1D184 /* CustomTextField.m */; }; |
18 | 6E7F93421F35872B00EFBC71 /* TPKeyboardAvoidingCollectionView.m in Sources */ = {isa = PBXBuildFile; fileRef = 6E7F933B1F35872B00EFBC71 /* TPKeyboardAvoidingCollectionView.m */; }; | 18 | 6E7F93421F35872B00EFBC71 /* TPKeyboardAvoidingCollectionView.m in Sources */ = {isa = PBXBuildFile; fileRef = 6E7F933B1F35872B00EFBC71 /* TPKeyboardAvoidingCollectionView.m */; }; |
19 | 6E7F93431F35872B00EFBC71 /* TPKeyboardAvoidingScrollView.m in Sources */ = {isa = PBXBuildFile; fileRef = 6E7F933D1F35872B00EFBC71 /* TPKeyboardAvoidingScrollView.m */; }; | 19 | 6E7F93431F35872B00EFBC71 /* TPKeyboardAvoidingScrollView.m in Sources */ = {isa = PBXBuildFile; fileRef = 6E7F933D1F35872B00EFBC71 /* TPKeyboardAvoidingScrollView.m */; }; |
20 | 6E7F93441F35872B00EFBC71 /* TPKeyboardAvoidingTableView.m in Sources */ = {isa = PBXBuildFile; fileRef = 6E7F933F1F35872B00EFBC71 /* TPKeyboardAvoidingTableView.m */; }; | 20 | 6E7F93441F35872B00EFBC71 /* TPKeyboardAvoidingTableView.m in Sources */ = {isa = PBXBuildFile; fileRef = 6E7F933F1F35872B00EFBC71 /* TPKeyboardAvoidingTableView.m */; }; |
21 | 6E7F93451F35872B00EFBC71 /* UIScrollView+TPKeyboardAvoidingAdditions.m in Sources */ = {isa = PBXBuildFile; fileRef = 6E7F93411F35872B00EFBC71 /* UIScrollView+TPKeyboardAvoidingAdditions.m */; }; | 21 | 6E7F93451F35872B00EFBC71 /* UIScrollView+TPKeyboardAvoidingAdditions.m in Sources */ = {isa = PBXBuildFile; fileRef = 6E7F93411F35872B00EFBC71 /* UIScrollView+TPKeyboardAvoidingAdditions.m */; }; |
22 | 6E84E3761F27A701001EB88E /* main.m in Sources */ = {isa = PBXBuildFile; fileRef = 6E84E3751F27A701001EB88E /* main.m */; }; | 22 | 6E84E3761F27A701001EB88E /* main.m in Sources */ = {isa = PBXBuildFile; fileRef = 6E84E3751F27A701001EB88E /* main.m */; }; |
23 | 6E84E3791F27A701001EB88E /* AppDelegate.m in Sources */ = {isa = PBXBuildFile; fileRef = 6E84E3781F27A701001EB88E /* AppDelegate.m */; }; | 23 | 6E84E3791F27A701001EB88E /* AppDelegate.m in Sources */ = {isa = PBXBuildFile; fileRef = 6E84E3781F27A701001EB88E /* AppDelegate.m */; }; |
24 | 6E84E3811F27A701001EB88E /* Assets.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = 6E84E3801F27A701001EB88E /* Assets.xcassets */; }; | 24 | 6E84E3811F27A701001EB88E /* Assets.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = 6E84E3801F27A701001EB88E /* Assets.xcassets */; }; |
25 | 6E84E3841F27A701001EB88E /* LaunchScreen.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = 6E84E3821F27A701001EB88E /* LaunchScreen.storyboard */; }; | 25 | 6E84E3841F27A701001EB88E /* LaunchScreen.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = 6E84E3821F27A701001EB88E /* LaunchScreen.storyboard */; }; |
26 | 6E84E38F1F27A703001EB88E /* LifeLogTests.m in Sources */ = {isa = PBXBuildFile; fileRef = 6E84E38E1F27A703001EB88E /* LifeLogTests.m */; }; | 26 | 6E84E38F1F27A703001EB88E /* LifeLogTests.m in Sources */ = {isa = PBXBuildFile; fileRef = 6E84E38E1F27A703001EB88E /* LifeLogTests.m */; }; |
27 | 6E84E39A1F27A703001EB88E /* LifeLogUITests.m in Sources */ = {isa = PBXBuildFile; fileRef = 6E84E3991F27A703001EB88E /* LifeLogUITests.m */; }; | 27 | 6E84E39A1F27A703001EB88E /* LifeLogUITests.m in Sources */ = {isa = PBXBuildFile; fileRef = 6E84E3991F27A703001EB88E /* LifeLogUITests.m */; }; |
28 | 6E84E3B01F27A975001EB88E /* HomeViewConb troller.m in Sources */ = {isa = PBXBuildFile; fileRef = 6E84E3AE1F27A975001EB88E /* HomeViewConb troller.m */; }; | 28 | 6E84E3B01F27A975001EB88E /* HomeViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = 6E84E3AE1F27A975001EB88E /* HomeViewController.m */; }; |
29 | 6E84E3B11F27A975001EB88E /* HomeViewController.xib in Resources */ = {isa = PBXBuildFile; fileRef = 6E84E3AF1F27A975001EB88E /* HomeViewController.xib */; }; | 29 | 6E84E3B11F27A975001EB88E /* HomeViewController.xib in Resources */ = {isa = PBXBuildFile; fileRef = 6E84E3AF1F27A975001EB88E /* HomeViewController.xib */; }; |
30 | 6E84E3B51F27A98B001EB88E /* HistoryViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = 6E84E3B31F27A98B001EB88E /* HistoryViewController.m */; }; | 30 | 6E84E3B51F27A98B001EB88E /* HistoryViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = 6E84E3B31F27A98B001EB88E /* HistoryViewController.m */; }; |
31 | 6E84E3B61F27A98B001EB88E /* HistoryViewController.xib in Resources */ = {isa = PBXBuildFile; fileRef = 6E84E3B41F27A98B001EB88E /* HistoryViewController.xib */; }; | 31 | 6E84E3B61F27A98B001EB88E /* HistoryViewController.xib in Resources */ = {isa = PBXBuildFile; fileRef = 6E84E3B41F27A98B001EB88E /* HistoryViewController.xib */; }; |
32 | 6E84E3BA1F27A9A0001EB88E /* RankingViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = 6E84E3B81F27A9A0001EB88E /* RankingViewController.m */; }; | 32 | 6E84E3BA1F27A9A0001EB88E /* RankingViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = 6E84E3B81F27A9A0001EB88E /* RankingViewController.m */; }; |
33 | 6E84E3BB1F27A9A0001EB88E /* RankingViewController.xib in Resources */ = {isa = PBXBuildFile; fileRef = 6E84E3B91F27A9A0001EB88E /* RankingViewController.xib */; }; | 33 | 6E84E3BB1F27A9A0001EB88E /* RankingViewController.xib in Resources */ = {isa = PBXBuildFile; fileRef = 6E84E3B91F27A9A0001EB88E /* RankingViewController.xib */; }; |
34 | 6E84E3BF1F27A9B1001EB88E /* SNSViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = 6E84E3BD1F27A9B1001EB88E /* SNSViewController.m */; }; | 34 | 6E84E3BF1F27A9B1001EB88E /* SNSViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = 6E84E3BD1F27A9B1001EB88E /* SNSViewController.m */; }; |
35 | 6E84E3C01F27A9B1001EB88E /* SNSViewController.xib in Resources */ = {isa = PBXBuildFile; fileRef = 6E84E3BE1F27A9B1001EB88E /* SNSViewController.xib */; }; | 35 | 6E84E3C01F27A9B1001EB88E /* SNSViewController.xib in Resources */ = {isa = PBXBuildFile; fileRef = 6E84E3BE1F27A9B1001EB88E /* SNSViewController.xib */; }; |
36 | 6E84E3C51F27ACAE001EB88E /* MapViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = 6E84E3C31F27ACAE001EB88E /* MapViewController.m */; }; | 36 | 6E84E3C51F27ACAE001EB88E /* MapViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = 6E84E3C31F27ACAE001EB88E /* MapViewController.m */; }; |
37 | 6E84E3C61F27ACAE001EB88E /* MapViewController.xib in Resources */ = {isa = PBXBuildFile; fileRef = 6E84E3C41F27ACAE001EB88E /* MapViewController.xib */; }; | 37 | 6E84E3C61F27ACAE001EB88E /* MapViewController.xib in Resources */ = {isa = PBXBuildFile; fileRef = 6E84E3C41F27ACAE001EB88E /* MapViewController.xib */; }; |
38 | 6E8DA0F71F2BAC3400CCE941 /* TodayViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = 6E8DA0F51F2BAC3400CCE941 /* TodayViewController.m */; }; | 38 | 6E8DA0F71F2BAC3400CCE941 /* TodayViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = 6E8DA0F51F2BAC3400CCE941 /* TodayViewController.m */; }; |
39 | 6E8DA0F81F2BAC3500CCE941 /* TodayViewController.xib in Resources */ = {isa = PBXBuildFile; fileRef = 6E8DA0F61F2BAC3400CCE941 /* TodayViewController.xib */; }; | 39 | 6E8DA0F81F2BAC3500CCE941 /* TodayViewController.xib in Resources */ = {isa = PBXBuildFile; fileRef = 6E8DA0F61F2BAC3400CCE941 /* TodayViewController.xib */; }; |
40 | 6EA4AF311F40BB7A00F52CFE /* StepObject.m in Sources */ = {isa = PBXBuildFile; fileRef = 6EA4AF2C1F40BB7A00F52CFE /* StepObject.m */; }; | 40 | 6EA4AF311F40BB7A00F52CFE /* StepObject.m in Sources */ = {isa = PBXBuildFile; fileRef = 6EA4AF2C1F40BB7A00F52CFE /* StepObject.m */; }; |
41 | 6EA4AF321F40BB7A00F52CFE /* TargetInfor.m in Sources */ = {isa = PBXBuildFile; fileRef = 6EA4AF2E1F40BB7A00F52CFE /* TargetInfor.m */; }; | 41 | 6EA4AF321F40BB7A00F52CFE /* TargetInfor.m in Sources */ = {isa = PBXBuildFile; fileRef = 6EA4AF2E1F40BB7A00F52CFE /* TargetInfor.m */; }; |
42 | 6EA4AF331F40BB7A00F52CFE /* TopObject.m in Sources */ = {isa = PBXBuildFile; fileRef = 6EA4AF301F40BB7A00F52CFE /* TopObject.m */; }; | 42 | 6EA4AF331F40BB7A00F52CFE /* TopObject.m in Sources */ = {isa = PBXBuildFile; fileRef = 6EA4AF301F40BB7A00F52CFE /* TopObject.m */; }; |
43 | 6ECC40711F2A5FEB00AAEB97 /* NSDate+helper.m in Sources */ = {isa = PBXBuildFile; fileRef = 6ECC40701F2A5FEB00AAEB97 /* NSDate+helper.m */; }; | 43 | 6ECC40711F2A5FEB00AAEB97 /* NSDate+helper.m in Sources */ = {isa = PBXBuildFile; fileRef = 6ECC40701F2A5FEB00AAEB97 /* NSDate+helper.m */; }; |
44 | 6EDC8BEE1F2C2FB800765ACC /* Utilities.m in Sources */ = {isa = PBXBuildFile; fileRef = 6EDC8BED1F2C2FB800765ACC /* Utilities.m */; }; | 44 | 6EDC8BEE1F2C2FB800765ACC /* Utilities.m in Sources */ = {isa = PBXBuildFile; fileRef = 6EDC8BED1F2C2FB800765ACC /* Utilities.m */; }; |
45 | 6EDC8BF41F2C68D700765ACC /* CMMotionActivityExtra.m in Sources */ = {isa = PBXBuildFile; fileRef = 6EDC8BF31F2C68D700765ACC /* CMMotionActivityExtra.m */; }; | 45 | 6EDC8BF41F2C68D700765ACC /* CMMotionActivityExtra.m in Sources */ = {isa = PBXBuildFile; fileRef = 6EDC8BF31F2C68D700765ACC /* CMMotionActivityExtra.m */; }; |
46 | 6EF1630A1F29069300DA306C /* Localizable.strings in Resources */ = {isa = PBXBuildFile; fileRef = 6EF163091F29069300DA306C /* Localizable.strings */; }; | 46 | 6EF1630A1F29069300DA306C /* Localizable.strings in Resources */ = {isa = PBXBuildFile; fileRef = 6EF163091F29069300DA306C /* Localizable.strings */; }; |
47 | 9CA8AEEA1F31BB4600C5FC74 /* ConfirmForgetPassViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = 9CA8AEE81F31BB4600C5FC74 /* ConfirmForgetPassViewController.m */; }; | 47 | 9CA8AEEA1F31BB4600C5FC74 /* ConfirmForgetPassViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = 9CA8AEE81F31BB4600C5FC74 /* ConfirmForgetPassViewController.m */; }; |
48 | 9CA8AEEB1F31BB4600C5FC74 /* ConfirmForgetPassViewController.xib in Resources */ = {isa = PBXBuildFile; fileRef = 9CA8AEE91F31BB4600C5FC74 /* ConfirmForgetPassViewController.xib */; }; | 48 | 9CA8AEEB1F31BB4600C5FC74 /* ConfirmForgetPassViewController.xib in Resources */ = {isa = PBXBuildFile; fileRef = 9CA8AEE91F31BB4600C5FC74 /* ConfirmForgetPassViewController.xib */; }; |
49 | 9CBDA0FA1F2ECE2C0055DED1 /* BaseViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = 9CBDA0F91F2ECE2C0055DED1 /* BaseViewController.m */; }; | 49 | 9CBDA0FA1F2ECE2C0055DED1 /* BaseViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = 9CBDA0F91F2ECE2C0055DED1 /* BaseViewController.m */; }; |
50 | 9CBDA0FF1F2F03810055DED1 /* RegisterViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = 9CBDA0FD1F2F03810055DED1 /* RegisterViewController.m */; }; | 50 | 9CBDA0FF1F2F03810055DED1 /* RegisterViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = 9CBDA0FD1F2F03810055DED1 /* RegisterViewController.m */; }; |
51 | 9CBDA1001F2F03810055DED1 /* RegisterViewController.xib in Resources */ = {isa = PBXBuildFile; fileRef = 9CBDA0FE1F2F03810055DED1 /* RegisterViewController.xib */; }; | 51 | 9CBDA1001F2F03810055DED1 /* RegisterViewController.xib in Resources */ = {isa = PBXBuildFile; fileRef = 9CBDA0FE1F2F03810055DED1 /* RegisterViewController.xib */; }; |
52 | E933E66B1F3E04A6002926F5 /* SearchGroupViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = E933E6691F3E04A6002926F5 /* SearchGroupViewController.m */; }; | 52 | E933E66B1F3E04A6002926F5 /* SearchGroupViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = E933E6691F3E04A6002926F5 /* SearchGroupViewController.m */; }; |
53 | E933E66C1F3E04A6002926F5 /* SearchGroupViewController.xib in Resources */ = {isa = PBXBuildFile; fileRef = E933E66A1F3E04A6002926F5 /* SearchGroupViewController.xib */; }; | 53 | E933E66C1F3E04A6002926F5 /* SearchGroupViewController.xib in Resources */ = {isa = PBXBuildFile; fileRef = E933E66A1F3E04A6002926F5 /* SearchGroupViewController.xib */; }; |
54 | E933E6701F3E09B6002926F5 /* SearchGroupTableViewCell.m in Sources */ = {isa = PBXBuildFile; fileRef = E933E66E1F3E09B6002926F5 /* SearchGroupTableViewCell.m */; }; | 54 | E933E6701F3E09B6002926F5 /* SearchGroupTableViewCell.m in Sources */ = {isa = PBXBuildFile; fileRef = E933E66E1F3E09B6002926F5 /* SearchGroupTableViewCell.m */; }; |
55 | E933E6711F3E09B6002926F5 /* SearchGroupTableViewCell.xib in Resources */ = {isa = PBXBuildFile; fileRef = E933E66F1F3E09B6002926F5 /* SearchGroupTableViewCell.xib */; }; | 55 | E933E6711F3E09B6002926F5 /* SearchGroupTableViewCell.xib in Resources */ = {isa = PBXBuildFile; fileRef = E933E66F1F3E09B6002926F5 /* SearchGroupTableViewCell.xib */; }; |
56 | E933E6741F3E0E4E002926F5 /* GroupObject.m in Sources */ = {isa = PBXBuildFile; fileRef = E933E6731F3E0E4E002926F5 /* GroupObject.m */; }; | 56 | E933E6741F3E0E4E002926F5 /* GroupObject.m in Sources */ = {isa = PBXBuildFile; fileRef = E933E6731F3E0E4E002926F5 /* GroupObject.m */; }; |
57 | E933E6791F40513C002926F5 /* GroupDetailViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = E933E6771F40513C002926F5 /* GroupDetailViewController.m */; }; | 57 | E933E6791F40513C002926F5 /* GroupDetailViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = E933E6771F40513C002926F5 /* GroupDetailViewController.m */; }; |
58 | E933E67A1F40513C002926F5 /* GroupDetailViewController.xib in Resources */ = {isa = PBXBuildFile; fileRef = E933E6781F40513C002926F5 /* GroupDetailViewController.xib */; }; | 58 | E933E67A1F40513C002926F5 /* GroupDetailViewController.xib in Resources */ = {isa = PBXBuildFile; fileRef = E933E6781F40513C002926F5 /* GroupDetailViewController.xib */; }; |
59 | E9373E471F3596940059355A /* AutoTransLabel.m in Sources */ = {isa = PBXBuildFile; fileRef = E9373E461F3596940059355A /* AutoTransLabel.m */; }; | 59 | E9373E471F3596940059355A /* AutoTransLabel.m in Sources */ = {isa = PBXBuildFile; fileRef = E9373E461F3596940059355A /* AutoTransLabel.m */; }; |
60 | E9373E4A1F35AA180059355A /* HistoryObject.m in Sources */ = {isa = PBXBuildFile; fileRef = E9373E491F35AA180059355A /* HistoryObject.m */; }; | 60 | E9373E4A1F35AA180059355A /* HistoryObject.m in Sources */ = {isa = PBXBuildFile; fileRef = E9373E491F35AA180059355A /* HistoryObject.m */; }; |
61 | E9497FD51F46EC1100E6AF8D /* MemberObject.m in Sources */ = {isa = PBXBuildFile; fileRef = E9497FD41F46EC1100E6AF8D /* MemberObject.m */; }; | 61 | E9497FD51F46EC1100E6AF8D /* MemberObject.m in Sources */ = {isa = PBXBuildFile; fileRef = E9497FD41F46EC1100E6AF8D /* MemberObject.m */; }; |
62 | E95F4CED1F475C6A00D27E80 /* CreateGroupViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = E95F4CEB1F475C6A00D27E80 /* CreateGroupViewController.m */; }; | 62 | E95F4CED1F475C6A00D27E80 /* CreateGroupViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = E95F4CEB1F475C6A00D27E80 /* CreateGroupViewController.m */; }; |
63 | E95F4CEE1F475C6A00D27E80 /* CreateGroupViewController.xib in Resources */ = {isa = PBXBuildFile; fileRef = E95F4CEC1F475C6A00D27E80 /* CreateGroupViewController.xib */; }; | 63 | E95F4CEE1F475C6A00D27E80 /* CreateGroupViewController.xib in Resources */ = {isa = PBXBuildFile; fileRef = E95F4CEC1F475C6A00D27E80 /* CreateGroupViewController.xib */; }; |
64 | E95F4CF31F48B39200D27E80 /* MyGroupViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = E95F4CF11F48B39200D27E80 /* MyGroupViewController.m */; }; | 64 | E95F4CF31F48B39200D27E80 /* MyGroupViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = E95F4CF11F48B39200D27E80 /* MyGroupViewController.m */; }; |
65 | E95F4CF41F48B39200D27E80 /* MyGroupViewController.xib in Resources */ = {isa = PBXBuildFile; fileRef = E95F4CF21F48B39200D27E80 /* MyGroupViewController.xib */; }; | 65 | E95F4CF41F48B39200D27E80 /* MyGroupViewController.xib in Resources */ = {isa = PBXBuildFile; fileRef = E95F4CF21F48B39200D27E80 /* MyGroupViewController.xib */; }; |
66 | E9682E2E1F39675A00FE05A2 /* RankingTableViewCell.m in Sources */ = {isa = PBXBuildFile; fileRef = E9682E2C1F39675A00FE05A2 /* RankingTableViewCell.m */; }; | 66 | E9682E2E1F39675A00FE05A2 /* RankingTableViewCell.m in Sources */ = {isa = PBXBuildFile; fileRef = E9682E2C1F39675A00FE05A2 /* RankingTableViewCell.m */; }; |
67 | E9682E2F1F39675A00FE05A2 /* RankingTableViewCell.xib in Resources */ = {isa = PBXBuildFile; fileRef = E9682E2D1F39675A00FE05A2 /* RankingTableViewCell.xib */; }; | 67 | E9682E2F1F39675A00FE05A2 /* RankingTableViewCell.xib in Resources */ = {isa = PBXBuildFile; fileRef = E9682E2D1F39675A00FE05A2 /* RankingTableViewCell.xib */; }; |
68 | E968550A1F3C444900317CEF /* AutoTransButton.m in Sources */ = {isa = PBXBuildFile; fileRef = E96855091F3C444900317CEF /* AutoTransButton.m */; }; | 68 | E968550A1F3C444900317CEF /* AutoTransButton.m in Sources */ = {isa = PBXBuildFile; fileRef = E96855091F3C444900317CEF /* AutoTransButton.m */; }; |
69 | E96855111F3C5D9A00317CEF /* SNSRecentTopicTableViewCell.m in Sources */ = {isa = PBXBuildFile; fileRef = E968550F1F3C5D9A00317CEF /* SNSRecentTopicTableViewCell.m */; }; | 69 | E96855111F3C5D9A00317CEF /* SNSRecentTopicTableViewCell.m in Sources */ = {isa = PBXBuildFile; fileRef = E968550F1F3C5D9A00317CEF /* SNSRecentTopicTableViewCell.m */; }; |
70 | E96855121F3C5D9A00317CEF /* SNSRecentTopicTableViewCell.xib in Resources */ = {isa = PBXBuildFile; fileRef = E96855101F3C5D9A00317CEF /* SNSRecentTopicTableViewCell.xib */; }; | 70 | E96855121F3C5D9A00317CEF /* SNSRecentTopicTableViewCell.xib in Resources */ = {isa = PBXBuildFile; fileRef = E96855101F3C5D9A00317CEF /* SNSRecentTopicTableViewCell.xib */; }; |
71 | E97588FC1F513BAD00782484 /* RankingObject.m in Sources */ = {isa = PBXBuildFile; fileRef = E97588FB1F513BAD00782484 /* RankingObject.m */; }; | 71 | E97588FC1F513BAD00782484 /* RankingObject.m in Sources */ = {isa = PBXBuildFile; fileRef = E97588FB1F513BAD00782484 /* RankingObject.m */; }; |
72 | E997E0261F3AB66500709FB1 /* Social.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = E997E0251F3AB66500709FB1 /* Social.framework */; }; | 72 | E997E0261F3AB66500709FB1 /* Social.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = E997E0251F3AB66500709FB1 /* Social.framework */; }; |
73 | E99E13AB1F336F3600C78787 /* CollectionView.m in Sources */ = {isa = PBXBuildFile; fileRef = E99E13AA1F336F3600C78787 /* CollectionView.m */; }; | 73 | E99E13AB1F336F3600C78787 /* CollectionView.m in Sources */ = {isa = PBXBuildFile; fileRef = E99E13AA1F336F3600C78787 /* CollectionView.m */; }; |
74 | E99E13AD1F336F4500C78787 /* CollectionView.xib in Resources */ = {isa = PBXBuildFile; fileRef = E99E13AC1F336F4500C78787 /* CollectionView.xib */; }; | 74 | E99E13AD1F336F4500C78787 /* CollectionView.xib in Resources */ = {isa = PBXBuildFile; fileRef = E99E13AC1F336F4500C78787 /* CollectionView.xib */; }; |
75 | E99E13B11F33720600C78787 /* LabelCollectionViewCell.m in Sources */ = {isa = PBXBuildFile; fileRef = E99E13AF1F33720600C78787 /* LabelCollectionViewCell.m */; }; | 75 | E99E13B11F33720600C78787 /* LabelCollectionViewCell.m in Sources */ = {isa = PBXBuildFile; fileRef = E99E13AF1F33720600C78787 /* LabelCollectionViewCell.m */; }; |
76 | E99E13B21F33720600C78787 /* LabelCollectionViewCell.xib in Resources */ = {isa = PBXBuildFile; fileRef = E99E13B01F33720600C78787 /* LabelCollectionViewCell.xib */; }; | 76 | E99E13B21F33720600C78787 /* LabelCollectionViewCell.xib in Resources */ = {isa = PBXBuildFile; fileRef = E99E13B01F33720600C78787 /* LabelCollectionViewCell.xib */; }; |
77 | E9D909211F3D559D004CF99F /* TweetObject.m in Sources */ = {isa = PBXBuildFile; fileRef = E9D909201F3D559D004CF99F /* TweetObject.m */; }; | 77 | E9D909211F3D559D004CF99F /* TweetObject.m in Sources */ = {isa = PBXBuildFile; fileRef = E9D909201F3D559D004CF99F /* TweetObject.m */; }; |
78 | E9D909241F3D6E8C004CF99F /* BaseTableViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = E9D909231F3D6E8C004CF99F /* BaseTableViewController.m */; }; | 78 | E9D909241F3D6E8C004CF99F /* BaseTableViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = E9D909231F3D6E8C004CF99F /* BaseTableViewController.m */; }; |
79 | E9F73DCC1F338A0F004A3A6F /* HistoryListTableViewCell.m in Sources */ = {isa = PBXBuildFile; fileRef = E9F73DCA1F338A0F004A3A6F /* HistoryListTableViewCell.m */; }; | 79 | E9F73DCC1F338A0F004A3A6F /* HistoryListTableViewCell.m in Sources */ = {isa = PBXBuildFile; fileRef = E9F73DCA1F338A0F004A3A6F /* HistoryListTableViewCell.m */; }; |
80 | E9F73DCD1F338A0F004A3A6F /* HistoryListTableViewCell.xib in Resources */ = {isa = PBXBuildFile; fileRef = E9F73DCB1F338A0F004A3A6F /* HistoryListTableViewCell.xib */; }; | 80 | E9F73DCD1F338A0F004A3A6F /* HistoryListTableViewCell.xib in Resources */ = {isa = PBXBuildFile; fileRef = E9F73DCB1F338A0F004A3A6F /* HistoryListTableViewCell.xib */; }; |
81 | /* End PBXBuildFile section */ | 81 | /* End PBXBuildFile section */ |
82 | 82 | ||
83 | /* Begin PBXContainerItemProxy section */ | 83 | /* Begin PBXContainerItemProxy section */ |
84 | 6E84E38B1F27A703001EB88E /* PBXContainerItemProxy */ = { | 84 | 6E84E38B1F27A703001EB88E /* PBXContainerItemProxy */ = { |
85 | isa = PBXContainerItemProxy; | 85 | isa = PBXContainerItemProxy; |
86 | containerPortal = 6E84E3691F27A700001EB88E /* Project object */; | 86 | containerPortal = 6E84E3691F27A700001EB88E /* Project object */; |
87 | proxyType = 1; | 87 | proxyType = 1; |
88 | remoteGlobalIDString = 6E84E3701F27A700001EB88E; | 88 | remoteGlobalIDString = 6E84E3701F27A700001EB88E; |
89 | remoteInfo = LifeLog; | 89 | remoteInfo = LifeLog; |
90 | }; | 90 | }; |
91 | 6E84E3961F27A703001EB88E /* PBXContainerItemProxy */ = { | 91 | 6E84E3961F27A703001EB88E /* PBXContainerItemProxy */ = { |
92 | isa = PBXContainerItemProxy; | 92 | isa = PBXContainerItemProxy; |
93 | containerPortal = 6E84E3691F27A700001EB88E /* Project object */; | 93 | containerPortal = 6E84E3691F27A700001EB88E /* Project object */; |
94 | proxyType = 1; | 94 | proxyType = 1; |
95 | remoteGlobalIDString = 6E84E3701F27A700001EB88E; | 95 | remoteGlobalIDString = 6E84E3701F27A700001EB88E; |
96 | remoteInfo = LifeLog; | 96 | remoteInfo = LifeLog; |
97 | }; | 97 | }; |
98 | /* End PBXContainerItemProxy section */ | 98 | /* End PBXContainerItemProxy section */ |
99 | 99 | ||
100 | /* Begin PBXFileReference section */ | 100 | /* Begin PBXFileReference section */ |
101 | 0FC2D57087AF4571C57FAE08 /* Pods-LifeLog.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-LifeLog.debug.xcconfig"; path = "Pods/Target Support Files/Pods-LifeLog/Pods-LifeLog.debug.xcconfig"; sourceTree = "<group>"; }; | 101 | 0FC2D57087AF4571C57FAE08 /* Pods-LifeLog.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-LifeLog.debug.xcconfig"; path = "Pods/Target Support Files/Pods-LifeLog/Pods-LifeLog.debug.xcconfig"; sourceTree = "<group>"; }; |
102 | 2D9F4ED6F06C8F252B9EAF48 /* Pods_LifeLog.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Pods_LifeLog.framework; sourceTree = BUILT_PRODUCTS_DIR; }; | 102 | 2D9F4ED6F06C8F252B9EAF48 /* Pods_LifeLog.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Pods_LifeLog.framework; sourceTree = BUILT_PRODUCTS_DIR; }; |
103 | 4CFDA5714AF852358A1EB515 /* Pods-LifeLog.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-LifeLog.release.xcconfig"; path = "Pods/Target Support Files/Pods-LifeLog/Pods-LifeLog.release.xcconfig"; sourceTree = "<group>"; }; | 103 | 4CFDA5714AF852358A1EB515 /* Pods-LifeLog.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-LifeLog.release.xcconfig"; path = "Pods/Target Support Files/Pods-LifeLog/Pods-LifeLog.release.xcconfig"; sourceTree = "<group>"; }; |
104 | 6E18CED01F2E39DB0029891F /* LoginViewController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = LoginViewController.h; sourceTree = "<group>"; }; | 104 | 6E18CED01F2E39DB0029891F /* LoginViewController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = LoginViewController.h; sourceTree = "<group>"; }; |
105 | 6E18CED11F2E39DB0029891F /* LoginViewController.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = LoginViewController.m; sourceTree = "<group>"; }; | 105 | 6E18CED11F2E39DB0029891F /* LoginViewController.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = LoginViewController.m; sourceTree = "<group>"; }; |
106 | 6E18CED21F2E39DB0029891F /* LoginViewController.xib */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = file.xib; path = LoginViewController.xib; sourceTree = "<group>"; }; | 106 | 6E18CED21F2E39DB0029891F /* LoginViewController.xib */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = file.xib; path = LoginViewController.xib; sourceTree = "<group>"; }; |
107 | 6E18CED61F2E3C840029891F /* ServerAPI.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ServerAPI.h; sourceTree = "<group>"; }; | 107 | 6E18CED61F2E3C840029891F /* ServerAPI.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ServerAPI.h; sourceTree = "<group>"; }; |
108 | 6E18CED71F2E3C840029891F /* ServerAPI.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = ServerAPI.m; sourceTree = "<group>"; }; | 108 | 6E18CED71F2E3C840029891F /* ServerAPI.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = ServerAPI.m; sourceTree = "<group>"; }; |
109 | 6E18CEDA1F2E40F50029891F /* User.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = User.h; sourceTree = "<group>"; }; | 109 | 6E18CEDA1F2E40F50029891F /* User.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = User.h; sourceTree = "<group>"; }; |
110 | 6E18CEDB1F2E40F50029891F /* User.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = User.m; sourceTree = "<group>"; }; | 110 | 6E18CEDB1F2E40F50029891F /* User.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = User.m; sourceTree = "<group>"; }; |
111 | 6E18CEDD1F2E46570029891F /* Entities.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = Entities.h; sourceTree = "<group>"; }; | 111 | 6E18CEDD1F2E46570029891F /* Entities.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = Entities.h; sourceTree = "<group>"; }; |
112 | 6E27A7481F9E41B300C390B3 /* HomeObject.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = HomeObject.h; sourceTree = "<group>"; }; | 112 | 6E27A7481F9E41B300C390B3 /* HomeObject.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = HomeObject.h; sourceTree = "<group>"; }; |
113 | 6E27A7491F9E41B400C390B3 /* HomeObject.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = HomeObject.m; sourceTree = "<group>"; }; | 113 | 6E27A7491F9E41B400C390B3 /* HomeObject.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = HomeObject.m; sourceTree = "<group>"; }; |
114 | 6E27A74B1F9E432900C390B3 /* NoticeInfor.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = NoticeInfor.h; sourceTree = "<group>"; }; | 114 | 6E27A74B1F9E432900C390B3 /* NoticeInfor.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = NoticeInfor.h; sourceTree = "<group>"; }; |
115 | 6E27A74C1F9E432900C390B3 /* NoticeInfor.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = NoticeInfor.m; sourceTree = "<group>"; }; | 115 | 6E27A74C1F9E432900C390B3 /* NoticeInfor.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = NoticeInfor.m; sourceTree = "<group>"; }; |
116 | 6E48AF0B1F2F9D3200C1D184 /* CustomTextField.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CustomTextField.h; sourceTree = "<group>"; }; | 116 | 6E48AF0B1F2F9D3200C1D184 /* CustomTextField.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CustomTextField.h; sourceTree = "<group>"; }; |
117 | 6E48AF0C1F2F9D3200C1D184 /* CustomTextField.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = CustomTextField.m; sourceTree = "<group>"; }; | 117 | 6E48AF0C1F2F9D3200C1D184 /* CustomTextField.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = CustomTextField.m; sourceTree = "<group>"; }; |
118 | 6E7F933A1F35872B00EFBC71 /* TPKeyboardAvoidingCollectionView.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = TPKeyboardAvoidingCollectionView.h; sourceTree = "<group>"; }; | 118 | 6E7F933A1F35872B00EFBC71 /* TPKeyboardAvoidingCollectionView.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = TPKeyboardAvoidingCollectionView.h; sourceTree = "<group>"; }; |
119 | 6E7F933B1F35872B00EFBC71 /* TPKeyboardAvoidingCollectionView.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = TPKeyboardAvoidingCollectionView.m; sourceTree = "<group>"; }; | 119 | 6E7F933B1F35872B00EFBC71 /* TPKeyboardAvoidingCollectionView.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = TPKeyboardAvoidingCollectionView.m; sourceTree = "<group>"; }; |
120 | 6E7F933C1F35872B00EFBC71 /* TPKeyboardAvoidingScrollView.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = TPKeyboardAvoidingScrollView.h; sourceTree = "<group>"; }; | 120 | 6E7F933C1F35872B00EFBC71 /* TPKeyboardAvoidingScrollView.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = TPKeyboardAvoidingScrollView.h; sourceTree = "<group>"; }; |
121 | 6E7F933D1F35872B00EFBC71 /* TPKeyboardAvoidingScrollView.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = TPKeyboardAvoidingScrollView.m; sourceTree = "<group>"; }; | 121 | 6E7F933D1F35872B00EFBC71 /* TPKeyboardAvoidingScrollView.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = TPKeyboardAvoidingScrollView.m; sourceTree = "<group>"; }; |
122 | 6E7F933E1F35872B00EFBC71 /* TPKeyboardAvoidingTableView.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = TPKeyboardAvoidingTableView.h; sourceTree = "<group>"; }; | 122 | 6E7F933E1F35872B00EFBC71 /* TPKeyboardAvoidingTableView.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = TPKeyboardAvoidingTableView.h; sourceTree = "<group>"; }; |
123 | 6E7F933F1F35872B00EFBC71 /* TPKeyboardAvoidingTableView.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = TPKeyboardAvoidingTableView.m; sourceTree = "<group>"; }; | 123 | 6E7F933F1F35872B00EFBC71 /* TPKeyboardAvoidingTableView.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = TPKeyboardAvoidingTableView.m; sourceTree = "<group>"; }; |
124 | 6E7F93401F35872B00EFBC71 /* UIScrollView+TPKeyboardAvoidingAdditions.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = "UIScrollView+TPKeyboardAvoidingAdditions.h"; sourceTree = "<group>"; }; | 124 | 6E7F93401F35872B00EFBC71 /* UIScrollView+TPKeyboardAvoidingAdditions.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = "UIScrollView+TPKeyboardAvoidingAdditions.h"; sourceTree = "<group>"; }; |
125 | 6E7F93411F35872B00EFBC71 /* UIScrollView+TPKeyboardAvoidingAdditions.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = "UIScrollView+TPKeyboardAvoidingAdditions.m"; sourceTree = "<group>"; }; | 125 | 6E7F93411F35872B00EFBC71 /* UIScrollView+TPKeyboardAvoidingAdditions.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = "UIScrollView+TPKeyboardAvoidingAdditions.m"; sourceTree = "<group>"; }; |
126 | 6E84E3711F27A700001EB88E /* LifeLog.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = LifeLog.app; sourceTree = BUILT_PRODUCTS_DIR; }; | 126 | 6E84E3711F27A700001EB88E /* LifeLog.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = LifeLog.app; sourceTree = BUILT_PRODUCTS_DIR; }; |
127 | 6E84E3751F27A701001EB88E /* main.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = main.m; sourceTree = "<group>"; }; | 127 | 6E84E3751F27A701001EB88E /* main.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = main.m; sourceTree = "<group>"; }; |
128 | 6E84E3771F27A701001EB88E /* AppDelegate.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = AppDelegate.h; sourceTree = "<group>"; }; | 128 | 6E84E3771F27A701001EB88E /* AppDelegate.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = AppDelegate.h; sourceTree = "<group>"; }; |
129 | 6E84E3781F27A701001EB88E /* AppDelegate.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = AppDelegate.m; sourceTree = "<group>"; }; | 129 | 6E84E3781F27A701001EB88E /* AppDelegate.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = AppDelegate.m; sourceTree = "<group>"; }; |
130 | 6E84E3801F27A701001EB88E /* Assets.xcassets */ = {isa = PBXFileReference; lastKnownFileType = folder.assetcatalog; path = Assets.xcassets; sourceTree = "<group>"; }; | 130 | 6E84E3801F27A701001EB88E /* Assets.xcassets */ = {isa = PBXFileReference; lastKnownFileType = folder.assetcatalog; path = Assets.xcassets; sourceTree = "<group>"; }; |
131 | 6E84E3831F27A701001EB88E /* Base */ = {isa = PBXFileReference; lastKnownFileType = file.storyboard; name = Base; path = Base.lproj/LaunchScreen.storyboard; sourceTree = "<group>"; }; | 131 | 6E84E3831F27A701001EB88E /* Base */ = {isa = PBXFileReference; lastKnownFileType = file.storyboard; name = Base; path = Base.lproj/LaunchScreen.storyboard; sourceTree = "<group>"; }; |
132 | 6E84E3851F27A701001EB88E /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = "<group>"; }; | 132 | 6E84E3851F27A701001EB88E /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = "<group>"; }; |
133 | 6E84E38A1F27A703001EB88E /* LifeLogTests.xctest */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = LifeLogTests.xctest; sourceTree = BUILT_PRODUCTS_DIR; }; | 133 | 6E84E38A1F27A703001EB88E /* LifeLogTests.xctest */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = LifeLogTests.xctest; sourceTree = BUILT_PRODUCTS_DIR; }; |
134 | 6E84E38E1F27A703001EB88E /* LifeLogTests.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = LifeLogTests.m; sourceTree = "<group>"; }; | 134 | 6E84E38E1F27A703001EB88E /* LifeLogTests.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = LifeLogTests.m; sourceTree = "<group>"; }; |
135 | 6E84E3901F27A703001EB88E /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = "<group>"; }; | 135 | 6E84E3901F27A703001EB88E /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = "<group>"; }; |
136 | 6E84E3951F27A703001EB88E /* LifeLogUITests.xctest */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = LifeLogUITests.xctest; sourceTree = BUILT_PRODUCTS_DIR; }; | 136 | 6E84E3951F27A703001EB88E /* LifeLogUITests.xctest */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = LifeLogUITests.xctest; sourceTree = BUILT_PRODUCTS_DIR; }; |
137 | 6E84E3991F27A703001EB88E /* LifeLogUITests.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = LifeLogUITests.m; sourceTree = "<group>"; }; | 137 | 6E84E3991F27A703001EB88E /* LifeLogUITests.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = LifeLogUITests.m; sourceTree = "<group>"; }; |
138 | 6E84E39B1F27A703001EB88E /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = "<group>"; }; | 138 | 6E84E39B1F27A703001EB88E /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = "<group>"; }; |
139 | 6E84E3AD1F27A975001EB88E /* HomeViewController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = HomeViewController.h; sourceTree = "<group>"; }; | 139 | 6E84E3AD1F27A975001EB88E /* HomeViewController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = HomeViewController.h; sourceTree = "<group>"; }; |
140 | 6E84E3AE1F27A975001EB88E /* HomeViewConb troller.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = "HomeViewConb troller.m"; sourceTree = "<group>"; }; | 140 | 6E84E3AE1F27A975001EB88E /* HomeViewController.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = HomeViewController.m; sourceTree = "<group>"; }; |
141 | 6E84E3AF1F27A975001EB88E /* HomeViewController.xib */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = file.xib; path = HomeViewController.xib; sourceTree = "<group>"; }; | 141 | 6E84E3AF1F27A975001EB88E /* HomeViewController.xib */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = file.xib; path = HomeViewController.xib; sourceTree = "<group>"; }; |
142 | 6E84E3B21F27A98B001EB88E /* HistoryViewController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = HistoryViewController.h; sourceTree = "<group>"; }; | 142 | 6E84E3B21F27A98B001EB88E /* HistoryViewController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = HistoryViewController.h; sourceTree = "<group>"; }; |
143 | 6E84E3B31F27A98B001EB88E /* HistoryViewController.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = HistoryViewController.m; sourceTree = "<group>"; }; | 143 | 6E84E3B31F27A98B001EB88E /* HistoryViewController.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = HistoryViewController.m; sourceTree = "<group>"; }; |
144 | 6E84E3B41F27A98B001EB88E /* HistoryViewController.xib */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = file.xib; path = HistoryViewController.xib; sourceTree = "<group>"; }; | 144 | 6E84E3B41F27A98B001EB88E /* HistoryViewController.xib */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = file.xib; path = HistoryViewController.xib; sourceTree = "<group>"; }; |
145 | 6E84E3B71F27A9A0001EB88E /* RankingViewController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = RankingViewController.h; sourceTree = "<group>"; }; | 145 | 6E84E3B71F27A9A0001EB88E /* RankingViewController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = RankingViewController.h; sourceTree = "<group>"; }; |
146 | 6E84E3B81F27A9A0001EB88E /* RankingViewController.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = RankingViewController.m; sourceTree = "<group>"; }; | 146 | 6E84E3B81F27A9A0001EB88E /* RankingViewController.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = RankingViewController.m; sourceTree = "<group>"; }; |
147 | 6E84E3B91F27A9A0001EB88E /* RankingViewController.xib */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = file.xib; path = RankingViewController.xib; sourceTree = "<group>"; }; | 147 | 6E84E3B91F27A9A0001EB88E /* RankingViewController.xib */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = file.xib; path = RankingViewController.xib; sourceTree = "<group>"; }; |
148 | 6E84E3BC1F27A9B1001EB88E /* SNSViewController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = SNSViewController.h; sourceTree = "<group>"; }; | 148 | 6E84E3BC1F27A9B1001EB88E /* SNSViewController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = SNSViewController.h; sourceTree = "<group>"; }; |
149 | 6E84E3BD1F27A9B1001EB88E /* SNSViewController.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = SNSViewController.m; sourceTree = "<group>"; }; | 149 | 6E84E3BD1F27A9B1001EB88E /* SNSViewController.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = SNSViewController.m; sourceTree = "<group>"; }; |
150 | 6E84E3BE1F27A9B1001EB88E /* SNSViewController.xib */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = file.xib; path = SNSViewController.xib; sourceTree = "<group>"; }; | 150 | 6E84E3BE1F27A9B1001EB88E /* SNSViewController.xib */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = file.xib; path = SNSViewController.xib; sourceTree = "<group>"; }; |
151 | 6E84E3C21F27ACAE001EB88E /* MapViewController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = MapViewController.h; sourceTree = "<group>"; }; | 151 | 6E84E3C21F27ACAE001EB88E /* MapViewController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = MapViewController.h; sourceTree = "<group>"; }; |
152 | 6E84E3C31F27ACAE001EB88E /* MapViewController.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = MapViewController.m; sourceTree = "<group>"; }; | 152 | 6E84E3C31F27ACAE001EB88E /* MapViewController.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = MapViewController.m; sourceTree = "<group>"; }; |
153 | 6E84E3C41F27ACAE001EB88E /* MapViewController.xib */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = file.xib; path = MapViewController.xib; sourceTree = "<group>"; }; | 153 | 6E84E3C41F27ACAE001EB88E /* MapViewController.xib */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = file.xib; path = MapViewController.xib; sourceTree = "<group>"; }; |
154 | 6E8DA0F41F2BAC3400CCE941 /* TodayViewController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = TodayViewController.h; sourceTree = "<group>"; }; | 154 | 6E8DA0F41F2BAC3400CCE941 /* TodayViewController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = TodayViewController.h; sourceTree = "<group>"; }; |
155 | 6E8DA0F51F2BAC3400CCE941 /* TodayViewController.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = TodayViewController.m; sourceTree = "<group>"; }; | 155 | 6E8DA0F51F2BAC3400CCE941 /* TodayViewController.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = TodayViewController.m; sourceTree = "<group>"; }; |
156 | 6E8DA0F61F2BAC3400CCE941 /* TodayViewController.xib */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = file.xib; path = TodayViewController.xib; sourceTree = "<group>"; }; | 156 | 6E8DA0F61F2BAC3400CCE941 /* TodayViewController.xib */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = file.xib; path = TodayViewController.xib; sourceTree = "<group>"; }; |
157 | 6EA4AF2B1F40BB7A00F52CFE /* StepObject.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = StepObject.h; sourceTree = "<group>"; }; | 157 | 6EA4AF2B1F40BB7A00F52CFE /* StepObject.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = StepObject.h; sourceTree = "<group>"; }; |
158 | 6EA4AF2C1F40BB7A00F52CFE /* StepObject.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = StepObject.m; sourceTree = "<group>"; }; | 158 | 6EA4AF2C1F40BB7A00F52CFE /* StepObject.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = StepObject.m; sourceTree = "<group>"; }; |
159 | 6EA4AF2D1F40BB7A00F52CFE /* TargetInfor.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = TargetInfor.h; sourceTree = "<group>"; }; | 159 | 6EA4AF2D1F40BB7A00F52CFE /* TargetInfor.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = TargetInfor.h; sourceTree = "<group>"; }; |
160 | 6EA4AF2E1F40BB7A00F52CFE /* TargetInfor.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = TargetInfor.m; sourceTree = "<group>"; }; | 160 | 6EA4AF2E1F40BB7A00F52CFE /* TargetInfor.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = TargetInfor.m; sourceTree = "<group>"; }; |
161 | 6EA4AF2F1F40BB7A00F52CFE /* TopObject.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = TopObject.h; sourceTree = "<group>"; }; | 161 | 6EA4AF2F1F40BB7A00F52CFE /* TopObject.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = TopObject.h; sourceTree = "<group>"; }; |
162 | 6EA4AF301F40BB7A00F52CFE /* TopObject.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = TopObject.m; sourceTree = "<group>"; }; | 162 | 6EA4AF301F40BB7A00F52CFE /* TopObject.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = TopObject.m; sourceTree = "<group>"; }; |
163 | 6ECC406F1F2A5FEB00AAEB97 /* NSDate+helper.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = "NSDate+helper.h"; sourceTree = "<group>"; }; | 163 | 6ECC406F1F2A5FEB00AAEB97 /* NSDate+helper.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = "NSDate+helper.h"; sourceTree = "<group>"; }; |
164 | 6ECC40701F2A5FEB00AAEB97 /* NSDate+helper.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = "NSDate+helper.m"; sourceTree = "<group>"; }; | 164 | 6ECC40701F2A5FEB00AAEB97 /* NSDate+helper.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = "NSDate+helper.m"; sourceTree = "<group>"; }; |
165 | 6EDC8BEC1F2C2FB800765ACC /* Utilities.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = Utilities.h; sourceTree = "<group>"; }; | 165 | 6EDC8BEC1F2C2FB800765ACC /* Utilities.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = Utilities.h; sourceTree = "<group>"; }; |
166 | 6EDC8BED1F2C2FB800765ACC /* Utilities.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = Utilities.m; sourceTree = "<group>"; }; | 166 | 6EDC8BED1F2C2FB800765ACC /* Utilities.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = Utilities.m; sourceTree = "<group>"; }; |
167 | 6EDC8BF21F2C68D700765ACC /* CMMotionActivityExtra.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CMMotionActivityExtra.h; sourceTree = "<group>"; }; | 167 | 6EDC8BF21F2C68D700765ACC /* CMMotionActivityExtra.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CMMotionActivityExtra.h; sourceTree = "<group>"; }; |
168 | 6EDC8BF31F2C68D700765ACC /* CMMotionActivityExtra.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = CMMotionActivityExtra.m; sourceTree = "<group>"; }; | 168 | 6EDC8BF31F2C68D700765ACC /* CMMotionActivityExtra.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = CMMotionActivityExtra.m; sourceTree = "<group>"; }; |
169 | 6EF163091F29069300DA306C /* Localizable.strings */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.strings; path = Localizable.strings; sourceTree = "<group>"; }; | 169 | 6EF163091F29069300DA306C /* Localizable.strings */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.strings; path = Localizable.strings; sourceTree = "<group>"; }; |
170 | 9CA8AEE71F31BB4600C5FC74 /* ConfirmForgetPassViewController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ConfirmForgetPassViewController.h; sourceTree = "<group>"; }; | 170 | 9CA8AEE71F31BB4600C5FC74 /* ConfirmForgetPassViewController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ConfirmForgetPassViewController.h; sourceTree = "<group>"; }; |
171 | 9CA8AEE81F31BB4600C5FC74 /* ConfirmForgetPassViewController.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = ConfirmForgetPassViewController.m; sourceTree = "<group>"; }; | 171 | 9CA8AEE81F31BB4600C5FC74 /* ConfirmForgetPassViewController.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = ConfirmForgetPassViewController.m; sourceTree = "<group>"; }; |
172 | 9CA8AEE91F31BB4600C5FC74 /* ConfirmForgetPassViewController.xib */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = file.xib; path = ConfirmForgetPassViewController.xib; sourceTree = "<group>"; }; | 172 | 9CA8AEE91F31BB4600C5FC74 /* ConfirmForgetPassViewController.xib */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = file.xib; path = ConfirmForgetPassViewController.xib; sourceTree = "<group>"; }; |
173 | 9CBDA0F81F2ECE2C0055DED1 /* BaseViewController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = BaseViewController.h; sourceTree = "<group>"; }; | 173 | 9CBDA0F81F2ECE2C0055DED1 /* BaseViewController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = BaseViewController.h; sourceTree = "<group>"; }; |
174 | 9CBDA0F91F2ECE2C0055DED1 /* BaseViewController.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = BaseViewController.m; sourceTree = "<group>"; }; | 174 | 9CBDA0F91F2ECE2C0055DED1 /* BaseViewController.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = BaseViewController.m; sourceTree = "<group>"; }; |
175 | 9CBDA0FC1F2F03810055DED1 /* RegisterViewController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = RegisterViewController.h; sourceTree = "<group>"; }; | 175 | 9CBDA0FC1F2F03810055DED1 /* RegisterViewController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = RegisterViewController.h; sourceTree = "<group>"; }; |
176 | 9CBDA0FD1F2F03810055DED1 /* RegisterViewController.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = RegisterViewController.m; sourceTree = "<group>"; }; | 176 | 9CBDA0FD1F2F03810055DED1 /* RegisterViewController.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = RegisterViewController.m; sourceTree = "<group>"; }; |
177 | 9CBDA0FE1F2F03810055DED1 /* RegisterViewController.xib */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = file.xib; path = RegisterViewController.xib; sourceTree = "<group>"; }; | 177 | 9CBDA0FE1F2F03810055DED1 /* RegisterViewController.xib */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = file.xib; path = RegisterViewController.xib; sourceTree = "<group>"; }; |
178 | E933E6681F3E04A6002926F5 /* SearchGroupViewController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = SearchGroupViewController.h; sourceTree = "<group>"; }; | 178 | E933E6681F3E04A6002926F5 /* SearchGroupViewController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = SearchGroupViewController.h; sourceTree = "<group>"; }; |
179 | E933E6691F3E04A6002926F5 /* SearchGroupViewController.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = SearchGroupViewController.m; sourceTree = "<group>"; }; | 179 | E933E6691F3E04A6002926F5 /* SearchGroupViewController.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = SearchGroupViewController.m; sourceTree = "<group>"; }; |
180 | E933E66A1F3E04A6002926F5 /* SearchGroupViewController.xib */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = file.xib; path = SearchGroupViewController.xib; sourceTree = "<group>"; }; | 180 | E933E66A1F3E04A6002926F5 /* SearchGroupViewController.xib */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = file.xib; path = SearchGroupViewController.xib; sourceTree = "<group>"; }; |
181 | E933E66D1F3E09B6002926F5 /* SearchGroupTableViewCell.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = SearchGroupTableViewCell.h; sourceTree = "<group>"; }; | 181 | E933E66D1F3E09B6002926F5 /* SearchGroupTableViewCell.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = SearchGroupTableViewCell.h; sourceTree = "<group>"; }; |
182 | E933E66E1F3E09B6002926F5 /* SearchGroupTableViewCell.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = SearchGroupTableViewCell.m; sourceTree = "<group>"; }; | 182 | E933E66E1F3E09B6002926F5 /* SearchGroupTableViewCell.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = SearchGroupTableViewCell.m; sourceTree = "<group>"; }; |
183 | E933E66F1F3E09B6002926F5 /* SearchGroupTableViewCell.xib */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = file.xib; path = SearchGroupTableViewCell.xib; sourceTree = "<group>"; }; | 183 | E933E66F1F3E09B6002926F5 /* SearchGroupTableViewCell.xib */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = file.xib; path = SearchGroupTableViewCell.xib; sourceTree = "<group>"; }; |
184 | E933E6721F3E0E4E002926F5 /* GroupObject.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = GroupObject.h; sourceTree = "<group>"; }; | 184 | E933E6721F3E0E4E002926F5 /* GroupObject.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = GroupObject.h; sourceTree = "<group>"; }; |
185 | E933E6731F3E0E4E002926F5 /* GroupObject.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = GroupObject.m; sourceTree = "<group>"; }; | 185 | E933E6731F3E0E4E002926F5 /* GroupObject.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = GroupObject.m; sourceTree = "<group>"; }; |
186 | E933E6761F40513C002926F5 /* GroupDetailViewController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = GroupDetailViewController.h; sourceTree = "<group>"; }; | 186 | E933E6761F40513C002926F5 /* GroupDetailViewController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = GroupDetailViewController.h; sourceTree = "<group>"; }; |
187 | E933E6771F40513C002926F5 /* GroupDetailViewController.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = GroupDetailViewController.m; sourceTree = "<group>"; }; | 187 | E933E6771F40513C002926F5 /* GroupDetailViewController.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = GroupDetailViewController.m; sourceTree = "<group>"; }; |
188 | E933E6781F40513C002926F5 /* GroupDetailViewController.xib */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = file.xib; path = GroupDetailViewController.xib; sourceTree = "<group>"; }; | 188 | E933E6781F40513C002926F5 /* GroupDetailViewController.xib */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = file.xib; path = GroupDetailViewController.xib; sourceTree = "<group>"; }; |
189 | E9373E451F3596940059355A /* AutoTransLabel.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = AutoTransLabel.h; sourceTree = "<group>"; }; | 189 | E9373E451F3596940059355A /* AutoTransLabel.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = AutoTransLabel.h; sourceTree = "<group>"; }; |
190 | E9373E461F3596940059355A /* AutoTransLabel.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = AutoTransLabel.m; sourceTree = "<group>"; }; | 190 | E9373E461F3596940059355A /* AutoTransLabel.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = AutoTransLabel.m; sourceTree = "<group>"; }; |
191 | E9373E481F35AA180059355A /* HistoryObject.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = HistoryObject.h; sourceTree = "<group>"; }; | 191 | E9373E481F35AA180059355A /* HistoryObject.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = HistoryObject.h; sourceTree = "<group>"; }; |
192 | E9373E491F35AA180059355A /* HistoryObject.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = HistoryObject.m; sourceTree = "<group>"; }; | 192 | E9373E491F35AA180059355A /* HistoryObject.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = HistoryObject.m; sourceTree = "<group>"; }; |
193 | E9497FD31F46EC1100E6AF8D /* MemberObject.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = MemberObject.h; sourceTree = "<group>"; }; | 193 | E9497FD31F46EC1100E6AF8D /* MemberObject.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = MemberObject.h; sourceTree = "<group>"; }; |
194 | E9497FD41F46EC1100E6AF8D /* MemberObject.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = MemberObject.m; sourceTree = "<group>"; }; | 194 | E9497FD41F46EC1100E6AF8D /* MemberObject.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = MemberObject.m; sourceTree = "<group>"; }; |
195 | E95F4CEA1F475C6A00D27E80 /* CreateGroupViewController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CreateGroupViewController.h; sourceTree = "<group>"; }; | 195 | E95F4CEA1F475C6A00D27E80 /* CreateGroupViewController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CreateGroupViewController.h; sourceTree = "<group>"; }; |
196 | E95F4CEB1F475C6A00D27E80 /* CreateGroupViewController.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = CreateGroupViewController.m; sourceTree = "<group>"; }; | 196 | E95F4CEB1F475C6A00D27E80 /* CreateGroupViewController.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = CreateGroupViewController.m; sourceTree = "<group>"; }; |
197 | E95F4CEC1F475C6A00D27E80 /* CreateGroupViewController.xib */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = file.xib; path = CreateGroupViewController.xib; sourceTree = "<group>"; }; | 197 | E95F4CEC1F475C6A00D27E80 /* CreateGroupViewController.xib */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = file.xib; path = CreateGroupViewController.xib; sourceTree = "<group>"; }; |
198 | E95F4CF01F48B39200D27E80 /* MyGroupViewController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = MyGroupViewController.h; sourceTree = "<group>"; }; | 198 | E95F4CF01F48B39200D27E80 /* MyGroupViewController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = MyGroupViewController.h; sourceTree = "<group>"; }; |
199 | E95F4CF11F48B39200D27E80 /* MyGroupViewController.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = MyGroupViewController.m; sourceTree = "<group>"; }; | 199 | E95F4CF11F48B39200D27E80 /* MyGroupViewController.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = MyGroupViewController.m; sourceTree = "<group>"; }; |
200 | E95F4CF21F48B39200D27E80 /* MyGroupViewController.xib */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = file.xib; path = MyGroupViewController.xib; sourceTree = "<group>"; }; | 200 | E95F4CF21F48B39200D27E80 /* MyGroupViewController.xib */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = file.xib; path = MyGroupViewController.xib; sourceTree = "<group>"; }; |
201 | E9682E2B1F39675A00FE05A2 /* RankingTableViewCell.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = RankingTableViewCell.h; sourceTree = "<group>"; }; | 201 | E9682E2B1F39675A00FE05A2 /* RankingTableViewCell.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = RankingTableViewCell.h; sourceTree = "<group>"; }; |
202 | E9682E2C1F39675A00FE05A2 /* RankingTableViewCell.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = RankingTableViewCell.m; sourceTree = "<group>"; }; | 202 | E9682E2C1F39675A00FE05A2 /* RankingTableViewCell.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = RankingTableViewCell.m; sourceTree = "<group>"; }; |
203 | E9682E2D1F39675A00FE05A2 /* RankingTableViewCell.xib */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = file.xib; path = RankingTableViewCell.xib; sourceTree = "<group>"; }; | 203 | E9682E2D1F39675A00FE05A2 /* RankingTableViewCell.xib */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = file.xib; path = RankingTableViewCell.xib; sourceTree = "<group>"; }; |
204 | E96855081F3C444900317CEF /* AutoTransButton.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = AutoTransButton.h; sourceTree = "<group>"; }; | 204 | E96855081F3C444900317CEF /* AutoTransButton.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = AutoTransButton.h; sourceTree = "<group>"; }; |
205 | E96855091F3C444900317CEF /* AutoTransButton.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = AutoTransButton.m; sourceTree = "<group>"; }; | 205 | E96855091F3C444900317CEF /* AutoTransButton.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = AutoTransButton.m; sourceTree = "<group>"; }; |
206 | E968550E1F3C5D9A00317CEF /* SNSRecentTopicTableViewCell.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = SNSRecentTopicTableViewCell.h; sourceTree = "<group>"; }; | 206 | E968550E1F3C5D9A00317CEF /* SNSRecentTopicTableViewCell.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = SNSRecentTopicTableViewCell.h; sourceTree = "<group>"; }; |
207 | E968550F1F3C5D9A00317CEF /* SNSRecentTopicTableViewCell.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = SNSRecentTopicTableViewCell.m; sourceTree = "<group>"; }; | 207 | E968550F1F3C5D9A00317CEF /* SNSRecentTopicTableViewCell.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = SNSRecentTopicTableViewCell.m; sourceTree = "<group>"; }; |
208 | E96855101F3C5D9A00317CEF /* SNSRecentTopicTableViewCell.xib */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = file.xib; path = SNSRecentTopicTableViewCell.xib; sourceTree = "<group>"; }; | 208 | E96855101F3C5D9A00317CEF /* SNSRecentTopicTableViewCell.xib */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = file.xib; path = SNSRecentTopicTableViewCell.xib; sourceTree = "<group>"; }; |
209 | E97588FA1F513BAD00782484 /* RankingObject.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = RankingObject.h; sourceTree = "<group>"; }; | 209 | E97588FA1F513BAD00782484 /* RankingObject.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = RankingObject.h; sourceTree = "<group>"; }; |
210 | E97588FB1F513BAD00782484 /* RankingObject.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = RankingObject.m; sourceTree = "<group>"; }; | 210 | E97588FB1F513BAD00782484 /* RankingObject.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = RankingObject.m; sourceTree = "<group>"; }; |
211 | E997E0251F3AB66500709FB1 /* Social.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Social.framework; path = System/Library/Frameworks/Social.framework; sourceTree = SDKROOT; }; | 211 | E997E0251F3AB66500709FB1 /* Social.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Social.framework; path = System/Library/Frameworks/Social.framework; sourceTree = SDKROOT; }; |
212 | E99E13A91F336F3600C78787 /* CollectionView.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CollectionView.h; sourceTree = "<group>"; }; | 212 | E99E13A91F336F3600C78787 /* CollectionView.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CollectionView.h; sourceTree = "<group>"; }; |
213 | E99E13AA1F336F3600C78787 /* CollectionView.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = CollectionView.m; sourceTree = "<group>"; }; | 213 | E99E13AA1F336F3600C78787 /* CollectionView.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = CollectionView.m; sourceTree = "<group>"; }; |
214 | E99E13AC1F336F4500C78787 /* CollectionView.xib */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = file.xib; path = CollectionView.xib; sourceTree = "<group>"; }; | 214 | E99E13AC1F336F4500C78787 /* CollectionView.xib */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = file.xib; path = CollectionView.xib; sourceTree = "<group>"; }; |
215 | E99E13AE1F33720600C78787 /* LabelCollectionViewCell.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = LabelCollectionViewCell.h; sourceTree = "<group>"; }; | 215 | E99E13AE1F33720600C78787 /* LabelCollectionViewCell.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = LabelCollectionViewCell.h; sourceTree = "<group>"; }; |
216 | E99E13AF1F33720600C78787 /* LabelCollectionViewCell.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = LabelCollectionViewCell.m; sourceTree = "<group>"; }; | 216 | E99E13AF1F33720600C78787 /* LabelCollectionViewCell.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = LabelCollectionViewCell.m; sourceTree = "<group>"; }; |
217 | E99E13B01F33720600C78787 /* LabelCollectionViewCell.xib */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = file.xib; path = LabelCollectionViewCell.xib; sourceTree = "<group>"; }; | 217 | E99E13B01F33720600C78787 /* LabelCollectionViewCell.xib */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = file.xib; path = LabelCollectionViewCell.xib; sourceTree = "<group>"; }; |
218 | E9D9091F1F3D559D004CF99F /* TweetObject.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = TweetObject.h; sourceTree = "<group>"; }; | 218 | E9D9091F1F3D559D004CF99F /* TweetObject.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = TweetObject.h; sourceTree = "<group>"; }; |
219 | E9D909201F3D559D004CF99F /* TweetObject.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = TweetObject.m; sourceTree = "<group>"; }; | 219 | E9D909201F3D559D004CF99F /* TweetObject.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = TweetObject.m; sourceTree = "<group>"; }; |
220 | E9D909221F3D6E8C004CF99F /* BaseTableViewController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = BaseTableViewController.h; sourceTree = "<group>"; }; | 220 | E9D909221F3D6E8C004CF99F /* BaseTableViewController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = BaseTableViewController.h; sourceTree = "<group>"; }; |
221 | E9D909231F3D6E8C004CF99F /* BaseTableViewController.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = BaseTableViewController.m; sourceTree = "<group>"; }; | 221 | E9D909231F3D6E8C004CF99F /* BaseTableViewController.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = BaseTableViewController.m; sourceTree = "<group>"; }; |
222 | E9F73DC91F338A0F004A3A6F /* HistoryListTableViewCell.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = HistoryListTableViewCell.h; sourceTree = "<group>"; }; | 222 | E9F73DC91F338A0F004A3A6F /* HistoryListTableViewCell.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = HistoryListTableViewCell.h; sourceTree = "<group>"; }; |
223 | E9F73DCA1F338A0F004A3A6F /* HistoryListTableViewCell.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = HistoryListTableViewCell.m; sourceTree = "<group>"; }; | 223 | E9F73DCA1F338A0F004A3A6F /* HistoryListTableViewCell.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = HistoryListTableViewCell.m; sourceTree = "<group>"; }; |
224 | E9F73DCB1F338A0F004A3A6F /* HistoryListTableViewCell.xib */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = file.xib; path = HistoryListTableViewCell.xib; sourceTree = "<group>"; }; | 224 | E9F73DCB1F338A0F004A3A6F /* HistoryListTableViewCell.xib */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = file.xib; path = HistoryListTableViewCell.xib; sourceTree = "<group>"; }; |
225 | /* End PBXFileReference section */ | 225 | /* End PBXFileReference section */ |
226 | 226 | ||
227 | /* Begin PBXFrameworksBuildPhase section */ | 227 | /* Begin PBXFrameworksBuildPhase section */ |
228 | 6E84E36E1F27A700001EB88E /* Frameworks */ = { | 228 | 6E84E36E1F27A700001EB88E /* Frameworks */ = { |
229 | isa = PBXFrameworksBuildPhase; | 229 | isa = PBXFrameworksBuildPhase; |
230 | buildActionMask = 2147483647; | 230 | buildActionMask = 2147483647; |
231 | files = ( | 231 | files = ( |
232 | E997E0261F3AB66500709FB1 /* Social.framework in Frameworks */, | 232 | E997E0261F3AB66500709FB1 /* Social.framework in Frameworks */, |
233 | 011799F0F2B47D80472673CE /* Pods_LifeLog.framework in Frameworks */, | 233 | 011799F0F2B47D80472673CE /* Pods_LifeLog.framework in Frameworks */, |
234 | ); | 234 | ); |
235 | runOnlyForDeploymentPostprocessing = 0; | 235 | runOnlyForDeploymentPostprocessing = 0; |
236 | }; | 236 | }; |
237 | 6E84E3871F27A703001EB88E /* Frameworks */ = { | 237 | 6E84E3871F27A703001EB88E /* Frameworks */ = { |
238 | isa = PBXFrameworksBuildPhase; | 238 | isa = PBXFrameworksBuildPhase; |
239 | buildActionMask = 2147483647; | 239 | buildActionMask = 2147483647; |
240 | files = ( | 240 | files = ( |
241 | ); | 241 | ); |
242 | runOnlyForDeploymentPostprocessing = 0; | 242 | runOnlyForDeploymentPostprocessing = 0; |
243 | }; | 243 | }; |
244 | 6E84E3921F27A703001EB88E /* Frameworks */ = { | 244 | 6E84E3921F27A703001EB88E /* Frameworks */ = { |
245 | isa = PBXFrameworksBuildPhase; | 245 | isa = PBXFrameworksBuildPhase; |
246 | buildActionMask = 2147483647; | 246 | buildActionMask = 2147483647; |
247 | files = ( | 247 | files = ( |
248 | ); | 248 | ); |
249 | runOnlyForDeploymentPostprocessing = 0; | 249 | runOnlyForDeploymentPostprocessing = 0; |
250 | }; | 250 | }; |
251 | /* End PBXFrameworksBuildPhase section */ | 251 | /* End PBXFrameworksBuildPhase section */ |
252 | 252 | ||
253 | /* Begin PBXGroup section */ | 253 | /* Begin PBXGroup section */ |
254 | 020C1721B642EF36F31E1BB4 /* Frameworks */ = { | 254 | 020C1721B642EF36F31E1BB4 /* Frameworks */ = { |
255 | isa = PBXGroup; | 255 | isa = PBXGroup; |
256 | children = ( | 256 | children = ( |
257 | E997E0251F3AB66500709FB1 /* Social.framework */, | 257 | E997E0251F3AB66500709FB1 /* Social.framework */, |
258 | 2D9F4ED6F06C8F252B9EAF48 /* Pods_LifeLog.framework */, | 258 | 2D9F4ED6F06C8F252B9EAF48 /* Pods_LifeLog.framework */, |
259 | ); | 259 | ); |
260 | name = Frameworks; | 260 | name = Frameworks; |
261 | sourceTree = "<group>"; | 261 | sourceTree = "<group>"; |
262 | }; | 262 | }; |
263 | 6E18CECF1F2E398C0029891F /* Login */ = { | 263 | 6E18CECF1F2E398C0029891F /* Login */ = { |
264 | isa = PBXGroup; | 264 | isa = PBXGroup; |
265 | children = ( | 265 | children = ( |
266 | 9CA8AEE61F31BB1200C5FC74 /* ConfirmForgetPass */, | 266 | 9CA8AEE61F31BB1200C5FC74 /* ConfirmForgetPass */, |
267 | 6E18CED01F2E39DB0029891F /* LoginViewController.h */, | 267 | 6E18CED01F2E39DB0029891F /* LoginViewController.h */, |
268 | 6E18CED11F2E39DB0029891F /* LoginViewController.m */, | 268 | 6E18CED11F2E39DB0029891F /* LoginViewController.m */, |
269 | 6E18CED21F2E39DB0029891F /* LoginViewController.xib */, | 269 | 6E18CED21F2E39DB0029891F /* LoginViewController.xib */, |
270 | ); | 270 | ); |
271 | name = Login; | 271 | name = Login; |
272 | sourceTree = "<group>"; | 272 | sourceTree = "<group>"; |
273 | }; | 273 | }; |
274 | 6E18CED51F2E3C0E0029891F /* ServerAPI */ = { | 274 | 6E18CED51F2E3C0E0029891F /* ServerAPI */ = { |
275 | isa = PBXGroup; | 275 | isa = PBXGroup; |
276 | children = ( | 276 | children = ( |
277 | 6E18CED61F2E3C840029891F /* ServerAPI.h */, | 277 | 6E18CED61F2E3C840029891F /* ServerAPI.h */, |
278 | 6E18CED71F2E3C840029891F /* ServerAPI.m */, | 278 | 6E18CED71F2E3C840029891F /* ServerAPI.m */, |
279 | ); | 279 | ); |
280 | name = ServerAPI; | 280 | name = ServerAPI; |
281 | sourceTree = "<group>"; | 281 | sourceTree = "<group>"; |
282 | }; | 282 | }; |
283 | 6E18CED91F2E40AE0029891F /* Model */ = { | 283 | 6E18CED91F2E40AE0029891F /* Model */ = { |
284 | isa = PBXGroup; | 284 | isa = PBXGroup; |
285 | children = ( | 285 | children = ( |
286 | 6E18CEDD1F2E46570029891F /* Entities.h */, | 286 | 6E18CEDD1F2E46570029891F /* Entities.h */, |
287 | 6EA4AF2B1F40BB7A00F52CFE /* StepObject.h */, | 287 | 6EA4AF2B1F40BB7A00F52CFE /* StepObject.h */, |
288 | 6EA4AF2C1F40BB7A00F52CFE /* StepObject.m */, | 288 | 6EA4AF2C1F40BB7A00F52CFE /* StepObject.m */, |
289 | 6EA4AF2D1F40BB7A00F52CFE /* TargetInfor.h */, | 289 | 6EA4AF2D1F40BB7A00F52CFE /* TargetInfor.h */, |
290 | 6EA4AF2E1F40BB7A00F52CFE /* TargetInfor.m */, | 290 | 6EA4AF2E1F40BB7A00F52CFE /* TargetInfor.m */, |
291 | 6EA4AF2F1F40BB7A00F52CFE /* TopObject.h */, | 291 | 6EA4AF2F1F40BB7A00F52CFE /* TopObject.h */, |
292 | 6EA4AF301F40BB7A00F52CFE /* TopObject.m */, | 292 | 6EA4AF301F40BB7A00F52CFE /* TopObject.m */, |
293 | 6E18CEDA1F2E40F50029891F /* User.h */, | 293 | 6E18CEDA1F2E40F50029891F /* User.h */, |
294 | 6E18CEDB1F2E40F50029891F /* User.m */, | 294 | 6E18CEDB1F2E40F50029891F /* User.m */, |
295 | E9373E481F35AA180059355A /* HistoryObject.h */, | 295 | E9373E481F35AA180059355A /* HistoryObject.h */, |
296 | E9373E491F35AA180059355A /* HistoryObject.m */, | 296 | E9373E491F35AA180059355A /* HistoryObject.m */, |
297 | E9D9091F1F3D559D004CF99F /* TweetObject.h */, | 297 | E9D9091F1F3D559D004CF99F /* TweetObject.h */, |
298 | E9D909201F3D559D004CF99F /* TweetObject.m */, | 298 | E9D909201F3D559D004CF99F /* TweetObject.m */, |
299 | E933E6721F3E0E4E002926F5 /* GroupObject.h */, | 299 | E933E6721F3E0E4E002926F5 /* GroupObject.h */, |
300 | E933E6731F3E0E4E002926F5 /* GroupObject.m */, | 300 | E933E6731F3E0E4E002926F5 /* GroupObject.m */, |
301 | E9497FD31F46EC1100E6AF8D /* MemberObject.h */, | 301 | E9497FD31F46EC1100E6AF8D /* MemberObject.h */, |
302 | E9497FD41F46EC1100E6AF8D /* MemberObject.m */, | 302 | E9497FD41F46EC1100E6AF8D /* MemberObject.m */, |
303 | E97588FA1F513BAD00782484 /* RankingObject.h */, | 303 | E97588FA1F513BAD00782484 /* RankingObject.h */, |
304 | E97588FB1F513BAD00782484 /* RankingObject.m */, | 304 | E97588FB1F513BAD00782484 /* RankingObject.m */, |
305 | 6E27A7481F9E41B300C390B3 /* HomeObject.h */, | 305 | 6E27A7481F9E41B300C390B3 /* HomeObject.h */, |
306 | 6E27A7491F9E41B400C390B3 /* HomeObject.m */, | 306 | 6E27A7491F9E41B400C390B3 /* HomeObject.m */, |
307 | 6E27A74B1F9E432900C390B3 /* NoticeInfor.h */, | 307 | 6E27A74B1F9E432900C390B3 /* NoticeInfor.h */, |
308 | 6E27A74C1F9E432900C390B3 /* NoticeInfor.m */, | 308 | 6E27A74C1F9E432900C390B3 /* NoticeInfor.m */, |
309 | ); | 309 | ); |
310 | name = Model; | 310 | name = Model; |
311 | sourceTree = "<group>"; | 311 | sourceTree = "<group>"; |
312 | }; | 312 | }; |
313 | 6E7F93391F35870F00EFBC71 /* TPKeyboardAvoiding */ = { | 313 | 6E7F93391F35870F00EFBC71 /* TPKeyboardAvoiding */ = { |
314 | isa = PBXGroup; | 314 | isa = PBXGroup; |
315 | children = ( | 315 | children = ( |
316 | 6E7F933A1F35872B00EFBC71 /* TPKeyboardAvoidingCollectionView.h */, | 316 | 6E7F933A1F35872B00EFBC71 /* TPKeyboardAvoidingCollectionView.h */, |
317 | 6E7F933B1F35872B00EFBC71 /* TPKeyboardAvoidingCollectionView.m */, | 317 | 6E7F933B1F35872B00EFBC71 /* TPKeyboardAvoidingCollectionView.m */, |
318 | 6E7F933C1F35872B00EFBC71 /* TPKeyboardAvoidingScrollView.h */, | 318 | 6E7F933C1F35872B00EFBC71 /* TPKeyboardAvoidingScrollView.h */, |
319 | 6E7F933D1F35872B00EFBC71 /* TPKeyboardAvoidingScrollView.m */, | 319 | 6E7F933D1F35872B00EFBC71 /* TPKeyboardAvoidingScrollView.m */, |
320 | 6E7F933E1F35872B00EFBC71 /* TPKeyboardAvoidingTableView.h */, | 320 | 6E7F933E1F35872B00EFBC71 /* TPKeyboardAvoidingTableView.h */, |
321 | 6E7F933F1F35872B00EFBC71 /* TPKeyboardAvoidingTableView.m */, | 321 | 6E7F933F1F35872B00EFBC71 /* TPKeyboardAvoidingTableView.m */, |
322 | 6E7F93401F35872B00EFBC71 /* UIScrollView+TPKeyboardAvoidingAdditions.h */, | 322 | 6E7F93401F35872B00EFBC71 /* UIScrollView+TPKeyboardAvoidingAdditions.h */, |
323 | 6E7F93411F35872B00EFBC71 /* UIScrollView+TPKeyboardAvoidingAdditions.m */, | 323 | 6E7F93411F35872B00EFBC71 /* UIScrollView+TPKeyboardAvoidingAdditions.m */, |
324 | ); | 324 | ); |
325 | name = TPKeyboardAvoiding; | 325 | name = TPKeyboardAvoiding; |
326 | sourceTree = "<group>"; | 326 | sourceTree = "<group>"; |
327 | }; | 327 | }; |
328 | 6E84E3681F27A700001EB88E = { | 328 | 6E84E3681F27A700001EB88E = { |
329 | isa = PBXGroup; | 329 | isa = PBXGroup; |
330 | children = ( | 330 | children = ( |
331 | 6E84E3731F27A700001EB88E /* LifeLog */, | 331 | 6E84E3731F27A700001EB88E /* LifeLog */, |
332 | 6E84E38D1F27A703001EB88E /* LifeLogTests */, | 332 | 6E84E38D1F27A703001EB88E /* LifeLogTests */, |
333 | 6E84E3981F27A703001EB88E /* LifeLogUITests */, | 333 | 6E84E3981F27A703001EB88E /* LifeLogUITests */, |
334 | DE8269E957EA47CD771BAB33 /* Pods */, | 334 | DE8269E957EA47CD771BAB33 /* Pods */, |
335 | 020C1721B642EF36F31E1BB4 /* Frameworks */, | 335 | 020C1721B642EF36F31E1BB4 /* Frameworks */, |
336 | 783929CF869F5081762B3DCA /* Products */, | 336 | 783929CF869F5081762B3DCA /* Products */, |
337 | ); | 337 | ); |
338 | sourceTree = "<group>"; | 338 | sourceTree = "<group>"; |
339 | }; | 339 | }; |
340 | 6E84E3721F27A700001EB88E /* Products */ = { | 340 | 6E84E3721F27A700001EB88E /* Products */ = { |
341 | isa = PBXGroup; | 341 | isa = PBXGroup; |
342 | children = ( | 342 | children = ( |
343 | 6E84E3711F27A700001EB88E /* LifeLog.app */, | 343 | 6E84E3711F27A700001EB88E /* LifeLog.app */, |
344 | 6E84E38A1F27A703001EB88E /* LifeLogTests.xctest */, | 344 | 6E84E38A1F27A703001EB88E /* LifeLogTests.xctest */, |
345 | 6E84E3951F27A703001EB88E /* LifeLogUITests.xctest */, | 345 | 6E84E3951F27A703001EB88E /* LifeLogUITests.xctest */, |
346 | ); | 346 | ); |
347 | name = Products; | 347 | name = Products; |
348 | sourceTree = "<group>"; | 348 | sourceTree = "<group>"; |
349 | }; | 349 | }; |
350 | 6E84E3731F27A700001EB88E /* LifeLog */ = { | 350 | 6E84E3731F27A700001EB88E /* LifeLog */ = { |
351 | isa = PBXGroup; | 351 | isa = PBXGroup; |
352 | children = ( | 352 | children = ( |
353 | 6E18CED91F2E40AE0029891F /* Model */, | 353 | 6E18CED91F2E40AE0029891F /* Model */, |
354 | 6E18CED51F2E3C0E0029891F /* ServerAPI */, | 354 | 6E18CED51F2E3C0E0029891F /* ServerAPI */, |
355 | 6EDC8BEB1F2C2F3300765ACC /* Common */, | 355 | 6EDC8BEB1F2C2F3300765ACC /* Common */, |
356 | 6ECC406D1F2A5FA500AAEB97 /* Library */, | 356 | 6ECC406D1F2A5FA500AAEB97 /* Library */, |
357 | E99E13A71F336F0C00C78787 /* CustomView */, | 357 | E99E13A71F336F0C00C78787 /* CustomView */, |
358 | 6E84E3A81F27A8A9001EB88E /* ViewControllers */, | 358 | 6E84E3A81F27A8A9001EB88E /* ViewControllers */, |
359 | 6E84E3A71F27A887001EB88E /* AppDelegate */, | 359 | 6E84E3A71F27A887001EB88E /* AppDelegate */, |
360 | 6E84E3801F27A701001EB88E /* Assets.xcassets */, | 360 | 6E84E3801F27A701001EB88E /* Assets.xcassets */, |
361 | 6E84E3821F27A701001EB88E /* LaunchScreen.storyboard */, | 361 | 6E84E3821F27A701001EB88E /* LaunchScreen.storyboard */, |
362 | 6E84E3851F27A701001EB88E /* Info.plist */, | 362 | 6E84E3851F27A701001EB88E /* Info.plist */, |
363 | 6E84E3741F27A701001EB88E /* Supporting Files */, | 363 | 6E84E3741F27A701001EB88E /* Supporting Files */, |
364 | ); | 364 | ); |
365 | path = LifeLog; | 365 | path = LifeLog; |
366 | sourceTree = "<group>"; | 366 | sourceTree = "<group>"; |
367 | }; | 367 | }; |
368 | 6E84E3741F27A701001EB88E /* Supporting Files */ = { | 368 | 6E84E3741F27A701001EB88E /* Supporting Files */ = { |
369 | isa = PBXGroup; | 369 | isa = PBXGroup; |
370 | children = ( | 370 | children = ( |
371 | 6E84E3751F27A701001EB88E /* main.m */, | 371 | 6E84E3751F27A701001EB88E /* main.m */, |
372 | 6EF163091F29069300DA306C /* Localizable.strings */, | 372 | 6EF163091F29069300DA306C /* Localizable.strings */, |
373 | ); | 373 | ); |
374 | name = "Supporting Files"; | 374 | name = "Supporting Files"; |
375 | sourceTree = "<group>"; | 375 | sourceTree = "<group>"; |
376 | }; | 376 | }; |
377 | 6E84E38D1F27A703001EB88E /* LifeLogTests */ = { | 377 | 6E84E38D1F27A703001EB88E /* LifeLogTests */ = { |
378 | isa = PBXGroup; | 378 | isa = PBXGroup; |
379 | children = ( | 379 | children = ( |
380 | 6E84E38E1F27A703001EB88E /* LifeLogTests.m */, | 380 | 6E84E38E1F27A703001EB88E /* LifeLogTests.m */, |
381 | 6E84E3901F27A703001EB88E /* Info.plist */, | 381 | 6E84E3901F27A703001EB88E /* Info.plist */, |
382 | ); | 382 | ); |
383 | path = LifeLogTests; | 383 | path = LifeLogTests; |
384 | sourceTree = "<group>"; | 384 | sourceTree = "<group>"; |
385 | }; | 385 | }; |
386 | 6E84E3981F27A703001EB88E /* LifeLogUITests */ = { | 386 | 6E84E3981F27A703001EB88E /* LifeLogUITests */ = { |
387 | isa = PBXGroup; | 387 | isa = PBXGroup; |
388 | children = ( | 388 | children = ( |
389 | 6E84E3991F27A703001EB88E /* LifeLogUITests.m */, | 389 | 6E84E3991F27A703001EB88E /* LifeLogUITests.m */, |
390 | 6E84E39B1F27A703001EB88E /* Info.plist */, | 390 | 6E84E39B1F27A703001EB88E /* Info.plist */, |
391 | ); | 391 | ); |
392 | path = LifeLogUITests; | 392 | path = LifeLogUITests; |
393 | sourceTree = "<group>"; | 393 | sourceTree = "<group>"; |
394 | }; | 394 | }; |
395 | 6E84E3A71F27A887001EB88E /* AppDelegate */ = { | 395 | 6E84E3A71F27A887001EB88E /* AppDelegate */ = { |
396 | isa = PBXGroup; | 396 | isa = PBXGroup; |
397 | children = ( | 397 | children = ( |
398 | 6E84E3771F27A701001EB88E /* AppDelegate.h */, | 398 | 6E84E3771F27A701001EB88E /* AppDelegate.h */, |
399 | 6E84E3781F27A701001EB88E /* AppDelegate.m */, | 399 | 6E84E3781F27A701001EB88E /* AppDelegate.m */, |
400 | ); | 400 | ); |
401 | name = AppDelegate; | 401 | name = AppDelegate; |
402 | sourceTree = "<group>"; | 402 | sourceTree = "<group>"; |
403 | }; | 403 | }; |
404 | 6E84E3A81F27A8A9001EB88E /* ViewControllers */ = { | 404 | 6E84E3A81F27A8A9001EB88E /* ViewControllers */ = { |
405 | isa = PBXGroup; | 405 | isa = PBXGroup; |
406 | children = ( | 406 | children = ( |
407 | 9CBDA0F71F2ECDFD0055DED1 /* BaseViewController */, | 407 | 9CBDA0F71F2ECDFD0055DED1 /* BaseViewController */, |
408 | 9CBDA0FB1F2F03490055DED1 /* Register */, | 408 | 9CBDA0FB1F2F03490055DED1 /* Register */, |
409 | 6E18CECF1F2E398C0029891F /* Login */, | 409 | 6E18CECF1F2E398C0029891F /* Login */, |
410 | 6E84E3AC1F27A954001EB88E /* SNS */, | 410 | 6E84E3AC1F27A954001EB88E /* SNS */, |
411 | 6E84E3C11F27AC89001EB88E /* Map */, | 411 | 6E84E3C11F27AC89001EB88E /* Map */, |
412 | 6E84E3AB1F27A946001EB88E /* Ranking */, | 412 | 6E84E3AB1F27A946001EB88E /* Ranking */, |
413 | 6E84E3AA1F27A924001EB88E /* History */, | 413 | 6E84E3AA1F27A924001EB88E /* History */, |
414 | 6E84E3A91F27A915001EB88E /* Home */, | 414 | 6E84E3A91F27A915001EB88E /* Home */, |
415 | ); | 415 | ); |
416 | name = ViewControllers; | 416 | name = ViewControllers; |
417 | sourceTree = "<group>"; | 417 | sourceTree = "<group>"; |
418 | }; | 418 | }; |
419 | 6E84E3A91F27A915001EB88E /* Home */ = { | 419 | 6E84E3A91F27A915001EB88E /* Home */ = { |
420 | isa = PBXGroup; | 420 | isa = PBXGroup; |
421 | children = ( | 421 | children = ( |
422 | 6E8DA0F31F2BAC0800CCE941 /* Today */, | 422 | 6E8DA0F31F2BAC0800CCE941 /* Today */, |
423 | 6E84E3AD1F27A975001EB88E /* HomeViewController.h */, | 423 | 6E84E3AD1F27A975001EB88E /* HomeViewController.h */, |
424 | 6E84E3AE1F27A975001EB88E /* HomeViewConb troller.m */, | 424 | 6E84E3AE1F27A975001EB88E /* HomeViewController.m */, |
425 | 6E84E3AF1F27A975001EB88E /* HomeViewController.xib */, | 425 | 6E84E3AF1F27A975001EB88E /* HomeViewController.xib */, |
426 | ); | 426 | ); |
427 | name = Home; | 427 | name = Home; |
428 | sourceTree = "<group>"; | 428 | sourceTree = "<group>"; |
429 | }; | 429 | }; |
430 | 6E84E3AA1F27A924001EB88E /* History */ = { | 430 | 6E84E3AA1F27A924001EB88E /* History */ = { |
431 | isa = PBXGroup; | 431 | isa = PBXGroup; |
432 | children = ( | 432 | children = ( |
433 | 6E84E3B21F27A98B001EB88E /* HistoryViewController.h */, | 433 | 6E84E3B21F27A98B001EB88E /* HistoryViewController.h */, |
434 | 6E84E3B31F27A98B001EB88E /* HistoryViewController.m */, | 434 | 6E84E3B31F27A98B001EB88E /* HistoryViewController.m */, |
435 | 6E84E3B41F27A98B001EB88E /* HistoryViewController.xib */, | 435 | 6E84E3B41F27A98B001EB88E /* HistoryViewController.xib */, |
436 | E9F73DC91F338A0F004A3A6F /* HistoryListTableViewCell.h */, | 436 | E9F73DC91F338A0F004A3A6F /* HistoryListTableViewCell.h */, |
437 | E9F73DCA1F338A0F004A3A6F /* HistoryListTableViewCell.m */, | 437 | E9F73DCA1F338A0F004A3A6F /* HistoryListTableViewCell.m */, |
438 | E9F73DCB1F338A0F004A3A6F /* HistoryListTableViewCell.xib */, | 438 | E9F73DCB1F338A0F004A3A6F /* HistoryListTableViewCell.xib */, |
439 | ); | 439 | ); |
440 | name = History; | 440 | name = History; |
441 | sourceTree = "<group>"; | 441 | sourceTree = "<group>"; |
442 | }; | 442 | }; |
443 | 6E84E3AB1F27A946001EB88E /* Ranking */ = { | 443 | 6E84E3AB1F27A946001EB88E /* Ranking */ = { |
444 | isa = PBXGroup; | 444 | isa = PBXGroup; |
445 | children = ( | 445 | children = ( |
446 | 6E84E3B71F27A9A0001EB88E /* RankingViewController.h */, | 446 | 6E84E3B71F27A9A0001EB88E /* RankingViewController.h */, |
447 | 6E84E3B81F27A9A0001EB88E /* RankingViewController.m */, | 447 | 6E84E3B81F27A9A0001EB88E /* RankingViewController.m */, |
448 | 6E84E3B91F27A9A0001EB88E /* RankingViewController.xib */, | 448 | 6E84E3B91F27A9A0001EB88E /* RankingViewController.xib */, |
449 | E9682E2B1F39675A00FE05A2 /* RankingTableViewCell.h */, | 449 | E9682E2B1F39675A00FE05A2 /* RankingTableViewCell.h */, |
450 | E9682E2C1F39675A00FE05A2 /* RankingTableViewCell.m */, | 450 | E9682E2C1F39675A00FE05A2 /* RankingTableViewCell.m */, |
451 | E9682E2D1F39675A00FE05A2 /* RankingTableViewCell.xib */, | 451 | E9682E2D1F39675A00FE05A2 /* RankingTableViewCell.xib */, |
452 | ); | 452 | ); |
453 | name = Ranking; | 453 | name = Ranking; |
454 | sourceTree = "<group>"; | 454 | sourceTree = "<group>"; |
455 | }; | 455 | }; |
456 | 6E84E3AC1F27A954001EB88E /* SNS */ = { | 456 | 6E84E3AC1F27A954001EB88E /* SNS */ = { |
457 | isa = PBXGroup; | 457 | isa = PBXGroup; |
458 | children = ( | 458 | children = ( |
459 | E95F4CEF1F48B37100D27E80 /* MyGroup */, | 459 | E95F4CEF1F48B37100D27E80 /* MyGroup */, |
460 | E95F4CE91F475C4B00D27E80 /* CreateGroup */, | 460 | E95F4CE91F475C4B00D27E80 /* CreateGroup */, |
461 | E933E6751F4050E6002926F5 /* GroupDetail */, | 461 | E933E6751F4050E6002926F5 /* GroupDetail */, |
462 | E933E6671F3E0479002926F5 /* SeachGroup */, | 462 | E933E6671F3E0479002926F5 /* SeachGroup */, |
463 | 6E84E3BC1F27A9B1001EB88E /* SNSViewController.h */, | 463 | 6E84E3BC1F27A9B1001EB88E /* SNSViewController.h */, |
464 | 6E84E3BD1F27A9B1001EB88E /* SNSViewController.m */, | 464 | 6E84E3BD1F27A9B1001EB88E /* SNSViewController.m */, |
465 | 6E84E3BE1F27A9B1001EB88E /* SNSViewController.xib */, | 465 | 6E84E3BE1F27A9B1001EB88E /* SNSViewController.xib */, |
466 | E968550E1F3C5D9A00317CEF /* SNSRecentTopicTableViewCell.h */, | 466 | E968550E1F3C5D9A00317CEF /* SNSRecentTopicTableViewCell.h */, |
467 | E968550F1F3C5D9A00317CEF /* SNSRecentTopicTableViewCell.m */, | 467 | E968550F1F3C5D9A00317CEF /* SNSRecentTopicTableViewCell.m */, |
468 | E96855101F3C5D9A00317CEF /* SNSRecentTopicTableViewCell.xib */, | 468 | E96855101F3C5D9A00317CEF /* SNSRecentTopicTableViewCell.xib */, |
469 | ); | 469 | ); |
470 | name = SNS; | 470 | name = SNS; |
471 | sourceTree = "<group>"; | 471 | sourceTree = "<group>"; |
472 | }; | 472 | }; |
473 | 6E84E3C11F27AC89001EB88E /* Map */ = { | 473 | 6E84E3C11F27AC89001EB88E /* Map */ = { |
474 | isa = PBXGroup; | 474 | isa = PBXGroup; |
475 | children = ( | 475 | children = ( |
476 | 6E84E3C21F27ACAE001EB88E /* MapViewController.h */, | 476 | 6E84E3C21F27ACAE001EB88E /* MapViewController.h */, |
477 | 6E84E3C31F27ACAE001EB88E /* MapViewController.m */, | 477 | 6E84E3C31F27ACAE001EB88E /* MapViewController.m */, |
478 | 6E84E3C41F27ACAE001EB88E /* MapViewController.xib */, | 478 | 6E84E3C41F27ACAE001EB88E /* MapViewController.xib */, |
479 | ); | 479 | ); |
480 | name = Map; | 480 | name = Map; |
481 | sourceTree = "<group>"; | 481 | sourceTree = "<group>"; |
482 | }; | 482 | }; |
483 | 6E8DA0F31F2BAC0800CCE941 /* Today */ = { | 483 | 6E8DA0F31F2BAC0800CCE941 /* Today */ = { |
484 | isa = PBXGroup; | 484 | isa = PBXGroup; |
485 | children = ( | 485 | children = ( |
486 | 6E8DA0F41F2BAC3400CCE941 /* TodayViewController.h */, | 486 | 6E8DA0F41F2BAC3400CCE941 /* TodayViewController.h */, |
487 | 6E8DA0F51F2BAC3400CCE941 /* TodayViewController.m */, | 487 | 6E8DA0F51F2BAC3400CCE941 /* TodayViewController.m */, |
488 | 6E8DA0F61F2BAC3400CCE941 /* TodayViewController.xib */, | 488 | 6E8DA0F61F2BAC3400CCE941 /* TodayViewController.xib */, |
489 | ); | 489 | ); |
490 | name = Today; | 490 | name = Today; |
491 | sourceTree = "<group>"; | 491 | sourceTree = "<group>"; |
492 | }; | 492 | }; |
493 | 6ECC406D1F2A5FA500AAEB97 /* Library */ = { | 493 | 6ECC406D1F2A5FA500AAEB97 /* Library */ = { |
494 | isa = PBXGroup; | 494 | isa = PBXGroup; |
495 | children = ( | 495 | children = ( |
496 | 6E7F93391F35870F00EFBC71 /* TPKeyboardAvoiding */, | 496 | 6E7F93391F35870F00EFBC71 /* TPKeyboardAvoiding */, |
497 | 6ECC406E1F2A5FB200AAEB97 /* Category */, | 497 | 6ECC406E1F2A5FB200AAEB97 /* Category */, |
498 | ); | 498 | ); |
499 | name = Library; | 499 | name = Library; |
500 | sourceTree = "<group>"; | 500 | sourceTree = "<group>"; |
501 | }; | 501 | }; |
502 | 6ECC406E1F2A5FB200AAEB97 /* Category */ = { | 502 | 6ECC406E1F2A5FB200AAEB97 /* Category */ = { |
503 | isa = PBXGroup; | 503 | isa = PBXGroup; |
504 | children = ( | 504 | children = ( |
505 | 6ECC406F1F2A5FEB00AAEB97 /* NSDate+helper.h */, | 505 | 6ECC406F1F2A5FEB00AAEB97 /* NSDate+helper.h */, |
506 | 6ECC40701F2A5FEB00AAEB97 /* NSDate+helper.m */, | 506 | 6ECC40701F2A5FEB00AAEB97 /* NSDate+helper.m */, |
507 | ); | 507 | ); |
508 | name = Category; | 508 | name = Category; |
509 | sourceTree = "<group>"; | 509 | sourceTree = "<group>"; |
510 | }; | 510 | }; |
511 | 6EDC8BEB1F2C2F3300765ACC /* Common */ = { | 511 | 6EDC8BEB1F2C2F3300765ACC /* Common */ = { |
512 | isa = PBXGroup; | 512 | isa = PBXGroup; |
513 | children = ( | 513 | children = ( |
514 | 6EDC8BEC1F2C2FB800765ACC /* Utilities.h */, | 514 | 6EDC8BEC1F2C2FB800765ACC /* Utilities.h */, |
515 | 6EDC8BED1F2C2FB800765ACC /* Utilities.m */, | 515 | 6EDC8BED1F2C2FB800765ACC /* Utilities.m */, |
516 | 6EDC8BF21F2C68D700765ACC /* CMMotionActivityExtra.h */, | 516 | 6EDC8BF21F2C68D700765ACC /* CMMotionActivityExtra.h */, |
517 | 6EDC8BF31F2C68D700765ACC /* CMMotionActivityExtra.m */, | 517 | 6EDC8BF31F2C68D700765ACC /* CMMotionActivityExtra.m */, |
518 | ); | 518 | ); |
519 | name = Common; | 519 | name = Common; |
520 | sourceTree = "<group>"; | 520 | sourceTree = "<group>"; |
521 | }; | 521 | }; |
522 | 783929CF869F5081762B3DCA /* Products */ = { | 522 | 783929CF869F5081762B3DCA /* Products */ = { |
523 | isa = PBXGroup; | 523 | isa = PBXGroup; |
524 | children = ( | 524 | children = ( |
525 | ); | 525 | ); |
526 | name = Products; | 526 | name = Products; |
527 | sourceTree = "<group>"; | 527 | sourceTree = "<group>"; |
528 | }; | 528 | }; |
529 | 9CA8AEE61F31BB1200C5FC74 /* ConfirmForgetPass */ = { | 529 | 9CA8AEE61F31BB1200C5FC74 /* ConfirmForgetPass */ = { |
530 | isa = PBXGroup; | 530 | isa = PBXGroup; |
531 | children = ( | 531 | children = ( |
532 | 9CA8AEE71F31BB4600C5FC74 /* ConfirmForgetPassViewController.h */, | 532 | 9CA8AEE71F31BB4600C5FC74 /* ConfirmForgetPassViewController.h */, |
533 | 9CA8AEE81F31BB4600C5FC74 /* ConfirmForgetPassViewController.m */, | 533 | 9CA8AEE81F31BB4600C5FC74 /* ConfirmForgetPassViewController.m */, |
534 | 9CA8AEE91F31BB4600C5FC74 /* ConfirmForgetPassViewController.xib */, | 534 | 9CA8AEE91F31BB4600C5FC74 /* ConfirmForgetPassViewController.xib */, |
535 | ); | 535 | ); |
536 | name = ConfirmForgetPass; | 536 | name = ConfirmForgetPass; |
537 | sourceTree = "<group>"; | 537 | sourceTree = "<group>"; |
538 | }; | 538 | }; |
539 | 9CBDA0F71F2ECDFD0055DED1 /* BaseViewController */ = { | 539 | 9CBDA0F71F2ECDFD0055DED1 /* BaseViewController */ = { |
540 | isa = PBXGroup; | 540 | isa = PBXGroup; |
541 | children = ( | 541 | children = ( |
542 | 9CBDA0F81F2ECE2C0055DED1 /* BaseViewController.h */, | 542 | 9CBDA0F81F2ECE2C0055DED1 /* BaseViewController.h */, |
543 | 9CBDA0F91F2ECE2C0055DED1 /* BaseViewController.m */, | 543 | 9CBDA0F91F2ECE2C0055DED1 /* BaseViewController.m */, |
544 | 6E48AF0B1F2F9D3200C1D184 /* CustomTextField.h */, | 544 | 6E48AF0B1F2F9D3200C1D184 /* CustomTextField.h */, |
545 | 6E48AF0C1F2F9D3200C1D184 /* CustomTextField.m */, | 545 | 6E48AF0C1F2F9D3200C1D184 /* CustomTextField.m */, |
546 | E9D909221F3D6E8C004CF99F /* BaseTableViewController.h */, | 546 | E9D909221F3D6E8C004CF99F /* BaseTableViewController.h */, |
547 | E9D909231F3D6E8C004CF99F /* BaseTableViewController.m */, | 547 | E9D909231F3D6E8C004CF99F /* BaseTableViewController.m */, |
548 | ); | 548 | ); |
549 | name = BaseViewController; | 549 | name = BaseViewController; |
550 | sourceTree = "<group>"; | 550 | sourceTree = "<group>"; |
551 | }; | 551 | }; |
552 | 9CBDA0FB1F2F03490055DED1 /* Register */ = { | 552 | 9CBDA0FB1F2F03490055DED1 /* Register */ = { |
553 | isa = PBXGroup; | 553 | isa = PBXGroup; |
554 | children = ( | 554 | children = ( |
555 | 9CBDA0FC1F2F03810055DED1 /* RegisterViewController.h */, | 555 | 9CBDA0FC1F2F03810055DED1 /* RegisterViewController.h */, |
556 | 9CBDA0FD1F2F03810055DED1 /* RegisterViewController.m */, | 556 | 9CBDA0FD1F2F03810055DED1 /* RegisterViewController.m */, |
557 | 9CBDA0FE1F2F03810055DED1 /* RegisterViewController.xib */, | 557 | 9CBDA0FE1F2F03810055DED1 /* RegisterViewController.xib */, |
558 | ); | 558 | ); |
559 | name = Register; | 559 | name = Register; |
560 | sourceTree = "<group>"; | 560 | sourceTree = "<group>"; |
561 | }; | 561 | }; |
562 | DE8269E957EA47CD771BAB33 /* Pods */ = { | 562 | DE8269E957EA47CD771BAB33 /* Pods */ = { |
563 | isa = PBXGroup; | 563 | isa = PBXGroup; |
564 | children = ( | 564 | children = ( |
565 | 6E84E3721F27A700001EB88E /* Products */, | 565 | 6E84E3721F27A700001EB88E /* Products */, |
566 | 0FC2D57087AF4571C57FAE08 /* Pods-LifeLog.debug.xcconfig */, | 566 | 0FC2D57087AF4571C57FAE08 /* Pods-LifeLog.debug.xcconfig */, |
567 | 4CFDA5714AF852358A1EB515 /* Pods-LifeLog.release.xcconfig */, | 567 | 4CFDA5714AF852358A1EB515 /* Pods-LifeLog.release.xcconfig */, |
568 | ); | 568 | ); |
569 | name = Pods; | 569 | name = Pods; |
570 | sourceTree = "<group>"; | 570 | sourceTree = "<group>"; |
571 | }; | 571 | }; |
572 | E933E6671F3E0479002926F5 /* SeachGroup */ = { | 572 | E933E6671F3E0479002926F5 /* SeachGroup */ = { |
573 | isa = PBXGroup; | 573 | isa = PBXGroup; |
574 | children = ( | 574 | children = ( |
575 | E933E6681F3E04A6002926F5 /* SearchGroupViewController.h */, | 575 | E933E6681F3E04A6002926F5 /* SearchGroupViewController.h */, |
576 | E933E6691F3E04A6002926F5 /* SearchGroupViewController.m */, | 576 | E933E6691F3E04A6002926F5 /* SearchGroupViewController.m */, |
577 | E933E66A1F3E04A6002926F5 /* SearchGroupViewController.xib */, | 577 | E933E66A1F3E04A6002926F5 /* SearchGroupViewController.xib */, |
578 | E933E66D1F3E09B6002926F5 /* SearchGroupTableViewCell.h */, | 578 | E933E66D1F3E09B6002926F5 /* SearchGroupTableViewCell.h */, |
579 | E933E66E1F3E09B6002926F5 /* SearchGroupTableViewCell.m */, | 579 | E933E66E1F3E09B6002926F5 /* SearchGroupTableViewCell.m */, |
580 | E933E66F1F3E09B6002926F5 /* SearchGroupTableViewCell.xib */, | 580 | E933E66F1F3E09B6002926F5 /* SearchGroupTableViewCell.xib */, |
581 | ); | 581 | ); |
582 | name = SeachGroup; | 582 | name = SeachGroup; |
583 | sourceTree = "<group>"; | 583 | sourceTree = "<group>"; |
584 | }; | 584 | }; |
585 | E933E6751F4050E6002926F5 /* GroupDetail */ = { | 585 | E933E6751F4050E6002926F5 /* GroupDetail */ = { |
586 | isa = PBXGroup; | 586 | isa = PBXGroup; |
587 | children = ( | 587 | children = ( |
588 | E933E6761F40513C002926F5 /* GroupDetailViewController.h */, | 588 | E933E6761F40513C002926F5 /* GroupDetailViewController.h */, |
589 | E933E6771F40513C002926F5 /* GroupDetailViewController.m */, | 589 | E933E6771F40513C002926F5 /* GroupDetailViewController.m */, |
590 | E933E6781F40513C002926F5 /* GroupDetailViewController.xib */, | 590 | E933E6781F40513C002926F5 /* GroupDetailViewController.xib */, |
591 | ); | 591 | ); |
592 | name = GroupDetail; | 592 | name = GroupDetail; |
593 | sourceTree = "<group>"; | 593 | sourceTree = "<group>"; |
594 | }; | 594 | }; |
595 | E9373E441F35966D0059355A /* AutoTranslateView */ = { | 595 | E9373E441F35966D0059355A /* AutoTranslateView */ = { |
596 | isa = PBXGroup; | 596 | isa = PBXGroup; |
597 | children = ( | 597 | children = ( |
598 | E9373E451F3596940059355A /* AutoTransLabel.h */, | 598 | E9373E451F3596940059355A /* AutoTransLabel.h */, |
599 | E9373E461F3596940059355A /* AutoTransLabel.m */, | 599 | E9373E461F3596940059355A /* AutoTransLabel.m */, |
600 | E96855081F3C444900317CEF /* AutoTransButton.h */, | 600 | E96855081F3C444900317CEF /* AutoTransButton.h */, |
601 | E96855091F3C444900317CEF /* AutoTransButton.m */, | 601 | E96855091F3C444900317CEF /* AutoTransButton.m */, |
602 | ); | 602 | ); |
603 | name = AutoTranslateView; | 603 | name = AutoTranslateView; |
604 | sourceTree = "<group>"; | 604 | sourceTree = "<group>"; |
605 | }; | 605 | }; |
606 | E95F4CE91F475C4B00D27E80 /* CreateGroup */ = { | 606 | E95F4CE91F475C4B00D27E80 /* CreateGroup */ = { |
607 | isa = PBXGroup; | 607 | isa = PBXGroup; |
608 | children = ( | 608 | children = ( |
609 | E95F4CEA1F475C6A00D27E80 /* CreateGroupViewController.h */, | 609 | E95F4CEA1F475C6A00D27E80 /* CreateGroupViewController.h */, |
610 | E95F4CEB1F475C6A00D27E80 /* CreateGroupViewController.m */, | 610 | E95F4CEB1F475C6A00D27E80 /* CreateGroupViewController.m */, |
611 | E95F4CEC1F475C6A00D27E80 /* CreateGroupViewController.xib */, | 611 | E95F4CEC1F475C6A00D27E80 /* CreateGroupViewController.xib */, |
612 | ); | 612 | ); |
613 | name = CreateGroup; | 613 | name = CreateGroup; |
614 | sourceTree = "<group>"; | 614 | sourceTree = "<group>"; |
615 | }; | 615 | }; |
616 | E95F4CEF1F48B37100D27E80 /* MyGroup */ = { | 616 | E95F4CEF1F48B37100D27E80 /* MyGroup */ = { |
617 | isa = PBXGroup; | 617 | isa = PBXGroup; |
618 | children = ( | 618 | children = ( |
619 | E95F4CF01F48B39200D27E80 /* MyGroupViewController.h */, | 619 | E95F4CF01F48B39200D27E80 /* MyGroupViewController.h */, |
620 | E95F4CF11F48B39200D27E80 /* MyGroupViewController.m */, | 620 | E95F4CF11F48B39200D27E80 /* MyGroupViewController.m */, |
621 | E95F4CF21F48B39200D27E80 /* MyGroupViewController.xib */, | 621 | E95F4CF21F48B39200D27E80 /* MyGroupViewController.xib */, |
622 | ); | 622 | ); |
623 | name = MyGroup; | 623 | name = MyGroup; |
624 | sourceTree = "<group>"; | 624 | sourceTree = "<group>"; |
625 | }; | 625 | }; |
626 | E99E13A71F336F0C00C78787 /* CustomView */ = { | 626 | E99E13A71F336F0C00C78787 /* CustomView */ = { |
627 | isa = PBXGroup; | 627 | isa = PBXGroup; |
628 | children = ( | 628 | children = ( |
629 | E9373E441F35966D0059355A /* AutoTranslateView */, | 629 | E9373E441F35966D0059355A /* AutoTranslateView */, |
630 | E99E13A81F336F1700C78787 /* CollectionView */, | 630 | E99E13A81F336F1700C78787 /* CollectionView */, |
631 | ); | 631 | ); |
632 | name = CustomView; | 632 | name = CustomView; |
633 | sourceTree = "<group>"; | 633 | sourceTree = "<group>"; |
634 | }; | 634 | }; |
635 | E99E13A81F336F1700C78787 /* CollectionView */ = { | 635 | E99E13A81F336F1700C78787 /* CollectionView */ = { |
636 | isa = PBXGroup; | 636 | isa = PBXGroup; |
637 | children = ( | 637 | children = ( |
638 | E99E13AE1F33720600C78787 /* LabelCollectionViewCell.h */, | 638 | E99E13AE1F33720600C78787 /* LabelCollectionViewCell.h */, |
639 | E99E13AF1F33720600C78787 /* LabelCollectionViewCell.m */, | 639 | E99E13AF1F33720600C78787 /* LabelCollectionViewCell.m */, |
640 | E99E13B01F33720600C78787 /* LabelCollectionViewCell.xib */, | 640 | E99E13B01F33720600C78787 /* LabelCollectionViewCell.xib */, |
641 | E99E13A91F336F3600C78787 /* CollectionView.h */, | 641 | E99E13A91F336F3600C78787 /* CollectionView.h */, |
642 | E99E13AA1F336F3600C78787 /* CollectionView.m */, | 642 | E99E13AA1F336F3600C78787 /* CollectionView.m */, |
643 | E99E13AC1F336F4500C78787 /* CollectionView.xib */, | 643 | E99E13AC1F336F4500C78787 /* CollectionView.xib */, |
644 | ); | 644 | ); |
645 | name = CollectionView; | 645 | name = CollectionView; |
646 | sourceTree = "<group>"; | 646 | sourceTree = "<group>"; |
647 | }; | 647 | }; |
648 | /* End PBXGroup section */ | 648 | /* End PBXGroup section */ |
649 | 649 | ||
650 | /* Begin PBXNativeTarget section */ | 650 | /* Begin PBXNativeTarget section */ |
651 | 6E84E3701F27A700001EB88E /* LifeLog */ = { | 651 | 6E84E3701F27A700001EB88E /* LifeLog */ = { |
652 | isa = PBXNativeTarget; | 652 | isa = PBXNativeTarget; |
653 | buildConfigurationList = 6E84E39E1F27A703001EB88E /* Build configuration list for PBXNativeTarget "LifeLog" */; | 653 | buildConfigurationList = 6E84E39E1F27A703001EB88E /* Build configuration list for PBXNativeTarget "LifeLog" */; |
654 | buildPhases = ( | 654 | buildPhases = ( |
655 | 2BB22CAEC0728AA1E086BCE3 /* [CP] Check Pods Manifest.lock */, | 655 | 2BB22CAEC0728AA1E086BCE3 /* [CP] Check Pods Manifest.lock */, |
656 | 6E84E36D1F27A700001EB88E /* Sources */, | 656 | 6E84E36D1F27A700001EB88E /* Sources */, |
657 | 6E84E36E1F27A700001EB88E /* Frameworks */, | 657 | 6E84E36E1F27A700001EB88E /* Frameworks */, |
658 | 6E84E36F1F27A700001EB88E /* Resources */, | 658 | 6E84E36F1F27A700001EB88E /* Resources */, |
659 | 22F89B11794CEB4E265996AC /* [CP] Embed Pods Frameworks */, | 659 | 22F89B11794CEB4E265996AC /* [CP] Embed Pods Frameworks */, |
660 | 96653BDB2C24A87C2866C897 /* [CP] Copy Pods Resources */, | 660 | 96653BDB2C24A87C2866C897 /* [CP] Copy Pods Resources */, |
661 | ); | 661 | ); |
662 | buildRules = ( | 662 | buildRules = ( |
663 | ); | 663 | ); |
664 | dependencies = ( | 664 | dependencies = ( |
665 | ); | 665 | ); |
666 | name = LifeLog; | 666 | name = LifeLog; |
667 | productName = LifeLog; | 667 | productName = LifeLog; |
668 | productReference = 6E84E3711F27A700001EB88E /* LifeLog.app */; | 668 | productReference = 6E84E3711F27A700001EB88E /* LifeLog.app */; |
669 | productType = "com.apple.product-type.application"; | 669 | productType = "com.apple.product-type.application"; |
670 | }; | 670 | }; |
671 | 6E84E3891F27A703001EB88E /* LifeLogTests */ = { | 671 | 6E84E3891F27A703001EB88E /* LifeLogTests */ = { |
672 | isa = PBXNativeTarget; | 672 | isa = PBXNativeTarget; |
673 | buildConfigurationList = 6E84E3A11F27A703001EB88E /* Build configuration list for PBXNativeTarget "LifeLogTests" */; | 673 | buildConfigurationList = 6E84E3A11F27A703001EB88E /* Build configuration list for PBXNativeTarget "LifeLogTests" */; |
674 | buildPhases = ( | 674 | buildPhases = ( |
675 | 6E84E3861F27A703001EB88E /* Sources */, | 675 | 6E84E3861F27A703001EB88E /* Sources */, |
676 | 6E84E3871F27A703001EB88E /* Frameworks */, | 676 | 6E84E3871F27A703001EB88E /* Frameworks */, |
677 | 6E84E3881F27A703001EB88E /* Resources */, | 677 | 6E84E3881F27A703001EB88E /* Resources */, |
678 | ); | 678 | ); |
679 | buildRules = ( | 679 | buildRules = ( |
680 | ); | 680 | ); |
681 | dependencies = ( | 681 | dependencies = ( |
682 | 6E84E38C1F27A703001EB88E /* PBXTargetDependency */, | 682 | 6E84E38C1F27A703001EB88E /* PBXTargetDependency */, |
683 | ); | 683 | ); |
684 | name = LifeLogTests; | 684 | name = LifeLogTests; |
685 | productName = LifeLogTests; | 685 | productName = LifeLogTests; |
686 | productReference = 6E84E38A1F27A703001EB88E /* LifeLogTests.xctest */; | 686 | productReference = 6E84E38A1F27A703001EB88E /* LifeLogTests.xctest */; |
687 | productType = "com.apple.product-type.bundle.unit-test"; | 687 | productType = "com.apple.product-type.bundle.unit-test"; |
688 | }; | 688 | }; |
689 | 6E84E3941F27A703001EB88E /* LifeLogUITests */ = { | 689 | 6E84E3941F27A703001EB88E /* LifeLogUITests */ = { |
690 | isa = PBXNativeTarget; | 690 | isa = PBXNativeTarget; |
691 | buildConfigurationList = 6E84E3A41F27A703001EB88E /* Build configuration list for PBXNativeTarget "LifeLogUITests" */; | 691 | buildConfigurationList = 6E84E3A41F27A703001EB88E /* Build configuration list for PBXNativeTarget "LifeLogUITests" */; |
692 | buildPhases = ( | 692 | buildPhases = ( |
693 | 6E84E3911F27A703001EB88E /* Sources */, | 693 | 6E84E3911F27A703001EB88E /* Sources */, |
694 | 6E84E3921F27A703001EB88E /* Frameworks */, | 694 | 6E84E3921F27A703001EB88E /* Frameworks */, |
695 | 6E84E3931F27A703001EB88E /* Resources */, | 695 | 6E84E3931F27A703001EB88E /* Resources */, |
696 | ); | 696 | ); |
697 | buildRules = ( | 697 | buildRules = ( |
698 | ); | 698 | ); |
699 | dependencies = ( | 699 | dependencies = ( |
700 | 6E84E3971F27A703001EB88E /* PBXTargetDependency */, | 700 | 6E84E3971F27A703001EB88E /* PBXTargetDependency */, |
701 | ); | 701 | ); |
702 | name = LifeLogUITests; | 702 | name = LifeLogUITests; |
703 | productName = LifeLogUITests; | 703 | productName = LifeLogUITests; |
704 | productReference = 6E84E3951F27A703001EB88E /* LifeLogUITests.xctest */; | 704 | productReference = 6E84E3951F27A703001EB88E /* LifeLogUITests.xctest */; |
705 | productType = "com.apple.product-type.bundle.ui-testing"; | 705 | productType = "com.apple.product-type.bundle.ui-testing"; |
706 | }; | 706 | }; |
707 | /* End PBXNativeTarget section */ | 707 | /* End PBXNativeTarget section */ |
708 | 708 | ||
709 | /* Begin PBXProject section */ | 709 | /* Begin PBXProject section */ |
710 | 6E84E3691F27A700001EB88E /* Project object */ = { | 710 | 6E84E3691F27A700001EB88E /* Project object */ = { |
711 | isa = PBXProject; | 711 | isa = PBXProject; |
712 | attributes = { | 712 | attributes = { |
713 | LastUpgradeCheck = 0830; | 713 | LastUpgradeCheck = 0830; |
714 | ORGANIZATIONNAME = PhongNV; | 714 | ORGANIZATIONNAME = PhongNV; |
715 | TargetAttributes = { | 715 | TargetAttributes = { |
716 | 6E84E3701F27A700001EB88E = { | 716 | 6E84E3701F27A700001EB88E = { |
717 | CreatedOnToolsVersion = 8.3.3; | 717 | CreatedOnToolsVersion = 8.3.3; |
718 | DevelopmentTeam = UXU4V3VUN4; | 718 | DevelopmentTeam = UXU4V3VUN4; |
719 | ProvisioningStyle = Automatic; | 719 | ProvisioningStyle = Automatic; |
720 | }; | 720 | }; |
721 | 6E84E3891F27A703001EB88E = { | 721 | 6E84E3891F27A703001EB88E = { |
722 | CreatedOnToolsVersion = 8.3.3; | 722 | CreatedOnToolsVersion = 8.3.3; |
723 | ProvisioningStyle = Automatic; | 723 | ProvisioningStyle = Automatic; |
724 | TestTargetID = 6E84E3701F27A700001EB88E; | 724 | TestTargetID = 6E84E3701F27A700001EB88E; |
725 | }; | 725 | }; |
726 | 6E84E3941F27A703001EB88E = { | 726 | 6E84E3941F27A703001EB88E = { |
727 | CreatedOnToolsVersion = 8.3.3; | 727 | CreatedOnToolsVersion = 8.3.3; |
728 | ProvisioningStyle = Automatic; | 728 | ProvisioningStyle = Automatic; |
729 | TestTargetID = 6E84E3701F27A700001EB88E; | 729 | TestTargetID = 6E84E3701F27A700001EB88E; |
730 | }; | 730 | }; |
731 | }; | 731 | }; |
732 | }; | 732 | }; |
733 | buildConfigurationList = 6E84E36C1F27A700001EB88E /* Build configuration list for PBXProject "LifeLog" */; | 733 | buildConfigurationList = 6E84E36C1F27A700001EB88E /* Build configuration list for PBXProject "LifeLog" */; |
734 | compatibilityVersion = "Xcode 3.2"; | 734 | compatibilityVersion = "Xcode 3.2"; |
735 | developmentRegion = English; | 735 | developmentRegion = English; |
736 | hasScannedForEncodings = 0; | 736 | hasScannedForEncodings = 0; |
737 | knownRegions = ( | 737 | knownRegions = ( |
738 | en, | 738 | en, |
739 | Base, | 739 | Base, |
740 | ); | 740 | ); |
741 | mainGroup = 6E84E3681F27A700001EB88E; | 741 | mainGroup = 6E84E3681F27A700001EB88E; |
742 | productRefGroup = 783929CF869F5081762B3DCA /* Products */; | 742 | productRefGroup = 783929CF869F5081762B3DCA /* Products */; |
743 | projectDirPath = ""; | 743 | projectDirPath = ""; |
744 | projectRoot = ""; | 744 | projectRoot = ""; |
745 | targets = ( | 745 | targets = ( |
746 | 6E84E3701F27A700001EB88E /* LifeLog */, | 746 | 6E84E3701F27A700001EB88E /* LifeLog */, |
747 | 6E84E3891F27A703001EB88E /* LifeLogTests */, | 747 | 6E84E3891F27A703001EB88E /* LifeLogTests */, |
748 | 6E84E3941F27A703001EB88E /* LifeLogUITests */, | 748 | 6E84E3941F27A703001EB88E /* LifeLogUITests */, |
749 | ); | 749 | ); |
750 | }; | 750 | }; |
751 | /* End PBXProject section */ | 751 | /* End PBXProject section */ |
752 | 752 | ||
753 | /* Begin PBXResourcesBuildPhase section */ | 753 | /* Begin PBXResourcesBuildPhase section */ |
754 | 6E84E36F1F27A700001EB88E /* Resources */ = { | 754 | 6E84E36F1F27A700001EB88E /* Resources */ = { |
755 | isa = PBXResourcesBuildPhase; | 755 | isa = PBXResourcesBuildPhase; |
756 | buildActionMask = 2147483647; | 756 | buildActionMask = 2147483647; |
757 | files = ( | 757 | files = ( |
758 | 9CBDA1001F2F03810055DED1 /* RegisterViewController.xib in Resources */, | 758 | 9CBDA1001F2F03810055DED1 /* RegisterViewController.xib in Resources */, |
759 | E95F4CEE1F475C6A00D27E80 /* CreateGroupViewController.xib in Resources */, | 759 | E95F4CEE1F475C6A00D27E80 /* CreateGroupViewController.xib in Resources */, |
760 | 6E18CED41F2E39DB0029891F /* LoginViewController.xib in Resources */, | 760 | 6E18CED41F2E39DB0029891F /* LoginViewController.xib in Resources */, |
761 | E99E13AD1F336F4500C78787 /* CollectionView.xib in Resources */, | 761 | E99E13AD1F336F4500C78787 /* CollectionView.xib in Resources */, |
762 | 6E84E3BB1F27A9A0001EB88E /* RankingViewController.xib in Resources */, | 762 | 6E84E3BB1F27A9A0001EB88E /* RankingViewController.xib in Resources */, |
763 | 9CA8AEEB1F31BB4600C5FC74 /* ConfirmForgetPassViewController.xib in Resources */, | 763 | 9CA8AEEB1F31BB4600C5FC74 /* ConfirmForgetPassViewController.xib in Resources */, |
764 | 6E84E3C01F27A9B1001EB88E /* SNSViewController.xib in Resources */, | 764 | 6E84E3C01F27A9B1001EB88E /* SNSViewController.xib in Resources */, |
765 | E9682E2F1F39675A00FE05A2 /* RankingTableViewCell.xib in Resources */, | 765 | E9682E2F1F39675A00FE05A2 /* RankingTableViewCell.xib in Resources */, |
766 | E933E6711F3E09B6002926F5 /* SearchGroupTableViewCell.xib in Resources */, | 766 | E933E6711F3E09B6002926F5 /* SearchGroupTableViewCell.xib in Resources */, |
767 | 6E8DA0F81F2BAC3500CCE941 /* TodayViewController.xib in Resources */, | 767 | 6E8DA0F81F2BAC3500CCE941 /* TodayViewController.xib in Resources */, |
768 | 6E84E3841F27A701001EB88E /* LaunchScreen.storyboard in Resources */, | 768 | 6E84E3841F27A701001EB88E /* LaunchScreen.storyboard in Resources */, |
769 | 6E84E3811F27A701001EB88E /* Assets.xcassets in Resources */, | 769 | 6E84E3811F27A701001EB88E /* Assets.xcassets in Resources */, |
770 | 6E84E3C61F27ACAE001EB88E /* MapViewController.xib in Resources */, | 770 | 6E84E3C61F27ACAE001EB88E /* MapViewController.xib in Resources */, |
771 | 6EF1630A1F29069300DA306C /* Localizable.strings in Resources */, | 771 | 6EF1630A1F29069300DA306C /* Localizable.strings in Resources */, |
772 | 6E84E3B11F27A975001EB88E /* HomeViewController.xib in Resources */, | 772 | 6E84E3B11F27A975001EB88E /* HomeViewController.xib in Resources */, |
773 | 6E84E3B61F27A98B001EB88E /* HistoryViewController.xib in Resources */, | 773 | 6E84E3B61F27A98B001EB88E /* HistoryViewController.xib in Resources */, |
774 | E95F4CF41F48B39200D27E80 /* MyGroupViewController.xib in Resources */, | 774 | E95F4CF41F48B39200D27E80 /* MyGroupViewController.xib in Resources */, |
775 | E933E66C1F3E04A6002926F5 /* SearchGroupViewController.xib in Resources */, | 775 | E933E66C1F3E04A6002926F5 /* SearchGroupViewController.xib in Resources */, |
776 | E96855121F3C5D9A00317CEF /* SNSRecentTopicTableViewCell.xib in Resources */, | 776 | E96855121F3C5D9A00317CEF /* SNSRecentTopicTableViewCell.xib in Resources */, |
777 | E933E67A1F40513C002926F5 /* GroupDetailViewController.xib in Resources */, | 777 | E933E67A1F40513C002926F5 /* GroupDetailViewController.xib in Resources */, |
778 | E99E13B21F33720600C78787 /* LabelCollectionViewCell.xib in Resources */, | 778 | E99E13B21F33720600C78787 /* LabelCollectionViewCell.xib in Resources */, |
779 | E9F73DCD1F338A0F004A3A6F /* HistoryListTableViewCell.xib in Resources */, | 779 | E9F73DCD1F338A0F004A3A6F /* HistoryListTableViewCell.xib in Resources */, |
780 | ); | 780 | ); |
781 | runOnlyForDeploymentPostprocessing = 0; | 781 | runOnlyForDeploymentPostprocessing = 0; |
782 | }; | 782 | }; |
783 | 6E84E3881F27A703001EB88E /* Resources */ = { | 783 | 6E84E3881F27A703001EB88E /* Resources */ = { |
784 | isa = PBXResourcesBuildPhase; | 784 | isa = PBXResourcesBuildPhase; |
785 | buildActionMask = 2147483647; | 785 | buildActionMask = 2147483647; |
786 | files = ( | 786 | files = ( |
787 | ); | 787 | ); |
788 | runOnlyForDeploymentPostprocessing = 0; | 788 | runOnlyForDeploymentPostprocessing = 0; |
789 | }; | 789 | }; |
790 | 6E84E3931F27A703001EB88E /* Resources */ = { | 790 | 6E84E3931F27A703001EB88E /* Resources */ = { |
791 | isa = PBXResourcesBuildPhase; | 791 | isa = PBXResourcesBuildPhase; |
792 | buildActionMask = 2147483647; | 792 | buildActionMask = 2147483647; |
793 | files = ( | 793 | files = ( |
794 | ); | 794 | ); |
795 | runOnlyForDeploymentPostprocessing = 0; | 795 | runOnlyForDeploymentPostprocessing = 0; |
796 | }; | 796 | }; |
797 | /* End PBXResourcesBuildPhase section */ | 797 | /* End PBXResourcesBuildPhase section */ |
798 | 798 | ||
799 | /* Begin PBXShellScriptBuildPhase section */ | 799 | /* Begin PBXShellScriptBuildPhase section */ |
800 | 22F89B11794CEB4E265996AC /* [CP] Embed Pods Frameworks */ = { | 800 | 22F89B11794CEB4E265996AC /* [CP] Embed Pods Frameworks */ = { |
801 | isa = PBXShellScriptBuildPhase; | 801 | isa = PBXShellScriptBuildPhase; |
802 | buildActionMask = 2147483647; | 802 | buildActionMask = 2147483647; |
803 | files = ( | 803 | files = ( |
804 | ); | 804 | ); |
805 | inputPaths = ( | 805 | inputPaths = ( |
806 | "${SRCROOT}/Pods/Target Support Files/Pods-LifeLog/Pods-LifeLog-frameworks.sh", | ||
807 | "${BUILT_PRODUCTS_DIR}/Charts/Charts.framework", | ||
808 | "${BUILT_PRODUCTS_DIR}/CircleProgressBar/CircleProgressBar.framework", | ||
809 | "${BUILT_PRODUCTS_DIR}/LineKit/LineKit.framework", | ||
810 | "${BUILT_PRODUCTS_DIR}/MBProgressHUD/MBProgressHUD.framework", | ||
811 | "${BUILT_PRODUCTS_DIR}/SDWebImage/SDWebImage.framework", | ||
806 | ); | 812 | ); |
807 | name = "[CP] Embed Pods Frameworks"; | 813 | name = "[CP] Embed Pods Frameworks"; |
808 | outputPaths = ( | 814 | outputPaths = ( |
815 | "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/Charts.framework", | ||
816 | "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/CircleProgressBar.framework", | ||
817 | "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/LineKit.framework", | ||
818 | "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/MBProgressHUD.framework", | ||
819 | "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/SDWebImage.framework", | ||
809 | ); | 820 | ); |
810 | runOnlyForDeploymentPostprocessing = 0; | 821 | runOnlyForDeploymentPostprocessing = 0; |
811 | shellPath = /bin/sh; | 822 | shellPath = /bin/sh; |
812 | shellScript = "\"${SRCROOT}/Pods/Target Support Files/Pods-LifeLog/Pods-LifeLog-frameworks.sh\"\n"; | 823 | shellScript = "\"${SRCROOT}/Pods/Target Support Files/Pods-LifeLog/Pods-LifeLog-frameworks.sh\"\n"; |
813 | showEnvVarsInLog = 0; | 824 | showEnvVarsInLog = 0; |
814 | }; | 825 | }; |
815 | 2BB22CAEC0728AA1E086BCE3 /* [CP] Check Pods Manifest.lock */ = { | 826 | 2BB22CAEC0728AA1E086BCE3 /* [CP] Check Pods Manifest.lock */ = { |
816 | isa = PBXShellScriptBuildPhase; | 827 | isa = PBXShellScriptBuildPhase; |
817 | buildActionMask = 2147483647; | 828 | buildActionMask = 2147483647; |
818 | files = ( | 829 | files = ( |
819 | ); | 830 | ); |
820 | inputPaths = ( | 831 | inputPaths = ( |
832 | "${PODS_PODFILE_DIR_PATH}/Podfile.lock", | ||
833 | "${PODS_ROOT}/Manifest.lock", | ||
821 | ); | 834 | ); |
822 | name = "[CP] Check Pods Manifest.lock"; | 835 | name = "[CP] Check Pods Manifest.lock"; |
823 | outputPaths = ( | 836 | outputPaths = ( |
837 | "$(DERIVED_FILE_DIR)/Pods-LifeLog-checkManifestLockResult.txt", | ||
824 | ); | 838 | ); |
825 | runOnlyForDeploymentPostprocessing = 0; | 839 | runOnlyForDeploymentPostprocessing = 0; |
826 | shellPath = /bin/sh; | 840 | shellPath = /bin/sh; |
827 | shellScript = "diff \"${PODS_ROOT}/../Podfile.lock\" \"${PODS_ROOT}/Manifest.lock\" > /dev/null\nif [ $? != 0 ] ; then\n # print error to STDERR\n echo \"error: The sandbox is not in sync with the Podfile.lock. Run 'pod install' or update your CocoaPods installation.\" >&2\n exit 1\nfi\n"; | 841 | shellScript = "diff \"${PODS_PODFILE_DIR_PATH}/Podfile.lock\" \"${PODS_ROOT}/Manifest.lock\" > /dev/null\nif [ $? != 0 ] ; then\n # print error to STDERR\n echo \"error: The sandbox is not in sync with the Podfile.lock. Run 'pod install' or update your CocoaPods installation.\" >&2\n exit 1\nfi\n# This output is used by Xcode 'outputs' to avoid re-running this script phase.\necho \"SUCCESS\" > \"${SCRIPT_OUTPUT_FILE_0}\"\n"; |
828 | showEnvVarsInLog = 0; | 842 | showEnvVarsInLog = 0; |
829 | }; | 843 | }; |
830 | 96653BDB2C24A87C2866C897 /* [CP] Copy Pods Resources */ = { | 844 | 96653BDB2C24A87C2866C897 /* [CP] Copy Pods Resources */ = { |
831 | isa = PBXShellScriptBuildPhase; | 845 | isa = PBXShellScriptBuildPhase; |
832 | buildActionMask = 2147483647; | 846 | buildActionMask = 2147483647; |
833 | files = ( | 847 | files = ( |
834 | ); | 848 | ); |
835 | inputPaths = ( | 849 | inputPaths = ( |
836 | ); | 850 | ); |
837 | name = "[CP] Copy Pods Resources"; | 851 | name = "[CP] Copy Pods Resources"; |
838 | outputPaths = ( | 852 | outputPaths = ( |
839 | ); | 853 | ); |
840 | runOnlyForDeploymentPostprocessing = 0; | 854 | runOnlyForDeploymentPostprocessing = 0; |
841 | shellPath = /bin/sh; | 855 | shellPath = /bin/sh; |
842 | shellScript = "\"${SRCROOT}/Pods/Target Support Files/Pods-LifeLog/Pods-LifeLog-resources.sh\"\n"; | 856 | shellScript = "\"${SRCROOT}/Pods/Target Support Files/Pods-LifeLog/Pods-LifeLog-resources.sh\"\n"; |
843 | showEnvVarsInLog = 0; | 857 | showEnvVarsInLog = 0; |
844 | }; | 858 | }; |
845 | /* End PBXShellScriptBuildPhase section */ | 859 | /* End PBXShellScriptBuildPhase section */ |
846 | 860 | ||
847 | /* Begin PBXSourcesBuildPhase section */ | 861 | /* Begin PBXSourcesBuildPhase section */ |
848 | 6E84E36D1F27A700001EB88E /* Sources */ = { | 862 | 6E84E36D1F27A700001EB88E /* Sources */ = { |
849 | isa = PBXSourcesBuildPhase; | 863 | isa = PBXSourcesBuildPhase; |
850 | buildActionMask = 2147483647; | 864 | buildActionMask = 2147483647; |
851 | files = ( | 865 | files = ( |
852 | 6E18CED81F2E3C840029891F /* ServerAPI.m in Sources */, | 866 | 6E18CED81F2E3C840029891F /* ServerAPI.m in Sources */, |
853 | 6E7F93431F35872B00EFBC71 /* TPKeyboardAvoidingScrollView.m in Sources */, | 867 | 6E7F93431F35872B00EFBC71 /* TPKeyboardAvoidingScrollView.m in Sources */, |
854 | 6E7F93421F35872B00EFBC71 /* TPKeyboardAvoidingCollectionView.m in Sources */, | 868 | 6E7F93421F35872B00EFBC71 /* TPKeyboardAvoidingCollectionView.m in Sources */, |
855 | E968550A1F3C444900317CEF /* AutoTransButton.m in Sources */, | 869 | E968550A1F3C444900317CEF /* AutoTransButton.m in Sources */, |
856 | 6EA4AF321F40BB7A00F52CFE /* TargetInfor.m in Sources */, | 870 | 6EA4AF321F40BB7A00F52CFE /* TargetInfor.m in Sources */, |
857 | E933E6741F3E0E4E002926F5 /* GroupObject.m in Sources */, | 871 | E933E6741F3E0E4E002926F5 /* GroupObject.m in Sources */, |
858 | 6E27A74D1F9E432900C390B3 /* NoticeInfor.m in Sources */, | 872 | 6E27A74D1F9E432900C390B3 /* NoticeInfor.m in Sources */, |
859 | 9CBDA0FA1F2ECE2C0055DED1 /* BaseViewController.m in Sources */, | 873 | 9CBDA0FA1F2ECE2C0055DED1 /* BaseViewController.m in Sources */, |
860 | 6E8DA0F71F2BAC3400CCE941 /* TodayViewController.m in Sources */, | 874 | 6E8DA0F71F2BAC3400CCE941 /* TodayViewController.m in Sources */, |
861 | 6E7F93451F35872B00EFBC71 /* UIScrollView+TPKeyboardAvoidingAdditions.m in Sources */, | 875 | 6E7F93451F35872B00EFBC71 /* UIScrollView+TPKeyboardAvoidingAdditions.m in Sources */, |
862 | E9682E2E1F39675A00FE05A2 /* RankingTableViewCell.m in Sources */, | 876 | E9682E2E1F39675A00FE05A2 /* RankingTableViewCell.m in Sources */, |
863 | E9D909211F3D559D004CF99F /* TweetObject.m in Sources */, | 877 | E9D909211F3D559D004CF99F /* TweetObject.m in Sources */, |
864 | 6E48AF0D1F2F9D3300C1D184 /* CustomTextField.m in Sources */, | 878 | 6E48AF0D1F2F9D3300C1D184 /* CustomTextField.m in Sources */, |
865 | E99E13AB1F336F3600C78787 /* CollectionView.m in Sources */, | 879 | E99E13AB1F336F3600C78787 /* CollectionView.m in Sources */, |
866 | 6E84E3B01F27A975001EB88E /* HomeViewConb troller.m in Sources */, | 880 | 6E84E3B01F27A975001EB88E /* HomeViewController.m in Sources */, |
867 | E9373E471F3596940059355A /* AutoTransLabel.m in Sources */, | 881 | E9373E471F3596940059355A /* AutoTransLabel.m in Sources */, |
868 | 6E27A74A1F9E41B400C390B3 /* HomeObject.m in Sources */, | 882 | 6E27A74A1F9E41B400C390B3 /* HomeObject.m in Sources */, |
869 | 6E84E3791F27A701001EB88E /* AppDelegate.m in Sources */, | 883 | 6E84E3791F27A701001EB88E /* AppDelegate.m in Sources */, |
870 | 6E84E3BA1F27A9A0001EB88E /* RankingViewController.m in Sources */, | 884 | 6E84E3BA1F27A9A0001EB88E /* RankingViewController.m in Sources */, |
871 | 6E7F93441F35872B00EFBC71 /* TPKeyboardAvoidingTableView.m in Sources */, | 885 | 6E7F93441F35872B00EFBC71 /* TPKeyboardAvoidingTableView.m in Sources */, |
872 | E9F73DCC1F338A0F004A3A6F /* HistoryListTableViewCell.m in Sources */, | 886 | E9F73DCC1F338A0F004A3A6F /* HistoryListTableViewCell.m in Sources */, |
873 | 6EDC8BF41F2C68D700765ACC /* CMMotionActivityExtra.m in Sources */, | 887 | 6EDC8BF41F2C68D700765ACC /* CMMotionActivityExtra.m in Sources */, |
874 | E933E6791F40513C002926F5 /* GroupDetailViewController.m in Sources */, | 888 | E933E6791F40513C002926F5 /* GroupDetailViewController.m in Sources */, |
875 | 6EA4AF311F40BB7A00F52CFE /* StepObject.m in Sources */, | 889 | 6EA4AF311F40BB7A00F52CFE /* StepObject.m in Sources */, |
876 | E95F4CED1F475C6A00D27E80 /* CreateGroupViewController.m in Sources */, | 890 | E95F4CED1F475C6A00D27E80 /* CreateGroupViewController.m in Sources */, |
877 | 9CBDA0FF1F2F03810055DED1 /* RegisterViewController.m in Sources */, | 891 | 9CBDA0FF1F2F03810055DED1 /* RegisterViewController.m in Sources */, |
878 | E9373E4A1F35AA180059355A /* HistoryObject.m in Sources */, | 892 | E9373E4A1F35AA180059355A /* HistoryObject.m in Sources */, |
879 | 9CA8AEEA1F31BB4600C5FC74 /* ConfirmForgetPassViewController.m in Sources */, | 893 | 9CA8AEEA1F31BB4600C5FC74 /* ConfirmForgetPassViewController.m in Sources */, |
880 | E99E13B11F33720600C78787 /* LabelCollectionViewCell.m in Sources */, | 894 | E99E13B11F33720600C78787 /* LabelCollectionViewCell.m in Sources */, |
881 | 6EDC8BEE1F2C2FB800765ACC /* Utilities.m in Sources */, | 895 | 6EDC8BEE1F2C2FB800765ACC /* Utilities.m in Sources */, |
882 | E97588FC1F513BAD00782484 /* RankingObject.m in Sources */, | 896 | E97588FC1F513BAD00782484 /* RankingObject.m in Sources */, |
883 | E96855111F3C5D9A00317CEF /* SNSRecentTopicTableViewCell.m in Sources */, | 897 | E96855111F3C5D9A00317CEF /* SNSRecentTopicTableViewCell.m in Sources */, |
884 | 6E84E3C51F27ACAE001EB88E /* MapViewController.m in Sources */, | 898 | 6E84E3C51F27ACAE001EB88E /* MapViewController.m in Sources */, |
885 | 6E18CEDC1F2E40F50029891F /* User.m in Sources */, | 899 | 6E18CEDC1F2E40F50029891F /* User.m in Sources */, |
886 | 6ECC40711F2A5FEB00AAEB97 /* NSDate+helper.m in Sources */, | 900 | 6ECC40711F2A5FEB00AAEB97 /* NSDate+helper.m in Sources */, |
887 | E9497FD51F46EC1100E6AF8D /* MemberObject.m in Sources */, | 901 | E9497FD51F46EC1100E6AF8D /* MemberObject.m in Sources */, |
888 | 6E18CED31F2E39DB0029891F /* LoginViewController.m in Sources */, | 902 | 6E18CED31F2E39DB0029891F /* LoginViewController.m in Sources */, |
889 | 6EA4AF331F40BB7A00F52CFE /* TopObject.m in Sources */, | 903 | 6EA4AF331F40BB7A00F52CFE /* TopObject.m in Sources */, |
890 | E9D909241F3D6E8C004CF99F /* BaseTableViewController.m in Sources */, | 904 | E9D909241F3D6E8C004CF99F /* BaseTableViewController.m in Sources */, |
891 | 6E84E3761F27A701001EB88E /* main.m in Sources */, | 905 | 6E84E3761F27A701001EB88E /* main.m in Sources */, |
892 | E933E6701F3E09B6002926F5 /* SearchGroupTableViewCell.m in Sources */, | 906 | E933E6701F3E09B6002926F5 /* SearchGroupTableViewCell.m in Sources */, |
893 | 6E84E3B51F27A98B001EB88E /* HistoryViewController.m in Sources */, | 907 | 6E84E3B51F27A98B001EB88E /* HistoryViewController.m in Sources */, |
894 | E95F4CF31F48B39200D27E80 /* MyGroupViewController.m in Sources */, | 908 | E95F4CF31F48B39200D27E80 /* MyGroupViewController.m in Sources */, |
895 | E933E66B1F3E04A6002926F5 /* SearchGroupViewController.m in Sources */, | 909 | E933E66B1F3E04A6002926F5 /* SearchGroupViewController.m in Sources */, |
896 | 6E84E3BF1F27A9B1001EB88E /* SNSViewController.m in Sources */, | 910 | 6E84E3BF1F27A9B1001EB88E /* SNSViewController.m in Sources */, |
897 | ); | 911 | ); |
898 | runOnlyForDeploymentPostprocessing = 0; | 912 | runOnlyForDeploymentPostprocessing = 0; |
899 | }; | 913 | }; |
900 | 6E84E3861F27A703001EB88E /* Sources */ = { | 914 | 6E84E3861F27A703001EB88E /* Sources */ = { |
901 | isa = PBXSourcesBuildPhase; | 915 | isa = PBXSourcesBuildPhase; |
902 | buildActionMask = 2147483647; | 916 | buildActionMask = 2147483647; |
903 | files = ( | 917 | files = ( |
904 | 6E84E38F1F27A703001EB88E /* LifeLogTests.m in Sources */, | 918 | 6E84E38F1F27A703001EB88E /* LifeLogTests.m in Sources */, |
905 | ); | 919 | ); |
906 | runOnlyForDeploymentPostprocessing = 0; | 920 | runOnlyForDeploymentPostprocessing = 0; |
907 | }; | 921 | }; |
908 | 6E84E3911F27A703001EB88E /* Sources */ = { | 922 | 6E84E3911F27A703001EB88E /* Sources */ = { |
909 | isa = PBXSourcesBuildPhase; | 923 | isa = PBXSourcesBuildPhase; |
910 | buildActionMask = 2147483647; | 924 | buildActionMask = 2147483647; |
911 | files = ( | 925 | files = ( |
912 | 6E84E39A1F27A703001EB88E /* LifeLogUITests.m in Sources */, | 926 | 6E84E39A1F27A703001EB88E /* LifeLogUITests.m in Sources */, |
913 | ); | 927 | ); |
914 | runOnlyForDeploymentPostprocessing = 0; | 928 | runOnlyForDeploymentPostprocessing = 0; |
915 | }; | 929 | }; |
916 | /* End PBXSourcesBuildPhase section */ | 930 | /* End PBXSourcesBuildPhase section */ |
917 | 931 | ||
918 | /* Begin PBXTargetDependency section */ | 932 | /* Begin PBXTargetDependency section */ |
919 | 6E84E38C1F27A703001EB88E /* PBXTargetDependency */ = { | 933 | 6E84E38C1F27A703001EB88E /* PBXTargetDependency */ = { |
920 | isa = PBXTargetDependency; | 934 | isa = PBXTargetDependency; |
921 | target = 6E84E3701F27A700001EB88E /* LifeLog */; | 935 | target = 6E84E3701F27A700001EB88E /* LifeLog */; |
922 | targetProxy = 6E84E38B1F27A703001EB88E /* PBXContainerItemProxy */; | 936 | targetProxy = 6E84E38B1F27A703001EB88E /* PBXContainerItemProxy */; |
923 | }; | 937 | }; |
924 | 6E84E3971F27A703001EB88E /* PBXTargetDependency */ = { | 938 | 6E84E3971F27A703001EB88E /* PBXTargetDependency */ = { |
925 | isa = PBXTargetDependency; | 939 | isa = PBXTargetDependency; |
926 | target = 6E84E3701F27A700001EB88E /* LifeLog */; | 940 | target = 6E84E3701F27A700001EB88E /* LifeLog */; |
927 | targetProxy = 6E84E3961F27A703001EB88E /* PBXContainerItemProxy */; | 941 | targetProxy = 6E84E3961F27A703001EB88E /* PBXContainerItemProxy */; |
928 | }; | 942 | }; |
929 | /* End PBXTargetDependency section */ | 943 | /* End PBXTargetDependency section */ |
930 | 944 | ||
931 | /* Begin PBXVariantGroup section */ | 945 | /* Begin PBXVariantGroup section */ |
932 | 6E84E3821F27A701001EB88E /* LaunchScreen.storyboard */ = { | 946 | 6E84E3821F27A701001EB88E /* LaunchScreen.storyboard */ = { |
933 | isa = PBXVariantGroup; | 947 | isa = PBXVariantGroup; |
934 | children = ( | 948 | children = ( |
935 | 6E84E3831F27A701001EB88E /* Base */, | 949 | 6E84E3831F27A701001EB88E /* Base */, |
936 | ); | 950 | ); |
937 | name = LaunchScreen.storyboard; | 951 | name = LaunchScreen.storyboard; |
938 | sourceTree = "<group>"; | 952 | sourceTree = "<group>"; |
939 | }; | 953 | }; |
940 | /* End PBXVariantGroup section */ | 954 | /* End PBXVariantGroup section */ |
941 | 955 | ||
942 | /* Begin XCBuildConfiguration section */ | 956 | /* Begin XCBuildConfiguration section */ |
943 | 6E84E39C1F27A703001EB88E /* Debug */ = { | 957 | 6E84E39C1F27A703001EB88E /* Debug */ = { |
944 | isa = XCBuildConfiguration; | 958 | isa = XCBuildConfiguration; |
945 | buildSettings = { | 959 | buildSettings = { |
946 | ALWAYS_SEARCH_USER_PATHS = NO; | 960 | ALWAYS_SEARCH_USER_PATHS = NO; |
947 | CLANG_ANALYZER_NONNULL = YES; | 961 | CLANG_ANALYZER_NONNULL = YES; |
948 | CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES_AGGRESSIVE; | 962 | CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES_AGGRESSIVE; |
949 | CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x"; | 963 | CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x"; |
950 | CLANG_CXX_LIBRARY = "libc++"; | 964 | CLANG_CXX_LIBRARY = "libc++"; |
951 | CLANG_ENABLE_MODULES = YES; | 965 | CLANG_ENABLE_MODULES = YES; |
952 | CLANG_ENABLE_OBJC_ARC = YES; | 966 | CLANG_ENABLE_OBJC_ARC = YES; |
953 | CLANG_WARN_BOOL_CONVERSION = YES; | 967 | CLANG_WARN_BOOL_CONVERSION = YES; |
954 | CLANG_WARN_CONSTANT_CONVERSION = YES; | 968 | CLANG_WARN_CONSTANT_CONVERSION = YES; |
955 | CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR; | 969 | CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR; |
956 | CLANG_WARN_DOCUMENTATION_COMMENTS = YES; | 970 | CLANG_WARN_DOCUMENTATION_COMMENTS = YES; |
957 | CLANG_WARN_EMPTY_BODY = YES; | 971 | CLANG_WARN_EMPTY_BODY = YES; |
958 | CLANG_WARN_ENUM_CONVERSION = YES; | 972 | CLANG_WARN_ENUM_CONVERSION = YES; |
959 | CLANG_WARN_INFINITE_RECURSION = YES; | 973 | CLANG_WARN_INFINITE_RECURSION = YES; |
960 | CLANG_WARN_INT_CONVERSION = YES; | 974 | CLANG_WARN_INT_CONVERSION = YES; |
961 | CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR; | 975 | CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR; |
962 | CLANG_WARN_SUSPICIOUS_MOVE = YES; | 976 | CLANG_WARN_SUSPICIOUS_MOVE = YES; |
963 | CLANG_WARN_UNREACHABLE_CODE = YES; | 977 | CLANG_WARN_UNREACHABLE_CODE = YES; |
964 | CLANG_WARN__DUPLICATE_METHOD_MATCH = YES; | 978 | CLANG_WARN__DUPLICATE_METHOD_MATCH = YES; |
965 | "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer"; | 979 | "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer"; |
966 | COPY_PHASE_STRIP = NO; | 980 | COPY_PHASE_STRIP = NO; |
967 | DEBUG_INFORMATION_FORMAT = dwarf; | 981 | DEBUG_INFORMATION_FORMAT = dwarf; |
968 | ENABLE_STRICT_OBJC_MSGSEND = YES; | 982 | ENABLE_STRICT_OBJC_MSGSEND = YES; |
969 | ENABLE_TESTABILITY = YES; | 983 | ENABLE_TESTABILITY = YES; |
970 | GCC_C_LANGUAGE_STANDARD = gnu99; | 984 | GCC_C_LANGUAGE_STANDARD = gnu99; |
971 | GCC_DYNAMIC_NO_PIC = NO; | 985 | GCC_DYNAMIC_NO_PIC = NO; |
972 | GCC_NO_COMMON_BLOCKS = YES; | 986 | GCC_NO_COMMON_BLOCKS = YES; |
973 | GCC_OPTIMIZATION_LEVEL = 0; | 987 | GCC_OPTIMIZATION_LEVEL = 0; |
974 | GCC_PREPROCESSOR_DEFINITIONS = ( | 988 | GCC_PREPROCESSOR_DEFINITIONS = ( |
975 | "DEBUG=1", | 989 | "DEBUG=1", |
976 | "$(inherited)", | 990 | "$(inherited)", |
977 | ); | 991 | ); |
978 | GCC_WARN_64_TO_32_BIT_CONVERSION = YES; | 992 | GCC_WARN_64_TO_32_BIT_CONVERSION = YES; |
979 | GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR; | 993 | GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR; |
980 | GCC_WARN_UNDECLARED_SELECTOR = YES; | 994 | GCC_WARN_UNDECLARED_SELECTOR = YES; |
981 | GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE; | 995 | GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE; |
982 | GCC_WARN_UNUSED_FUNCTION = YES; | 996 | GCC_WARN_UNUSED_FUNCTION = YES; |
983 | GCC_WARN_UNUSED_VARIABLE = YES; | 997 | GCC_WARN_UNUSED_VARIABLE = YES; |
984 | IPHONEOS_DEPLOYMENT_TARGET = 10.3; | 998 | IPHONEOS_DEPLOYMENT_TARGET = 10.3; |
985 | MTL_ENABLE_DEBUG_INFO = YES; | 999 | MTL_ENABLE_DEBUG_INFO = YES; |
986 | ONLY_ACTIVE_ARCH = YES; | 1000 | ONLY_ACTIVE_ARCH = YES; |
987 | SDKROOT = iphoneos; | 1001 | SDKROOT = iphoneos; |
988 | TARGETED_DEVICE_FAMILY = "1,2"; | 1002 | TARGETED_DEVICE_FAMILY = "1,2"; |
989 | }; | 1003 | }; |
990 | name = Debug; | 1004 | name = Debug; |
991 | }; | 1005 | }; |
992 | 6E84E39D1F27A703001EB88E /* Release */ = { | 1006 | 6E84E39D1F27A703001EB88E /* Release */ = { |
993 | isa = XCBuildConfiguration; | 1007 | isa = XCBuildConfiguration; |
994 | buildSettings = { | 1008 | buildSettings = { |
995 | ALWAYS_SEARCH_USER_PATHS = NO; | 1009 | ALWAYS_SEARCH_USER_PATHS = NO; |
996 | CLANG_ANALYZER_NONNULL = YES; | 1010 | CLANG_ANALYZER_NONNULL = YES; |
997 | CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES_AGGRESSIVE; | 1011 | CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES_AGGRESSIVE; |
998 | CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x"; | 1012 | CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x"; |
999 | CLANG_CXX_LIBRARY = "libc++"; | 1013 | CLANG_CXX_LIBRARY = "libc++"; |
1000 | CLANG_ENABLE_MODULES = YES; | 1014 | CLANG_ENABLE_MODULES = YES; |
1001 | CLANG_ENABLE_OBJC_ARC = YES; | 1015 | CLANG_ENABLE_OBJC_ARC = YES; |
1002 | CLANG_WARN_BOOL_CONVERSION = YES; | 1016 | CLANG_WARN_BOOL_CONVERSION = YES; |
1003 | CLANG_WARN_CONSTANT_CONVERSION = YES; | 1017 | CLANG_WARN_CONSTANT_CONVERSION = YES; |
1004 | CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR; | 1018 | CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR; |
1005 | CLANG_WARN_DOCUMENTATION_COMMENTS = YES; | 1019 | CLANG_WARN_DOCUMENTATION_COMMENTS = YES; |
1006 | CLANG_WARN_EMPTY_BODY = YES; | 1020 | CLANG_WARN_EMPTY_BODY = YES; |
1007 | CLANG_WARN_ENUM_CONVERSION = YES; | 1021 | CLANG_WARN_ENUM_CONVERSION = YES; |
1008 | CLANG_WARN_INFINITE_RECURSION = YES; | 1022 | CLANG_WARN_INFINITE_RECURSION = YES; |
1009 | CLANG_WARN_INT_CONVERSION = YES; | 1023 | CLANG_WARN_INT_CONVERSION = YES; |
1010 | CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR; | 1024 | CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR; |
1011 | CLANG_WARN_SUSPICIOUS_MOVE = YES; | 1025 | CLANG_WARN_SUSPICIOUS_MOVE = YES; |
1012 | CLANG_WARN_UNREACHABLE_CODE = YES; | 1026 | CLANG_WARN_UNREACHABLE_CODE = YES; |
1013 | CLANG_WARN__DUPLICATE_METHOD_MATCH = YES; | 1027 | CLANG_WARN__DUPLICATE_METHOD_MATCH = YES; |
1014 | "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer"; | 1028 | "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer"; |
1015 | COPY_PHASE_STRIP = NO; | 1029 | COPY_PHASE_STRIP = NO; |
1016 | DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym"; | 1030 | DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym"; |
1017 | ENABLE_NS_ASSERTIONS = NO; | 1031 | ENABLE_NS_ASSERTIONS = NO; |
1018 | ENABLE_STRICT_OBJC_MSGSEND = YES; | 1032 | ENABLE_STRICT_OBJC_MSGSEND = YES; |
1019 | GCC_C_LANGUAGE_STANDARD = gnu99; | 1033 | GCC_C_LANGUAGE_STANDARD = gnu99; |
1020 | GCC_NO_COMMON_BLOCKS = YES; | 1034 | GCC_NO_COMMON_BLOCKS = YES; |
1021 | GCC_WARN_64_TO_32_BIT_CONVERSION = YES; | 1035 | GCC_WARN_64_TO_32_BIT_CONVERSION = YES; |
1022 | GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR; | 1036 | GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR; |
1023 | GCC_WARN_UNDECLARED_SELECTOR = YES; | 1037 | GCC_WARN_UNDECLARED_SELECTOR = YES; |
1024 | GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE; | 1038 | GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE; |
1025 | GCC_WARN_UNUSED_FUNCTION = YES; | 1039 | GCC_WARN_UNUSED_FUNCTION = YES; |
1026 | GCC_WARN_UNUSED_VARIABLE = YES; | 1040 | GCC_WARN_UNUSED_VARIABLE = YES; |
1027 | IPHONEOS_DEPLOYMENT_TARGET = 10.3; | 1041 | IPHONEOS_DEPLOYMENT_TARGET = 10.3; |
1028 | MTL_ENABLE_DEBUG_INFO = NO; | 1042 | MTL_ENABLE_DEBUG_INFO = NO; |
1029 | SDKROOT = iphoneos; | 1043 | SDKROOT = iphoneos; |
1030 | TARGETED_DEVICE_FAMILY = "1,2"; | 1044 | TARGETED_DEVICE_FAMILY = "1,2"; |
1031 | VALIDATE_PRODUCT = YES; | 1045 | VALIDATE_PRODUCT = YES; |
1032 | }; | 1046 | }; |
1033 | name = Release; | 1047 | name = Release; |
1034 | }; | 1048 | }; |
1035 | 6E84E39F1F27A703001EB88E /* Debug */ = { | 1049 | 6E84E39F1F27A703001EB88E /* Debug */ = { |
1036 | isa = XCBuildConfiguration; | 1050 | isa = XCBuildConfiguration; |
1037 | baseConfigurationReference = 0FC2D57087AF4571C57FAE08 /* Pods-LifeLog.debug.xcconfig */; | 1051 | baseConfigurationReference = 0FC2D57087AF4571C57FAE08 /* Pods-LifeLog.debug.xcconfig */; |
1038 | buildSettings = { | 1052 | buildSettings = { |
1039 | ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; | 1053 | ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; |
1040 | CODE_SIGN_IDENTITY = "iPhone Distribution"; | 1054 | CODE_SIGN_IDENTITY = "iPhone Distribution"; |
1041 | "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer"; | 1055 | "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer"; |
1042 | CODE_SIGN_STYLE = Automatic; | 1056 | CODE_SIGN_STYLE = Automatic; |
1043 | DEVELOPMENT_TEAM = UXU4V3VUN4; | 1057 | DEVELOPMENT_TEAM = UXU4V3VUN4; |
1044 | INFOPLIST_FILE = LifeLog/Info.plist; | 1058 | INFOPLIST_FILE = LifeLog/Info.plist; |
1045 | IPHONEOS_DEPLOYMENT_TARGET = 9.0; | 1059 | IPHONEOS_DEPLOYMENT_TARGET = 9.0; |
1046 | LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks"; | 1060 | LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks"; |
1047 | OTHER_LDFLAGS = ( | 1061 | OTHER_LDFLAGS = ( |
1048 | "$(inherited)", | 1062 | "$(inherited)", |
1049 | "-framework", | 1063 | "-framework", |
1050 | "\"CircleProgressBar\"", | 1064 | "\"CircleProgressBar\"", |
1051 | "-all_load", | 1065 | "-all_load", |
1052 | "-ObjC", | 1066 | "-ObjC", |
1053 | ); | 1067 | ); |
1054 | PRODUCT_BUNDLE_IDENTIFIER = mobileworld.jp.lifelog; | 1068 | PRODUCT_BUNDLE_IDENTIFIER = mobileworld.jp.lifelog; |
1055 | PRODUCT_NAME = "$(TARGET_NAME)"; | 1069 | PRODUCT_NAME = "$(TARGET_NAME)"; |
1056 | PROVISIONING_PROFILE = ""; | 1070 | PROVISIONING_PROFILE = ""; |
1057 | PROVISIONING_PROFILE_SPECIFIER = ""; | 1071 | PROVISIONING_PROFILE_SPECIFIER = ""; |
1058 | }; | 1072 | }; |
1059 | name = Debug; | 1073 | name = Debug; |
1060 | }; | 1074 | }; |
1061 | 6E84E3A01F27A703001EB88E /* Release */ = { | 1075 | 6E84E3A01F27A703001EB88E /* Release */ = { |
1062 | isa = XCBuildConfiguration; | 1076 | isa = XCBuildConfiguration; |
1063 | baseConfigurationReference = 4CFDA5714AF852358A1EB515 /* Pods-LifeLog.release.xcconfig */; | 1077 | baseConfigurationReference = 4CFDA5714AF852358A1EB515 /* Pods-LifeLog.release.xcconfig */; |
1064 | buildSettings = { | 1078 | buildSettings = { |
1065 | ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; | 1079 | ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; |
1066 | CODE_SIGN_IDENTITY = "iPhone Distribution"; | 1080 | CODE_SIGN_IDENTITY = "iPhone Distribution"; |
1067 | "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer"; | 1081 | "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer"; |
1068 | CODE_SIGN_STYLE = Automatic; | 1082 | CODE_SIGN_STYLE = Automatic; |
1069 | DEVELOPMENT_TEAM = UXU4V3VUN4; | 1083 | DEVELOPMENT_TEAM = UXU4V3VUN4; |
1070 | INFOPLIST_FILE = LifeLog/Info.plist; | 1084 | INFOPLIST_FILE = LifeLog/Info.plist; |
1071 | IPHONEOS_DEPLOYMENT_TARGET = 9.0; | 1085 | IPHONEOS_DEPLOYMENT_TARGET = 9.0; |
1072 | LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks"; | 1086 | LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks"; |
1073 | OTHER_LDFLAGS = ( | 1087 | OTHER_LDFLAGS = ( |
1074 | "$(inherited)", | 1088 | "$(inherited)", |
1075 | "-framework", | 1089 | "-framework", |
1076 | "\"CircleProgressBar\"", | 1090 | "\"CircleProgressBar\"", |
1077 | "-all_load", | 1091 | "-all_load", |
1078 | "-ObjC", | 1092 | "-ObjC", |
1079 | ); | 1093 | ); |
1080 | PRODUCT_BUNDLE_IDENTIFIER = mobileworld.jp.lifelog; | 1094 | PRODUCT_BUNDLE_IDENTIFIER = mobileworld.jp.lifelog; |
1081 | PRODUCT_NAME = "$(TARGET_NAME)"; | 1095 | PRODUCT_NAME = "$(TARGET_NAME)"; |
1082 | PROVISIONING_PROFILE = ""; | 1096 | PROVISIONING_PROFILE = ""; |
1083 | PROVISIONING_PROFILE_SPECIFIER = ""; | 1097 | PROVISIONING_PROFILE_SPECIFIER = ""; |
1084 | }; | 1098 | }; |
1085 | name = Release; | 1099 | name = Release; |
1086 | }; | 1100 | }; |
1087 | 6E84E3A21F27A703001EB88E /* Debug */ = { | 1101 | 6E84E3A21F27A703001EB88E /* Debug */ = { |
1088 | isa = XCBuildConfiguration; | 1102 | isa = XCBuildConfiguration; |
1089 | buildSettings = { | 1103 | buildSettings = { |
1090 | BUNDLE_LOADER = "$(TEST_HOST)"; | 1104 | BUNDLE_LOADER = "$(TEST_HOST)"; |
1091 | INFOPLIST_FILE = LifeLogTests/Info.plist; | 1105 | INFOPLIST_FILE = LifeLogTests/Info.plist; |
1092 | LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks"; | 1106 | LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks"; |
1093 | PRODUCT_BUNDLE_IDENTIFIER = com.mav.LifeLogTests; | 1107 | PRODUCT_BUNDLE_IDENTIFIER = com.mav.LifeLogTests; |
1094 | PRODUCT_NAME = "$(TARGET_NAME)"; | 1108 | PRODUCT_NAME = "$(TARGET_NAME)"; |
1095 | TEST_HOST = "$(BUILT_PRODUCTS_DIR)/LifeLog.app/LifeLog"; | 1109 | TEST_HOST = "$(BUILT_PRODUCTS_DIR)/LifeLog.app/LifeLog"; |
1096 | }; | 1110 | }; |
1097 | name = Debug; | 1111 | name = Debug; |
1098 | }; | 1112 | }; |
1099 | 6E84E3A31F27A703001EB88E /* Release */ = { | 1113 | 6E84E3A31F27A703001EB88E /* Release */ = { |
1100 | isa = XCBuildConfiguration; | 1114 | isa = XCBuildConfiguration; |
1101 | buildSettings = { | 1115 | buildSettings = { |
1102 | BUNDLE_LOADER = "$(TEST_HOST)"; | 1116 | BUNDLE_LOADER = "$(TEST_HOST)"; |
1103 | INFOPLIST_FILE = LifeLogTests/Info.plist; | 1117 | INFOPLIST_FILE = LifeLogTests/Info.plist; |
1104 | LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks"; | 1118 | LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks"; |
1105 | PRODUCT_BUNDLE_IDENTIFIER = com.mav.LifeLogTests; | 1119 | PRODUCT_BUNDLE_IDENTIFIER = com.mav.LifeLogTests; |
1106 | PRODUCT_NAME = "$(TARGET_NAME)"; | 1120 | PRODUCT_NAME = "$(TARGET_NAME)"; |
1107 | TEST_HOST = "$(BUILT_PRODUCTS_DIR)/LifeLog.app/LifeLog"; | 1121 | TEST_HOST = "$(BUILT_PRODUCTS_DIR)/LifeLog.app/LifeLog"; |
1108 | }; | 1122 | }; |
1109 | name = Release; | 1123 | name = Release; |
1110 | }; | 1124 | }; |
1111 | 6E84E3A51F27A703001EB88E /* Debug */ = { | 1125 | 6E84E3A51F27A703001EB88E /* Debug */ = { |
1112 | isa = XCBuildConfiguration; | 1126 | isa = XCBuildConfiguration; |
1113 | buildSettings = { | 1127 | buildSettings = { |
1114 | INFOPLIST_FILE = LifeLogUITests/Info.plist; | 1128 | INFOPLIST_FILE = LifeLogUITests/Info.plist; |
1115 | LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks"; | 1129 | LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks"; |
1116 | PRODUCT_BUNDLE_IDENTIFIER = com.mav.LifeLogUITests; | 1130 | PRODUCT_BUNDLE_IDENTIFIER = com.mav.LifeLogUITests; |
1117 | PRODUCT_NAME = "$(TARGET_NAME)"; | 1131 | PRODUCT_NAME = "$(TARGET_NAME)"; |
1118 | TEST_TARGET_NAME = LifeLog; | 1132 | TEST_TARGET_NAME = LifeLog; |
1119 | }; | 1133 | }; |
1120 | name = Debug; | 1134 | name = Debug; |
1121 | }; | 1135 | }; |
1122 | 6E84E3A61F27A703001EB88E /* Release */ = { | 1136 | 6E84E3A61F27A703001EB88E /* Release */ = { |
1123 | isa = XCBuildConfiguration; | 1137 | isa = XCBuildConfiguration; |
1124 | buildSettings = { | 1138 | buildSettings = { |
1125 | INFOPLIST_FILE = LifeLogUITests/Info.plist; | 1139 | INFOPLIST_FILE = LifeLogUITests/Info.plist; |
1126 | LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks"; | 1140 | LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks"; |
1127 | PRODUCT_BUNDLE_IDENTIFIER = com.mav.LifeLogUITests; | 1141 | PRODUCT_BUNDLE_IDENTIFIER = com.mav.LifeLogUITests; |
1128 | PRODUCT_NAME = "$(TARGET_NAME)"; | 1142 | PRODUCT_NAME = "$(TARGET_NAME)"; |
1129 | TEST_TARGET_NAME = LifeLog; | 1143 | TEST_TARGET_NAME = LifeLog; |
1130 | }; | 1144 | }; |
1131 | name = Release; | 1145 | name = Release; |
1132 | }; | 1146 | }; |
1133 | /* End XCBuildConfiguration section */ | 1147 | /* End XCBuildConfiguration section */ |
1134 | 1148 | ||
1135 | /* Begin XCConfigurationList section */ | 1149 | /* Begin XCConfigurationList section */ |
1136 | 6E84E36C1F27A700001EB88E /* Build configuration list for PBXProject "LifeLog" */ = { | 1150 | 6E84E36C1F27A700001EB88E /* Build configuration list for PBXProject "LifeLog" */ = { |
1137 | isa = XCConfigurationList; | 1151 | isa = XCConfigurationList; |
1138 | buildConfigurations = ( | 1152 | buildConfigurations = ( |
1139 | 6E84E39C1F27A703001EB88E /* Debug */, | 1153 | 6E84E39C1F27A703001EB88E /* Debug */, |
1140 | 6E84E39D1F27A703001EB88E /* Release */, | 1154 | 6E84E39D1F27A703001EB88E /* Release */, |
1141 | ); | 1155 | ); |
1142 | defaultConfigurationIsVisible = 0; | 1156 | defaultConfigurationIsVisible = 0; |
1143 | defaultConfigurationName = Release; | 1157 | defaultConfigurationName = Release; |
1144 | }; | 1158 | }; |
1145 | 6E84E39E1F27A703001EB88E /* Build configuration list for PBXNativeTarget "LifeLog" */ = { | 1159 | 6E84E39E1F27A703001EB88E /* Build configuration list for PBXNativeTarget "LifeLog" */ = { |
1146 | isa = XCConfigurationList; | 1160 | isa = XCConfigurationList; |
1147 | buildConfigurations = ( | 1161 | buildConfigurations = ( |
1148 | 6E84E39F1F27A703001EB88E /* Debug */, | 1162 | 6E84E39F1F27A703001EB88E /* Debug */, |
1149 | 6E84E3A01F27A703001EB88E /* Release */, | 1163 | 6E84E3A01F27A703001EB88E /* Release */, |
1150 | ); | 1164 | ); |
1151 | defaultConfigurationIsVisible = 0; | 1165 | defaultConfigurationIsVisible = 0; |
1152 | defaultConfigurationName = Release; | 1166 | defaultConfigurationName = Release; |
1153 | }; | 1167 | }; |
1154 | 6E84E3A11F27A703001EB88E /* Build configuration list for PBXNativeTarget "LifeLogTests" */ = { | 1168 | 6E84E3A11F27A703001EB88E /* Build configuration list for PBXNativeTarget "LifeLogTests" */ = { |
1155 | isa = XCConfigurationList; | 1169 | isa = XCConfigurationList; |
1156 | buildConfigurations = ( | 1170 | buildConfigurations = ( |
1157 | 6E84E3A21F27A703001EB88E /* Debug */, | 1171 | 6E84E3A21F27A703001EB88E /* Debug */, |
1158 | 6E84E3A31F27A703001EB88E /* Release */, | 1172 | 6E84E3A31F27A703001EB88E /* Release */, |
1159 | ); | 1173 | ); |
1160 | defaultConfigurationIsVisible = 0; | 1174 | defaultConfigurationIsVisible = 0; |
1161 | defaultConfigurationName = Release; | 1175 | defaultConfigurationName = Release; |
1162 | }; | 1176 | }; |
1163 | 6E84E3A41F27A703001EB88E /* Build configuration list for PBXNativeTarget "LifeLogUITests" */ = { | 1177 | 6E84E3A41F27A703001EB88E /* Build configuration list for PBXNativeTarget "LifeLogUITests" */ = { |
1164 | isa = XCConfigurationList; | 1178 | isa = XCConfigurationList; |
1165 | buildConfigurations = ( | 1179 | buildConfigurations = ( |
1166 | 6E84E3A51F27A703001EB88E /* Debug */, | 1180 | 6E84E3A51F27A703001EB88E /* Debug */, |
1167 | 6E84E3A61F27A703001EB88E /* Release */, | 1181 | 6E84E3A61F27A703001EB88E /* Release */, |
1168 | ); | 1182 | ); |
1169 | defaultConfigurationIsVisible = 0; | 1183 | defaultConfigurationIsVisible = 0; |
1170 | defaultConfigurationName = Release; | 1184 | defaultConfigurationName = Release; |
1171 | }; | 1185 | }; |
1172 | /* End XCConfigurationList section */ | 1186 | /* End XCConfigurationList section */ |
1173 | }; | 1187 | }; |
1174 | rootObject = 6E84E3691F27A700001EB88E /* Project object */; | 1188 | rootObject = 6E84E3691F27A700001EB88E /* Project object */; |
1175 | } | 1189 | } |
1176 | 1190 |
LifeLog/LifeLog/AppDelegate.m
1 | // | 1 | // |
2 | // AppDelegate.m | 2 | // AppDelegate.m |
3 | // LifeLog | 3 | // LifeLog |
4 | // | 4 | // |
5 | // Created by Nguyen Van Phong on 7/25/17. | 5 | // Created by Nguyen Van Phong on 7/25/17. |
6 | // Copyright © 2017 PhongNV. All rights reserved. | 6 | // Copyright © 2017 PhongNV. All rights reserved. |
7 | // | 7 | // |
8 | 8 | ||
9 | #import "AppDelegate.h" | 9 | #import "AppDelegate.h" |
10 | #import "LoginViewController.h" | 10 | #import "LoginViewController.h" |
11 | #import "HomeViewController.h" | 11 | #import "HomeViewController.h" |
12 | #import "HistoryViewController.h" | 12 | #import "HistoryViewController.h" |
13 | #import "RankingViewController.h" | 13 | #import "RankingViewController.h" |
14 | #import "MapViewController.h" | 14 | #import "MapViewController.h" |
15 | #import "SNSViewController.h" | 15 | #import "SNSViewController.h" |
16 | #import "ServerAPI.h" | 16 | #import "ServerAPI.h" |
17 | #import "Utilities.h" | 17 | #import "Utilities.h" |
18 | 18 | ||
19 | @interface AppDelegate () | 19 | @interface AppDelegate () |
20 | 20 | ||
21 | @end | 21 | @end |
22 | 22 | ||
23 | @implementation AppDelegate | 23 | @implementation AppDelegate |
24 | 24 | ||
25 | + (AppDelegate *)sharedAppDelegate { | 25 | + (AppDelegate *)sharedAppDelegate { |
26 | return (AppDelegate *)[UIApplication sharedApplication].delegate; | 26 | return (AppDelegate *)[UIApplication sharedApplication].delegate; |
27 | } | 27 | } |
28 | 28 | ||
29 | - (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions { | 29 | - (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions { |
30 | // Override point for customization after application launch. | 30 | // Override point for customization after application launch. |
31 | self.window = [[UIWindow alloc] initWithFrame:[UIScreen mainScreen].bounds]; | 31 | self.window = [[UIWindow alloc] initWithFrame:[UIScreen mainScreen].bounds]; |
32 | 32 | [[UITabBar appearance] setBackgroundColor:[UIColor whiteColor]]; | |
33 | NSData *data = [[NSUserDefaults standardUserDefaults] objectForKey:kUser]; | 33 | NSData *data = [[NSUserDefaults standardUserDefaults] objectForKey:kUser]; |
34 | User *user = (User *)[NSKeyedUnarchiver unarchiveObjectWithData:data]; | 34 | User *user = (User *)[NSKeyedUnarchiver unarchiveObjectWithData:data]; |
35 | if (user == nil) { | 35 | if (user == nil) { |
36 | LoginViewController *loginVC = [[LoginViewController alloc] initWithNibName:@"LoginViewController" bundle:nil]; | 36 | LoginViewController *loginVC = [[LoginViewController alloc] initWithNibName:@"LoginViewController" bundle:nil]; |
37 | UINavigationController *navigation = [[UINavigationController alloc] initWithRootViewController:loginVC]; | 37 | UINavigationController *navigation = [[UINavigationController alloc] initWithRootViewController:loginVC]; |
38 | self.window.rootViewController = navigation; | 38 | self.window.rootViewController = navigation; |
39 | [self.window makeKeyAndVisible]; | 39 | [self.window makeKeyAndVisible]; |
40 | } | 40 | } |
41 | else { | 41 | else { |
42 | [self gotoMainMenu]; | 42 | [self gotoMainMenu]; |
43 | } | 43 | } |
44 | 44 | ||
45 | [[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(gotoLogin) name:kNotificationToken object:nil]; | 45 | [[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(gotoLogin) name:kNotificationToken object:nil]; |
46 | return YES; | 46 | return YES; |
47 | } | 47 | } |
48 | 48 | ||
49 | - (void)gotoLogin { | 49 | - (void)gotoLogin { |
50 | [[NSUserDefaults standardUserDefaults] removeObjectForKey:kUser]; | 50 | [[NSUserDefaults standardUserDefaults] removeObjectForKey:kUser]; |
51 | [[NSUserDefaults standardUserDefaults] removeObjectForKey:kToken]; | 51 | [[NSUserDefaults standardUserDefaults] removeObjectForKey:kToken]; |
52 | [[NSUserDefaults standardUserDefaults] synchronize]; | 52 | [[NSUserDefaults standardUserDefaults] synchronize]; |
53 | LoginViewController *loginVC = [[LoginViewController alloc] initWithNibName:@"LoginViewController" bundle:nil]; | 53 | LoginViewController *loginVC = [[LoginViewController alloc] initWithNibName:@"LoginViewController" bundle:nil]; |
54 | UINavigationController *navigation = [[UINavigationController alloc] initWithRootViewController:loginVC]; | 54 | UINavigationController *navigation = [[UINavigationController alloc] initWithRootViewController:loginVC]; |
55 | self.window.rootViewController = navigation; | 55 | self.window.rootViewController = navigation; |
56 | [self.window makeKeyAndVisible]; | 56 | [self.window makeKeyAndVisible]; |
57 | [Utilities showErrorMessage:@"Token is invalid" withViewController:self.window.rootViewController]; | 57 | [Utilities showErrorMessage:@"Token is invalid" withViewController:self.window.rootViewController]; |
58 | } | 58 | } |
59 | 59 | ||
60 | - (void)applicationWillResignActive:(UIApplication *)application { | 60 | - (void)applicationWillResignActive:(UIApplication *)application { |
61 | // Sent when the application is about to move from active to inactive state. This can occur for certain types of temporary interruptions (such as an incoming phone call or SMS message) or when the user quits the application and it begins the transition to the background state. | 61 | // Sent when the application is about to move from active to inactive state. This can occur for certain types of temporary interruptions (such as an incoming phone call or SMS message) or when the user quits the application and it begins the transition to the background state. |
62 | // Use this method to pause ongoing tasks, disable timers, and invalidate graphics rendering callbacks. Games should use this method to pause the game. | 62 | // Use this method to pause ongoing tasks, disable timers, and invalidate graphics rendering callbacks. Games should use this method to pause the game. |
63 | } | 63 | } |
64 | 64 | ||
65 | 65 | ||
66 | - (void)applicationDidEnterBackground:(UIApplication *)application { | 66 | - (void)applicationDidEnterBackground:(UIApplication *)application { |
67 | // Use this method to release shared resources, save user data, invalidate timers, and store enough application state information to restore your application to its current state in case it is terminated later. | 67 | // Use this method to release shared resources, save user data, invalidate timers, and store enough application state information to restore your application to its current state in case it is terminated later. |
68 | // If your application supports background execution, this method is called instead of applicationWillTerminate: when the user quits. | 68 | // If your application supports background execution, this method is called instead of applicationWillTerminate: when the user quits. |
69 | } | 69 | } |
70 | 70 | ||
71 | 71 | ||
72 | - (void)applicationWillEnterForeground:(UIApplication *)application { | 72 | - (void)applicationWillEnterForeground:(UIApplication *)application { |
73 | // Called as part of the transition from the background to the active state; here you can undo many of the changes made on entering the background. | 73 | // Called as part of the transition from the background to the active state; here you can undo many of the changes made on entering the background. |
74 | } | 74 | } |
75 | 75 | ||
76 | 76 | ||
77 | - (void)applicationDidBecomeActive:(UIApplication *)application { | 77 | - (void)applicationDidBecomeActive:(UIApplication *)application { |
78 | // Restart any tasks that were paused (or not yet started) while the application was inactive. If the application was previously in the background, optionally refresh the user interface. | 78 | // Restart any tasks that were paused (or not yet started) while the application was inactive. If the application was previously in the background, optionally refresh the user interface. |
79 | } | 79 | } |
80 | 80 | ||
81 | 81 | ||
82 | - (void)applicationWillTerminate:(UIApplication *)application { | 82 | - (void)applicationWillTerminate:(UIApplication *)application { |
83 | // Called when the application is about to terminate. Save data if appropriate. See also applicationDidEnterBackground:. | 83 | // Called when the application is about to terminate. Save data if appropriate. See also applicationDidEnterBackground:. |
84 | } | 84 | } |
85 | 85 | ||
86 | - (void)gotoMainMenu | 86 | - (void)gotoMainMenu |
87 | { | 87 | { |
88 | UITabBarController *tabBarViewController = [[UITabBarController alloc] init]; | 88 | UITabBarController *tabBarViewController = [[UITabBarController alloc] init]; |
89 | 89 | ||
90 | HomeViewController *homeVC = [[HomeViewController alloc] initWithNibName:@"HomeViewController" bundle:nil]; | 90 | HomeViewController *homeVC = [[HomeViewController alloc] initWithNibName:@"HomeViewController" bundle:nil]; |
91 | UINavigationController *naviToday = [[UINavigationController alloc] initWithRootViewController:homeVC]; | 91 | UINavigationController *naviToday = [[UINavigationController alloc] initWithRootViewController:homeVC]; |
92 | naviToday.tabBarItem = [[UITabBarItem alloc] initWithTitle:NSLocalizedString(@"lifelog.tapbar.today", @"") image:[UIImage imageNamed:@"tapbar_today"] tag:1]; | 92 | naviToday.tabBarItem = [[UITabBarItem alloc] initWithTitle:@"" image:[UIImage imageNamed:@"tapbar_today"] tag:1]; |
93 | naviToday.tabBarItem.imageInsets = UIEdgeInsetsMake(9, 0, -9, 0); | ||
93 | naviToday.navigationBar.hidden = YES; | 94 | naviToday.navigationBar.hidden = YES; |
94 | 95 | ||
95 | HistoryViewController *historyVC = [[HistoryViewController alloc] initWithNibName:@"HistoryViewController" bundle:nil]; | 96 | HistoryViewController *historyVC = [[HistoryViewController alloc] initWithNibName:@"HistoryViewController" bundle:nil]; |
96 | UINavigationController *naviHistory = [[UINavigationController alloc] initWithRootViewController:historyVC]; | 97 | UINavigationController *naviHistory = [[UINavigationController alloc] initWithRootViewController:historyVC]; |
97 | naviHistory.tabBarItem = [[UITabBarItem alloc] initWithTitle:NSLocalizedString(@"lifelog.tapbar.history", @"") image:[UIImage imageNamed:@"tapbar_history"] tag:2]; | 98 | naviHistory.tabBarItem = [[UITabBarItem alloc] initWithTitle:@"" image:[UIImage imageNamed:@"tapbar_history"] tag:2]; |
99 | naviHistory.tabBarItem.imageInsets = UIEdgeInsetsMake(9, 0, -9, 0); | ||
98 | naviHistory.navigationBar.hidden = YES; | 100 | naviHistory.navigationBar.hidden = YES; |
99 | 101 | ||
100 | RankingViewController *rankingVC = [[RankingViewController alloc] initWithNibName:@"RankingViewController" bundle:nil]; | 102 | RankingViewController *rankingVC = [[RankingViewController alloc] initWithNibName:@"RankingViewController" bundle:nil]; |
101 | UINavigationController *naviRanking = [[UINavigationController alloc] initWithRootViewController:rankingVC]; | 103 | UINavigationController *naviRanking = [[UINavigationController alloc] initWithRootViewController:rankingVC]; |
102 | naviRanking.tabBarItem = [[UITabBarItem alloc] initWithTitle:NSLocalizedString(@"lifelog.tapbar.ranking", @"") image:[UIImage imageNamed:@"tapbar_ranking"] tag:3]; | 104 | naviRanking.tabBarItem = [[UITabBarItem alloc] initWithTitle:@"" image:[UIImage imageNamed:@"tapbar_ranking"] tag:3]; |
105 | naviRanking.tabBarItem.imageInsets = UIEdgeInsetsMake(9, 0, -9, 0); | ||
103 | naviRanking.navigationBar.hidden = YES; | 106 | naviRanking.navigationBar.hidden = YES; |
104 | 107 | ||
105 | MapViewController *mapVC = [[MapViewController alloc] initWithNibName:@"MapViewController" bundle:nil]; | 108 | MapViewController *mapVC = [[MapViewController alloc] initWithNibName:@"MapViewController" bundle:nil]; |
106 | UINavigationController *naviMap = [[UINavigationController alloc] initWithRootViewController:mapVC]; | 109 | UINavigationController *naviMap = [[UINavigationController alloc] initWithRootViewController:mapVC]; |
107 | naviMap.tabBarItem = [[UITabBarItem alloc] initWithTitle:NSLocalizedString(@"lifelog.tapbar.map", @"") image:[UIImage imageNamed:@"tapbar_map"] tag:4]; | 110 | naviMap.tabBarItem = [[UITabBarItem alloc] initWithTitle:@"" image:[UIImage imageNamed:@"tapbar_map"] tag:4]; |
108 | 111 | naviMap.tabBarItem.imageInsets = UIEdgeInsetsMake(9, 0, -9, 0); | |
112 | |||
109 | SNSViewController *snsVC = [[SNSViewController alloc] initWithNibName:@"SNSViewController" bundle:nil]; | 113 | SNSViewController *snsVC = [[SNSViewController alloc] initWithNibName:@"SNSViewController" bundle:nil]; |
110 | UINavigationController *naviSNS = [[UINavigationController alloc] initWithRootViewController:snsVC]; | 114 | UINavigationController *naviSNS = [[UINavigationController alloc] initWithRootViewController:snsVC]; |
111 | naviSNS.tabBarItem = [[UITabBarItem alloc] initWithTitle:NSLocalizedString(@"lifelog.tapbar.sns", @"") image:[UIImage imageNamed:@"tapbar_sns"] tag:5]; | 115 | naviSNS.tabBarItem = [[UITabBarItem alloc] initWithTitle:@"" image:[UIImage imageNamed:@"tapbar_sns"] tag:5]; |
116 | naviSNS.tabBarItem.imageInsets = UIEdgeInsetsMake(9, 0, -9, 0); | ||
112 | naviSNS.navigationBar.hidden = YES; | 117 | naviSNS.navigationBar.hidden = YES; |
113 | 118 | ||
114 | tabBarViewController.viewControllers = [NSArray arrayWithObjects:naviToday, naviHistory, naviRanking, naviMap, naviSNS, nil]; | 119 | tabBarViewController.viewControllers = [NSArray arrayWithObjects:naviToday, naviHistory, naviRanking, naviMap, naviSNS, nil]; |
115 | 120 | ||
116 | self.window.rootViewController = tabBarViewController; | 121 | self.window.rootViewController = tabBarViewController; |
117 | [self.window makeKeyAndVisible]; | 122 | [self.window makeKeyAndVisible]; |
118 | } | 123 | } |
119 | 124 | ||
120 | @end | 125 | @end |
121 | 126 |
LifeLog/LifeLog/Assets.xcassets/Common/avatar_default.imageset/Contents.json
1 | { | 1 | { |
2 | "images" : [ | 2 | "images" : [ |
3 | { | 3 | { |
4 | "idiom" : "universal", | 4 | "idiom" : "universal", |
5 | "filename" : "avatar_default_1x.png", | 5 | "filename" : "ic_ava-2.png", |
6 | "scale" : "1x" | 6 | "scale" : "1x" |
7 | }, | 7 | }, |
8 | { | 8 | { |
9 | "idiom" : "universal", | 9 | "idiom" : "universal", |
10 | "filename" : "avatar_default_2x.png", | 10 | "filename" : "ic_ava.png", |
11 | "scale" : "2x" | 11 | "scale" : "2x" |
12 | }, | 12 | }, |
13 | { | 13 | { |
14 | "idiom" : "universal", | 14 | "idiom" : "universal", |
15 | "filename" : "avatar_default_3x.png", | 15 | "filename" : "ic_ava-1.png", |
16 | "scale" : "3x" | 16 | "scale" : "3x" |
17 | } | 17 | } |
18 | ], | 18 | ], |
19 | "info" : { | 19 | "info" : { |
20 | "version" : 1, | 20 | "version" : 1, |
21 | "author" : "xcode" | 21 | "author" : "xcode" |
22 | } | 22 | } |
23 | } | 23 | } |
LifeLog/LifeLog/Assets.xcassets/Common/avatar_default.imageset/avatar_default_1x.png
2.95 KB
LifeLog/LifeLog/Assets.xcassets/Common/avatar_default.imageset/avatar_default_2x.png
6.42 KB
LifeLog/LifeLog/Assets.xcassets/Common/avatar_default.imageset/avatar_default_3x.png
12.3 KB
LifeLog/LifeLog/Assets.xcassets/Common/avatar_default.imageset/ic_ava-1.png
22.4 KB
LifeLog/LifeLog/Assets.xcassets/Common/avatar_default.imageset/ic_ava-2.png
22.4 KB
LifeLog/LifeLog/Assets.xcassets/Common/avatar_default.imageset/ic_ava.png
22.4 KB
LifeLog/LifeLog/Assets.xcassets/Common/background.imageset/Contents.json
File was created | 1 | { | |
2 | "images" : [ | ||
3 | { | ||
4 | "idiom" : "universal", | ||
5 | "filename" : "background.png", | ||
6 | "scale" : "1x" | ||
7 | }, | ||
8 | { | ||
9 | "idiom" : "universal", | ||
10 | "scale" : "2x" | ||
11 | }, | ||
12 | { | ||
13 | "idiom" : "universal", | ||
14 | "scale" : "3x" | ||
15 | } | ||
16 | ], | ||
17 | "info" : { | ||
18 | "version" : 1, | ||
19 | "author" : "xcode" | ||
20 | } | ||
21 | } |
LifeLog/LifeLog/Assets.xcassets/Common/background.imageset/background.png
132 KB
LifeLog/LifeLog/Assets.xcassets/Common/icon_mail.imageset/Contents.json
File was created | 1 | { | |
2 | "images" : [ | ||
3 | { | ||
4 | "idiom" : "universal", | ||
5 | "scale" : "1x" | ||
6 | }, | ||
7 | { | ||
8 | "idiom" : "universal", | ||
9 | "filename" : "ic_mail.png", | ||
10 | "scale" : "2x" | ||
11 | }, | ||
12 | { | ||
13 | "idiom" : "universal", | ||
14 | "scale" : "3x" | ||
15 | } | ||
16 | ], | ||
17 | "info" : { | ||
18 | "version" : 1, | ||
19 | "author" : "xcode" | ||
20 | } | ||
21 | } |
LifeLog/LifeLog/Assets.xcassets/Common/icon_mail.imageset/ic_mail.png
7.3 KB
LifeLog/LifeLog/Assets.xcassets/Common/icon_menu.imageset/icon_menu_1x.png
LifeLog/LifeLog/Assets.xcassets/Common/icon_menu.imageset/icon_menu_2x.png
LifeLog/LifeLog/Assets.xcassets/Common/icon_menu.imageset/icon_menu_3x.png
LifeLog/LifeLog/Assets.xcassets/Common/icon_other_send.imageset/Contents.json
File was created | 1 | { | |
2 | "images" : [ | ||
3 | { | ||
4 | "idiom" : "universal", | ||
5 | "scale" : "1x" | ||
6 | }, | ||
7 | { | ||
8 | "idiom" : "universal", | ||
9 | "filename" : "ic_other.png", | ||
10 | "scale" : "2x" | ||
11 | }, | ||
12 | { | ||
13 | "idiom" : "universal", | ||
14 | "scale" : "3x" | ||
15 | } | ||
16 | ], | ||
17 | "info" : { | ||
18 | "version" : 1, | ||
19 | "author" : "xcode" | ||
20 | } | ||
21 | } |
LifeLog/LifeLog/Assets.xcassets/Common/icon_other_send.imageset/ic_other.png
4.87 KB
LifeLog/LifeLog/Assets.xcassets/Common/icon_twitter.imageset/Contents.json
File was created | 1 | { | |
2 | "images" : [ | ||
3 | { | ||
4 | "idiom" : "universal", | ||
5 | "scale" : "1x" | ||
6 | }, | ||
7 | { | ||
8 | "idiom" : "universal", | ||
9 | "filename" : "ic_twitter.png", | ||
10 | "scale" : "2x" | ||
11 | }, | ||
12 | { | ||
13 | "idiom" : "universal", | ||
14 | "scale" : "3x" | ||
15 | } | ||
16 | ], | ||
17 | "info" : { | ||
18 | "version" : 1, | ||
19 | "author" : "xcode" | ||
20 | } | ||
21 | } |
LifeLog/LifeLog/Assets.xcassets/Common/icon_twitter.imageset/ic_twitter.png
8.18 KB
LifeLog/LifeLog/Assets.xcassets/Rank/Contents.json
File was created | 1 | { | |
2 | "info" : { | ||
3 | "version" : 1, | ||
4 | "author" : "xcode" | ||
5 | } | ||
6 | } |
LifeLog/LifeLog/Assets.xcassets/Rank/ic_rank_1.imageset/Contents.json
File was created | 1 | { | |
2 | "images" : [ | ||
3 | { | ||
4 | "idiom" : "universal", | ||
5 | "scale" : "1x" | ||
6 | }, | ||
7 | { | ||
8 | "idiom" : "universal", | ||
9 | "filename" : "ic_rank_1.png", | ||
10 | "scale" : "2x" | ||
11 | }, | ||
12 | { | ||
13 | "idiom" : "universal", | ||
14 | "scale" : "3x" | ||
15 | } | ||
16 | ], | ||
17 | "info" : { | ||
18 | "version" : 1, | ||
19 | "author" : "xcode" | ||
20 | } | ||
21 | } |
LifeLog/LifeLog/Assets.xcassets/Rank/ic_rank_1.imageset/ic_rank_1.png
8.71 KB
LifeLog/LifeLog/Assets.xcassets/Rank/ic_rank_2.imageset/Contents.json
File was created | 1 | { | |
2 | "images" : [ | ||
3 | { | ||
4 | "idiom" : "universal", | ||
5 | "scale" : "1x" | ||
6 | }, | ||
7 | { | ||
8 | "idiom" : "universal", | ||
9 | "filename" : "ic_rank_2.png", | ||
10 | "scale" : "2x" | ||
11 | }, | ||
12 | { | ||
13 | "idiom" : "universal", | ||
14 | "scale" : "3x" | ||
15 | } | ||
16 | ], | ||
17 | "info" : { | ||
18 | "version" : 1, | ||
19 | "author" : "xcode" | ||
20 | } | ||
21 | } |
LifeLog/LifeLog/Assets.xcassets/Rank/ic_rank_2.imageset/ic_rank_2.png
8.87 KB
LifeLog/LifeLog/Assets.xcassets/Rank/ic_rank_3.imageset/Contents.json
File was created | 1 | { | |
2 | "images" : [ | ||
3 | { | ||
4 | "idiom" : "universal", | ||
5 | "scale" : "1x" | ||
6 | }, | ||
7 | { | ||
8 | "idiom" : "universal", | ||
9 | "filename" : "ic_rank_3.png", | ||
10 | "scale" : "2x" | ||
11 | }, | ||
12 | { | ||
13 | "idiom" : "universal", | ||
14 | "scale" : "3x" | ||
15 | } | ||
16 | ], | ||
17 | "info" : { | ||
18 | "version" : 1, | ||
19 | "author" : "xcode" | ||
20 | } | ||
21 | } |
LifeLog/LifeLog/Assets.xcassets/Rank/ic_rank_3.imageset/ic_rank_3.png
9.62 KB
LifeLog/LifeLog/Assets.xcassets/Tapbar/tapbar_history.imageset/Contents.json
1 | { | 1 | { |
2 | "images" : [ | 2 | "images" : [ |
3 | { | 3 | { |
4 | "idiom" : "universal", | 4 | "idiom" : "universal", |
5 | "filename" : "tapbar_history_1x.png", | 5 | "filename" : "tapbar_history_1x.png", |
6 | "scale" : "1x" | 6 | "scale" : "1x" |
7 | }, | 7 | }, |
8 | { | 8 | { |
9 | "idiom" : "universal", | 9 | "idiom" : "universal", |
10 | "filename" : "tapbar_history_2x.png", | 10 | "filename" : "tapbar_history_2x.png", |
11 | "scale" : "2x" | 11 | "scale" : "2x" |
12 | }, | 12 | }, |
13 | { | 13 | { |
14 | "idiom" : "universal", | 14 | "idiom" : "universal", |
15 | "filename" : "tapbar_history_3x.png", | 15 | "filename" : "tapbar_history_3x.png", |
16 | "scale" : "3x" | 16 | "scale" : "3x" |
17 | } | 17 | } |
18 | ], | 18 | ], |
19 | "info" : { | 19 | "info" : { |
20 | "version" : 1, | 20 | "version" : 1, |
21 | "author" : "xcode" | 21 | "author" : "xcode" |
22 | }, | ||
23 | "properties" : { | ||
24 | "template-rendering-intent" : "original" | ||
22 | } | 25 | } |
23 | } | 26 | } |
LifeLog/LifeLog/Assets.xcassets/Tapbar/tapbar_history.imageset/tapbar_history_1x.png
LifeLog/LifeLog/Assets.xcassets/Tapbar/tapbar_history.imageset/tapbar_history_2x.png
LifeLog/LifeLog/Assets.xcassets/Tapbar/tapbar_history.imageset/tapbar_history_3x.png
LifeLog/LifeLog/Assets.xcassets/Tapbar/tapbar_map.imageset/Contents.json
1 | { | 1 | { |
2 | "images" : [ | 2 | "images" : [ |
3 | { | 3 | { |
4 | "idiom" : "universal", | 4 | "idiom" : "universal", |
5 | "filename" : "tapbar_map_1x.png", | 5 | "filename" : "tapbar_map_1x.png", |
6 | "scale" : "1x" | 6 | "scale" : "1x" |
7 | }, | 7 | }, |
8 | { | 8 | { |
9 | "idiom" : "universal", | 9 | "idiom" : "universal", |
10 | "filename" : "tapbar_map_2x.png", | 10 | "filename" : "tapbar_map_2x.png", |
11 | "scale" : "2x" | 11 | "scale" : "2x" |
12 | }, | 12 | }, |
13 | { | 13 | { |
14 | "idiom" : "universal", | 14 | "idiom" : "universal", |
15 | "filename" : "tapbar_map_3x.png", | 15 | "filename" : "tapbar_map_3x.png", |
16 | "scale" : "3x" | 16 | "scale" : "3x" |
17 | } | 17 | } |
18 | ], | 18 | ], |
19 | "info" : { | 19 | "info" : { |
20 | "version" : 1, | 20 | "version" : 1, |
21 | "author" : "xcode" | 21 | "author" : "xcode" |
22 | }, | ||
23 | "properties" : { | ||
24 | "template-rendering-intent" : "original" | ||
22 | } | 25 | } |
23 | } | 26 | } |
LifeLog/LifeLog/Assets.xcassets/Tapbar/tapbar_map.imageset/tapbar_map_1x.png
LifeLog/LifeLog/Assets.xcassets/Tapbar/tapbar_map.imageset/tapbar_map_2x.png
LifeLog/LifeLog/Assets.xcassets/Tapbar/tapbar_map.imageset/tapbar_map_3x.png
LifeLog/LifeLog/Assets.xcassets/Tapbar/tapbar_ranking.imageset/Contents.json
1 | { | 1 | { |
2 | "images" : [ | 2 | "images" : [ |
3 | { | 3 | { |
4 | "idiom" : "universal", | 4 | "idiom" : "universal", |
5 | "filename" : "tapbar_ranking_1x.png", | 5 | "filename" : "tapbar_ranking_1x.png", |
6 | "scale" : "1x" | 6 | "scale" : "1x" |
7 | }, | 7 | }, |
8 | { | 8 | { |
9 | "idiom" : "universal", | 9 | "idiom" : "universal", |
10 | "filename" : "tapbar_ranking_2x.png", | 10 | "filename" : "tapbar_ranking_2x.png", |
11 | "scale" : "2x" | 11 | "scale" : "2x" |
12 | }, | 12 | }, |
13 | { | 13 | { |
14 | "idiom" : "universal", | 14 | "idiom" : "universal", |
15 | "filename" : "tapbar_ranking_3x.png", | 15 | "filename" : "tapbar_ranking_3x.png", |
16 | "scale" : "3x" | 16 | "scale" : "3x" |
17 | } | 17 | } |
18 | ], | 18 | ], |
19 | "info" : { | 19 | "info" : { |
20 | "version" : 1, | 20 | "version" : 1, |
21 | "author" : "xcode" | 21 | "author" : "xcode" |
22 | }, | ||
23 | "properties" : { | ||
24 | "template-rendering-intent" : "original" | ||
22 | } | 25 | } |
23 | } | 26 | } |
LifeLog/LifeLog/Assets.xcassets/Tapbar/tapbar_ranking.imageset/tapbar_ranking_1x.png
LifeLog/LifeLog/Assets.xcassets/Tapbar/tapbar_ranking.imageset/tapbar_ranking_2x.png
LifeLog/LifeLog/Assets.xcassets/Tapbar/tapbar_ranking.imageset/tapbar_ranking_3x.png
LifeLog/LifeLog/Assets.xcassets/Tapbar/tapbar_sns.imageset/Contents.json
1 | { | 1 | { |
2 | "images" : [ | 2 | "images" : [ |
3 | { | 3 | { |
4 | "idiom" : "universal", | 4 | "idiom" : "universal", |
5 | "filename" : "tapbar_sns_1x.png", | 5 | "filename" : "tapbar_sns_1x.png", |
6 | "scale" : "1x" | 6 | "scale" : "1x" |
7 | }, | 7 | }, |
8 | { | 8 | { |
9 | "idiom" : "universal", | 9 | "idiom" : "universal", |
10 | "filename" : "tapbar_sns_2x.png", | 10 | "filename" : "tapbar_sns_2x.png", |
11 | "scale" : "2x" | 11 | "scale" : "2x" |
12 | }, | 12 | }, |
13 | { | 13 | { |
14 | "idiom" : "universal", | 14 | "idiom" : "universal", |
15 | "filename" : "tapbar_sns_3x.png", | 15 | "filename" : "tapbar_sns_3x.png", |
16 | "scale" : "3x" | 16 | "scale" : "3x" |
17 | } | 17 | } |
18 | ], | 18 | ], |
19 | "info" : { | 19 | "info" : { |
20 | "version" : 1, | 20 | "version" : 1, |
21 | "author" : "xcode" | 21 | "author" : "xcode" |
22 | }, | ||
23 | "properties" : { | ||
24 | "template-rendering-intent" : "original" | ||
22 | } | 25 | } |
23 | } | 26 | } |
LifeLog/LifeLog/Assets.xcassets/Tapbar/tapbar_sns.imageset/tapbar_sns_1x.png
LifeLog/LifeLog/Assets.xcassets/Tapbar/tapbar_sns.imageset/tapbar_sns_2x.png
LifeLog/LifeLog/Assets.xcassets/Tapbar/tapbar_sns.imageset/tapbar_sns_3x.png
LifeLog/LifeLog/Assets.xcassets/Tapbar/tapbar_today.imageset/Contents.json
1 | { | 1 | { |
2 | "images" : [ | 2 | "images" : [ |
3 | { | 3 | { |
4 | "idiom" : "universal", | 4 | "idiom" : "universal", |
5 | "filename" : "tapbar_today_1x.png", | 5 | "filename" : "tapbar_today_1x.png", |
6 | "scale" : "1x" | 6 | "scale" : "1x" |
7 | }, | 7 | }, |
8 | { | 8 | { |
9 | "idiom" : "universal", | 9 | "idiom" : "universal", |
10 | "filename" : "tapbar_today_2x.png", | 10 | "filename" : "tapbar_today_2x.png", |
11 | "scale" : "2x" | 11 | "scale" : "2x" |
12 | }, | 12 | }, |
13 | { | 13 | { |
14 | "idiom" : "universal", | 14 | "idiom" : "universal", |
15 | "filename" : "tapbar_today_3x.png", | 15 | "filename" : "tapbar_today_3x.png", |
16 | "scale" : "3x" | 16 | "scale" : "3x" |
17 | } | 17 | } |
18 | ], | 18 | ], |
19 | "info" : { | 19 | "info" : { |
20 | "version" : 1, | 20 | "version" : 1, |
21 | "author" : "xcode" | 21 | "author" : "xcode" |
22 | }, | ||
23 | "properties" : { | ||
24 | "template-rendering-intent" : "original" | ||
22 | } | 25 | } |
23 | } | 26 | } |
LifeLog/LifeLog/Assets.xcassets/Tapbar/tapbar_today.imageset/tapbar_today_1x.png
LifeLog/LifeLog/Assets.xcassets/Tapbar/tapbar_today.imageset/tapbar_today_2x.png
LifeLog/LifeLog/Assets.xcassets/Tapbar/tapbar_today.imageset/tapbar_today_3x.png
LifeLog/LifeLog/CollectionView.h
1 | // | 1 | // |
2 | // CollectionView.h | 2 | // CollectionView.h |
3 | // LifeLog | 3 | // LifeLog |
4 | // | 4 | // |
5 | // Created by nvtu on 8/3/17. | 5 | // Created by nvtu on 8/3/17. |
6 | // Copyright © 2017 PhongNV. All rights reserved. | 6 | // Copyright © 2017 PhongNV. All rights reserved. |
7 | // | 7 | // |
8 | 8 | ||
9 | #import <UIKit/UIKit.h> | 9 | #import <UIKit/UIKit.h> |
10 | 10 | ||
11 | @interface CollectionView : UIView <UICollectionViewDelegate, UICollectionViewDataSource, UICollectionViewDelegateFlowLayout> { | 11 | @interface CollectionView : UIView <UICollectionViewDelegate, UICollectionViewDataSource, UICollectionViewDelegateFlowLayout> { |
12 | NSInteger _number; | 12 | NSInteger _number; |
13 | int _selectedIndex; | 13 | int _selectedIndex; |
14 | 14 | ||
15 | BOOL _isEnableSelection; | 15 | BOOL _isEnableSelection; |
16 | BOOL _isEnableIcon; | ||
16 | float _spacing; | 17 | float _spacing; |
17 | float _cornerRadius; | 18 | float _cornerRadius; |
18 | 19 | ||
19 | UIColor * _highlightColor; | 20 | UIColor * _highlightColor; |
20 | UIColor * _normalColor; | 21 | UIColor * _normalColor; |
21 | UIColor * _textColor; | 22 | UIColor * _textColor; |
22 | 23 | ||
23 | NSArray * _arrayTitle; | 24 | NSArray * _arrayTitle; |
24 | } | 25 | } |
25 | 26 | ||
26 | @property (copy) void (^changeCurrentIndex)(int index); | 27 | @property (copy) void (^changeCurrentIndex)(int index); |
27 | 28 | ||
28 | @property (weak, nonatomic) IBOutlet UIView *view; | 29 | @property (weak, nonatomic) IBOutlet UIView *view; |
29 | @property (weak, nonatomic) IBOutlet UICollectionView *collectionView; | 30 | @property (weak, nonatomic) IBOutlet UICollectionView *collectionView; |
30 | 31 | ||
31 | -(void) disableSelection; | 32 | -(void) disableSelection; |
32 | -(void) setButtonNumber: (NSInteger) number; | 33 | -(void) setButtonNumber: (NSInteger) number; |
33 | -(void) setSpacing: (float) spacing; | 34 | -(void) setSpacing: (float) spacing; |
34 | -(void) setCornerRadius: (float) radius; | 35 | -(void) setCornerRadius: (float) radius; |
35 | -(void) setSelectedIndex: (int) index; | 36 | -(void) setSelectedIndex: (int) index; |
36 | -(void) setNormalColor: (UIColor *) normal highlightColor: (UIColor *) highlight textColor: (UIColor *) text; | 37 | -(void) setNormalColor: (UIColor *) normal highlightColor: (UIColor *) highlight textColor: (UIColor *) text; |
37 | -(void) setArrayTitle: (NSArray *) title; | 38 | -(void) setArrayTitle: (NSArray *) title; |
38 | 39 | -(void) enableImageIcon; | |
39 | -(int) getCurrentIndex; | 40 | -(int) getCurrentIndex; |
40 | 41 | ||
41 | @end | 42 | @end |
42 | 43 |
LifeLog/LifeLog/CollectionView.m
1 | // | 1 | // |
2 | // CollectionView.m | 2 | // CollectionView.m |
3 | // LifeLog | 3 | // LifeLog |
4 | // | 4 | // |
5 | // Created by nvtu on 8/3/17. | 5 | // Created by nvtu on 8/3/17. |
6 | // Copyright © 2017 PhongNV. All rights reserved. | 6 | // Copyright © 2017 PhongNV. All rights reserved. |
7 | // | 7 | // |
8 | 8 | ||
9 | #import "CollectionView.h" | 9 | #import "CollectionView.h" |
10 | #import "LabelCollectionViewCell.h" | 10 | #import "LabelCollectionViewCell.h" |
11 | #import "Utilities.h" | 11 | #import "Utilities.h" |
12 | 12 | ||
13 | @implementation CollectionView | 13 | @implementation CollectionView |
14 | 14 | ||
15 | -(id) initWithCoder:(NSCoder *)aDecoder { | 15 | -(id) initWithCoder:(NSCoder *)aDecoder { |
16 | self = [super initWithCoder:aDecoder]; | 16 | self = [super initWithCoder:aDecoder]; |
17 | if(self) { | 17 | if(self) { |
18 | [[UINib nibWithNibName:@"CollectionView" bundle:nil] instantiateWithOwner:self options:nil]; | 18 | [[UINib nibWithNibName:@"CollectionView" bundle:nil] instantiateWithOwner:self options:nil]; |
19 | [self addSubview:self.view]; | 19 | [self addSubview:self.view]; |
20 | self.view.frame = self.bounds; | 20 | self.view.frame = self.bounds; |
21 | _number = 0; | 21 | _number = 0; |
22 | _spacing = 1; | 22 | _spacing = 1; |
23 | _cornerRadius = 5.0; | 23 | _cornerRadius = 5.0; |
24 | _highlightColor = [Utilities convertHecToColor:0x999999]; | 24 | _highlightColor = [Utilities convertHecToColor:0x999999]; |
25 | _normalColor = [UIColor whiteColor]; | 25 | _normalColor = [UIColor whiteColor]; |
26 | _textColor = [UIColor blackColor]; | 26 | _textColor = [UIColor blackColor]; |
27 | _isEnableSelection = true; | 27 | _isEnableSelection = true; |
28 | _selectedIndex = 0; | 28 | _selectedIndex = 0; |
29 | _isEnableIcon = false; | ||
29 | } | 30 | } |
30 | return self; | 31 | return self; |
31 | } | 32 | } |
32 | 33 | ||
33 | -(void) awakeFromNib { | 34 | -(void) awakeFromNib { |
34 | [super awakeFromNib]; | 35 | [super awakeFromNib]; |
35 | [self.collectionView registerNib:[UINib nibWithNibName:@"LabelCollectionViewCell" bundle:nil] forCellWithReuseIdentifier:@"LabelCell"]; | 36 | [self.collectionView registerNib:[UINib nibWithNibName:@"LabelCollectionViewCell" bundle:nil] forCellWithReuseIdentifier:@"LabelCell"]; |
36 | } | 37 | } |
37 | 38 | ||
38 | 39 | ||
39 | -(void) disableSelection { | 40 | -(void) disableSelection { |
40 | _isEnableSelection = false; | 41 | _isEnableSelection = false; |
41 | _selectedIndex = -1; | 42 | _selectedIndex = -1; |
42 | [self.collectionView reloadData]; | 43 | [self.collectionView reloadData]; |
43 | } | 44 | } |
44 | 45 | ||
45 | -(void) setButtonNumber: (NSInteger) number { | 46 | -(void) setButtonNumber: (NSInteger) number { |
46 | _number = number; | 47 | _number = number; |
47 | } | 48 | } |
48 | 49 | ||
49 | -(void) setSpacing: (float) spacing { | 50 | -(void) setSpacing: (float) spacing { |
50 | _spacing = spacing; | 51 | _spacing = spacing; |
51 | } | 52 | } |
52 | 53 | ||
53 | -(void) setCornerRadius: (float) radius { | 54 | -(void) setCornerRadius: (float) radius { |
54 | _cornerRadius = radius; | 55 | _cornerRadius = radius; |
55 | } | 56 | } |
56 | 57 | ||
57 | -(void) setSelectedIndex: (int) index { | 58 | -(void) setSelectedIndex: (int) index { |
58 | _selectedIndex = index; | 59 | _selectedIndex = index; |
59 | [_collectionView reloadData]; | 60 | [_collectionView reloadData]; |
60 | } | 61 | } |
61 | 62 | ||
62 | -(void) setNormalColor: (UIColor *) normal highlightColor: (UIColor *) highlight textColor: (UIColor *) text { | 63 | -(void) setNormalColor: (UIColor *) normal highlightColor: (UIColor *) highlight textColor: (UIColor *) text { |
63 | _normalColor = normal; | 64 | _normalColor = normal; |
64 | _highlightColor = highlight; | 65 | _highlightColor = highlight; |
65 | _textColor = text; | 66 | _textColor = text; |
66 | } | 67 | } |
67 | 68 | ||
68 | -(void) setArrayTitle: (NSArray *) title { | 69 | -(void) setArrayTitle: (NSArray *) title { |
69 | _arrayTitle = title; | 70 | _arrayTitle = title; |
70 | } | 71 | } |
71 | 72 | ||
72 | -(int) getCurrentIndex { | 73 | -(int) getCurrentIndex { |
73 | return _selectedIndex; | 74 | return _selectedIndex; |
74 | } | 75 | } |
75 | 76 | ||
77 | -(void) enableImageIcon { | ||
78 | _isEnableIcon = true; | ||
79 | } | ||
80 | |||
76 | #pragma mark - UICollectionView Delegate | 81 | #pragma mark - UICollectionView Delegate |
77 | - (NSInteger) numberOfSectionsInCollectionView:(UICollectionView *)collectionView { | 82 | - (NSInteger) numberOfSectionsInCollectionView:(UICollectionView *)collectionView { |
78 | return 1; | 83 | return 1; |
79 | } | 84 | } |
80 | 85 | ||
81 | - (NSInteger) collectionView:(UICollectionView *)collectionView numberOfItemsInSection:(NSInteger)section { | 86 | - (NSInteger) collectionView:(UICollectionView *)collectionView numberOfItemsInSection:(NSInteger)section { |
82 | return _number; | 87 | return _number; |
83 | } | 88 | } |
84 | 89 | ||
85 | - (UICollectionViewCell *)collectionView:(UICollectionView *)collectionView cellForItemAtIndexPath:(NSIndexPath *)indexPath { | 90 | - (UICollectionViewCell *)collectionView:(UICollectionView *)collectionView cellForItemAtIndexPath:(NSIndexPath *)indexPath { |
86 | LabelCollectionViewCell * cell = [collectionView dequeueReusableCellWithReuseIdentifier:@"LabelCell" forIndexPath:indexPath]; | 91 | LabelCollectionViewCell * cell = [collectionView dequeueReusableCellWithReuseIdentifier:@"LabelCell" forIndexPath:indexPath]; |
87 | cell.lblTitle.text = [_arrayTitle objectAtIndex:indexPath.row]; | 92 | cell.imgIcon.hidden = !_isEnableIcon; |
88 | cell.lblTitle.textColor = _textColor; | 93 | cell.lblTitle.hidden = _isEnableIcon; |
89 | cell.lblTitle.layer.cornerRadius = _cornerRadius; | 94 | if(_isEnableIcon) { |
90 | cell.lblTitle.backgroundColor = (indexPath.row == _selectedIndex) ? _highlightColor : _normalColor; | 95 | cell.imgIcon.image = [UIImage imageNamed:[_arrayTitle objectAtIndex:indexPath.row]]; |
96 | } else { | ||
97 | cell.lblTitle.text = [_arrayTitle objectAtIndex:indexPath.row]; | ||
98 | cell.lblTitle.textColor = _textColor; | ||
99 | cell.lblTitle.layer.cornerRadius = _cornerRadius; | ||
100 | cell.lblTitle.backgroundColor = (indexPath.row == _selectedIndex) ? _highlightColor : _normalColor; | ||
101 | } | ||
91 | return cell; | 102 | return cell; |
92 | } | 103 | } |
93 | 104 | ||
94 | - (CGSize) collectionView:(UICollectionView *)collectionView layout:(UICollectionViewLayout *)collectionViewLayout sizeForItemAtIndexPath:(NSIndexPath *)indexPath { | 105 | - (CGSize) collectionView:(UICollectionView *)collectionView layout:(UICollectionViewLayout *)collectionViewLayout sizeForItemAtIndexPath:(NSIndexPath *)indexPath { |
95 | return CGSizeMake((collectionView.frame.size.width - (_spacing * _number)) / _number, collectionView.frame.size.height); | 106 | return CGSizeMake((collectionView.frame.size.width - (_spacing * _number)) / _number, collectionView.frame.size.height); |
96 | } | 107 | } |
97 | 108 | ||
98 | - (CGFloat)collectionView:(UICollectionView *)collectionView layout:(UICollectionViewLayout*)collectionViewLayout minimumLineSpacingForSectionAtIndex:(NSInteger)section { | 109 | - (CGFloat)collectionView:(UICollectionView *)collectionView layout:(UICollectionViewLayout*)collectionViewLayout minimumLineSpacingForSectionAtIndex:(NSInteger)section { |
99 | return _spacing; | 110 | return _spacing; |
100 | } | 111 | } |
101 | 112 | ||
102 | -(void) collectionView:(UICollectionView *)collectionView didSelectItemAtIndexPath:(NSIndexPath *)indexPath { | 113 | -(void) collectionView:(UICollectionView *)collectionView didSelectItemAtIndexPath:(NSIndexPath *)indexPath { |
103 | if(_isEnableSelection) { | 114 | if(_isEnableSelection) { |
104 | _selectedIndex = indexPath.row; | 115 | _selectedIndex = indexPath.row; |
105 | [collectionView reloadData]; | 116 | [collectionView reloadData]; |
106 | } | 117 | } |
107 | if(self.changeCurrentIndex != NULL) { | 118 | if(self.changeCurrentIndex != NULL) { |
108 | self.changeCurrentIndex(_selectedIndex); | 119 | self.changeCurrentIndex(_selectedIndex); |
109 | } | 120 | } |
110 | } | 121 | } |
111 | @end | 122 | @end |
112 | 123 |
LifeLog/LifeLog/CreateGroupViewController.h
1 | // | 1 | // |
2 | // CreateGroupViewController.h | 2 | // CreateGroupViewController.h |
3 | // LifeLog | 3 | // LifeLog |
4 | // | 4 | // |
5 | // Created by nvtu on 8/19/17. | 5 | // Created by nvtu on 8/19/17. |
6 | // Copyright © 2017 PhongNV. All rights reserved. | 6 | // Copyright © 2017 PhongNV. All rights reserved. |
7 | // | 7 | // |
8 | 8 | ||
9 | #import <UIKit/UIKit.h> | 9 | #import <UIKit/UIKit.h> |
10 | #import "BaseViewController.h" | 10 | #import "BaseViewController.h" |
11 | #import "AutoTransButton.h" | 11 | #import "AutoTransButton.h" |
12 | #import "Utilities.h" | 12 | #import "Utilities.h" |
13 | #import "Entities.h" | 13 | #import "Entities.h" |
14 | 14 | ||
15 | @interface CreateGroupViewController : BaseViewController<UITextFieldDelegate, UITextViewDelegate> | 15 | @interface CreateGroupViewController : BaseViewController<UITextFieldDelegate, UITextViewDelegate> |
16 | 16 | ||
17 | @property (weak, nonatomic) IBOutlet UIView *viewHeader; | ||
17 | @property (weak, nonatomic) IBOutlet UITextField *textName; | 18 | @property (weak, nonatomic) IBOutlet UITextField *textName; |
18 | @property (weak, nonatomic) IBOutlet UITextField *textGoalWalk; | 19 | @property (weak, nonatomic) IBOutlet UITextField *textGoalWalk; |
19 | @property (weak, nonatomic) IBOutlet UITextField *textGoalRun; | 20 | @property (weak, nonatomic) IBOutlet UITextField *textGoalRun; |
20 | @property (weak, nonatomic) IBOutlet UITextField *textGoalBike; | 21 | @property (weak, nonatomic) IBOutlet UITextField *textGoalBike; |
21 | 22 | ||
22 | @property (weak, nonatomic) IBOutlet UITextView *textGoal; | 23 | @property (weak, nonatomic) IBOutlet UITextView *textGoal; |
23 | 24 | ||
24 | @property (weak, nonatomic) IBOutlet UISwitch *switchWalk; | 25 | @property (weak, nonatomic) IBOutlet UISwitch *switchWalk; |
25 | @property (weak, nonatomic) IBOutlet UISwitch *switchBike; | 26 | @property (weak, nonatomic) IBOutlet UISwitch *switchBike; |
26 | @property (weak, nonatomic) IBOutlet UISwitch *switchRun; | 27 | @property (weak, nonatomic) IBOutlet UISwitch *switchRun; |
27 | @property (weak, nonatomic) IBOutlet UISwitch *switchStep; | 28 | @property (weak, nonatomic) IBOutlet UISwitch *switchStep; |
28 | @property (weak, nonatomic) IBOutlet UISwitch *switchGym; | 29 | @property (weak, nonatomic) IBOutlet UISwitch *switchGym; |
29 | @property (weak, nonatomic) IBOutlet UISwitch *switchBegin; | 30 | @property (weak, nonatomic) IBOutlet UISwitch *switchBegin; |
30 | 31 | ||
31 | @property (copy) void (^createGroupSuccess)(GroupObject * group); | 32 | @property (copy) void (^createGroupSuccess)(GroupObject * group); |
32 | 33 | ||
33 | - (IBAction)clickBack:(UIButton *)sender; | 34 | - (IBAction)clickBack:(UIButton *)sender; |
34 | - (IBAction)clickCreateGroup:(AutoTransButton *)sender; | 35 | - (IBAction)clickCreateGroup:(AutoTransButton *)sender; |
35 | 36 | ||
36 | @end | 37 | @end |
37 | 38 |
LifeLog/LifeLog/CreateGroupViewController.m
1 | // | 1 | // |
2 | // CreateGroupViewController.m | 2 | // CreateGroupViewController.m |
3 | // LifeLog | 3 | // LifeLog |
4 | // | 4 | // |
5 | // Created by nvtu on 8/19/17. | 5 | // Created by nvtu on 8/19/17. |
6 | // Copyright © 2017 PhongNV. All rights reserved. | 6 | // Copyright © 2017 PhongNV. All rights reserved. |
7 | // | 7 | // |
8 | 8 | ||
9 | #import "CreateGroupViewController.h" | 9 | #import "CreateGroupViewController.h" |
10 | #import "ServerAPI.h" | 10 | #import "ServerAPI.h" |
11 | 11 | ||
12 | @interface CreateGroupViewController () | 12 | @interface CreateGroupViewController () |
13 | 13 | ||
14 | @end | 14 | @end |
15 | 15 | ||
16 | @implementation CreateGroupViewController | 16 | @implementation CreateGroupViewController |
17 | 17 | ||
18 | - (void)viewDidLoad { | 18 | - (void)viewDidLoad { |
19 | [super viewDidLoad]; | 19 | [super viewDidLoad]; |
20 | [self.view addConstraint:[NSLayoutConstraint constraintWithItem:self.topLayoutGuide attribute:NSLayoutAttributeBottom relatedBy:NSLayoutRelationEqual toItem:self.viewHeader attribute:NSLayoutAttributeTop multiplier:1 constant:0]]; | ||
20 | // Do any additional setup after loading the view from its nib. | 21 | // Do any additional setup after loading the view from its nib. |
21 | } | 22 | } |
22 | 23 | ||
23 | - (void)didReceiveMemoryWarning { | 24 | - (void)didReceiveMemoryWarning { |
24 | [super didReceiveMemoryWarning]; | 25 | [super didReceiveMemoryWarning]; |
25 | // Dispose of any resources that can be recreated. | 26 | // Dispose of any resources that can be recreated. |
26 | } | 27 | } |
27 | 28 | ||
28 | #pragma mark IBAction | 29 | #pragma mark IBAction |
29 | 30 | ||
30 | - (IBAction)clickBack:(UIButton *)sender { | 31 | - (IBAction)clickBack:(UIButton *)sender { |
31 | [self.navigationController popViewControllerAnimated:true]; | 32 | [self.navigationController popViewControllerAnimated:true]; |
32 | } | 33 | } |
33 | 34 | ||
34 | - (IBAction)clickCreateGroup:(AutoTransButton *)sender { | 35 | - (IBAction)clickCreateGroup:(AutoTransButton *)sender { |
35 | NSString *name = self.textName.text; | 36 | NSString *name = self.textName.text; |
36 | NSString *goal = self.textGoal.text; | 37 | NSString *goal = self.textGoal.text; |
37 | if(name.length == 0) { | 38 | if(name.length == 0) { |
38 | [Utilities showErrorMessage:@"Fill name of group!" withViewController:self]; | 39 | [Utilities showErrorMessage:@"Fill name of group!" withViewController:self]; |
39 | return; | 40 | return; |
40 | } | 41 | } |
41 | else if(name.length >= 255) { | 42 | else if(name.length >= 255) { |
42 | [Utilities showErrorMessage:@"Name of group is too long!" withViewController:self]; | 43 | [Utilities showErrorMessage:@"Name of group is too long!" withViewController:self]; |
43 | return; | 44 | return; |
44 | } | 45 | } |
45 | else if(goal.length == 0) { | 46 | else if(goal.length == 0) { |
46 | [Utilities showErrorMessage:@"Fill information for goal of group" withViewController:self]; | 47 | [Utilities showErrorMessage:@"Fill information for goal of group" withViewController:self]; |
47 | return; | 48 | return; |
48 | } | 49 | } |
49 | if(self.switchWalk.on && [self.textGoalWalk.text intValue] == 0) { | 50 | if(self.switchWalk.on && [self.textGoalWalk.text intValue] == 0) { |
50 | [Utilities showErrorMessage:@"Add goal for walk mode" withViewController:self]; | 51 | [Utilities showErrorMessage:@"Add goal for walk mode" withViewController:self]; |
51 | return; | 52 | return; |
52 | } | 53 | } |
53 | if(self.switchBike.on && [self.textGoalBike.text intValue] == 0) { | 54 | if(self.switchBike.on && [self.textGoalBike.text intValue] == 0) { |
54 | [Utilities showErrorMessage:@"Add goal for bike mode" withViewController:self]; | 55 | [Utilities showErrorMessage:@"Add goal for bike mode" withViewController:self]; |
55 | return; | 56 | return; |
56 | } | 57 | } |
57 | if(self.switchRun.on && [self.textGoalRun.text intValue] == 0) { | 58 | if(self.switchRun.on && [self.textGoalRun.text intValue] == 0) { |
58 | [Utilities showErrorMessage:@"Add goal for run mode" withViewController:self]; | 59 | [Utilities showErrorMessage:@"Add goal for run mode" withViewController:self]; |
59 | return; | 60 | return; |
60 | } | 61 | } |
61 | GroupObject *object = [[GroupObject alloc] init]; | 62 | GroupObject *object = [[GroupObject alloc] init]; |
62 | object.name = name; | 63 | object.name = name; |
63 | object.goal = goal; | 64 | object.goal = goal; |
64 | object.walkMode = self.switchWalk.on; | 65 | object.walkMode = self.switchWalk.on; |
65 | object.runMode = self.switchRun.on; | 66 | object.runMode = self.switchRun.on; |
66 | object.bikeMode = self.switchBike.on; | 67 | object.bikeMode = self.switchBike.on; |
67 | object.stepMode = self.switchStep.on; | 68 | object.stepMode = self.switchStep.on; |
68 | object.gymMode = self.switchGym.on; | 69 | object.gymMode = self.switchGym.on; |
69 | object.beginMode = self.switchBegin.on; | 70 | object.beginMode = self.switchBegin.on; |
70 | object.walkGoal = [self.textGoalWalk.text intValue]; | 71 | object.walkGoal = [self.textGoalWalk.text intValue]; |
71 | object.bikeGoal = [self.textGoalBike.text intValue]; | 72 | object.bikeGoal = [self.textGoalBike.text intValue]; |
72 | object.runGoal = [self.textGoalRun.text intValue]; | 73 | object.runGoal = [self.textGoalRun.text intValue]; |
73 | 74 | ||
74 | NSLog(@"%@", object.name); | 75 | NSLog(@"%@", object.name); |
75 | NSLog(@"%@", object.goal); | 76 | NSLog(@"%@", object.goal); |
76 | NSLog(@"%d", object.walkGoal); | 77 | NSLog(@"%d", object.walkGoal); |
77 | NSLog(@"%d", object.bikeGoal); | 78 | NSLog(@"%d", object.bikeGoal); |
78 | NSLog(@"%d", object.runGoal); | 79 | NSLog(@"%d", object.runGoal); |
79 | NSLog(@"%d", object.walkMode); | 80 | NSLog(@"%d", object.walkMode); |
80 | NSLog(@"%d", object.runMode); | 81 | NSLog(@"%d", object.runMode); |
81 | NSLog(@"%d", object.bikeMode); | 82 | NSLog(@"%d", object.bikeMode); |
82 | NSLog(@"%d", object.stepMode); | 83 | NSLog(@"%d", object.stepMode); |
83 | NSLog(@"%d", object.gymMode); | 84 | NSLog(@"%d", object.gymMode); |
84 | NSLog(@"%d", object.beginMode); | 85 | NSLog(@"%d", object.beginMode); |
85 | 86 | ||
86 | NSString * token = [[NSUserDefaults standardUserDefaults] stringForKey:kToken]; | 87 | NSString * token = [[NSUserDefaults standardUserDefaults] stringForKey:kToken]; |
87 | MBProgressHUD *hudView = [MBProgressHUD showHUDAddedTo:self.view animated:true]; | 88 | MBProgressHUD *hudView = [MBProgressHUD showHUDAddedTo:self.view animated:true]; |
88 | [[ServerAPI server] requestCreateGroup:token withGroup:object CompletionHandler:^(GroupObject * group, NSError * error) { | 89 | [[ServerAPI server] requestCreateGroup:token withGroup:object CompletionHandler:^(GroupObject * group, NSError * error) { |
89 | CreateGroupViewController __weak *weakSelf = self; | 90 | CreateGroupViewController __weak *weakSelf = self; |
90 | if(error == nil) { | 91 | if(error == nil) { |
91 | dispatch_async(dispatch_get_main_queue(), ^{ | 92 | dispatch_async(dispatch_get_main_queue(), ^{ |
92 | if(weakSelf.createGroupSuccess != nil) { | 93 | if(weakSelf.createGroupSuccess != nil) { |
93 | [hudView hideAnimated:true]; | 94 | [hudView hideAnimated:true]; |
94 | [weakSelf clickBack:nil]; | 95 | [weakSelf clickBack:nil]; |
95 | weakSelf.createGroupSuccess(object); | 96 | weakSelf.createGroupSuccess(object); |
96 | } | 97 | } |
97 | }); | 98 | }); |
98 | } | 99 | } |
99 | else { | 100 | else { |
100 | dispatch_async(dispatch_get_main_queue(), ^{ | 101 | dispatch_async(dispatch_get_main_queue(), ^{ |
101 | [hudView hideAnimated:true]; | 102 | [hudView hideAnimated:true]; |
102 | NSString *message = [error.userInfo objectForKey:@"message"]; | 103 | NSString *message = [error.userInfo objectForKey:@"message"]; |
103 | [Utilities showErrorMessage:message withViewController:weakSelf]; | 104 | [Utilities showErrorMessage:message withViewController:weakSelf]; |
104 | }); | 105 | }); |
105 | } | 106 | } |
106 | }]; | 107 | }]; |
107 | } | 108 | } |
108 | 109 | ||
109 | #pragma mark UITextView Delegate | 110 | #pragma mark UITextView Delegate |
110 | 111 | ||
111 | -(BOOL) textFieldShouldReturn:(UITextField *)textField { | 112 | -(BOOL) textFieldShouldReturn:(UITextField *)textField { |
112 | [self.view endEditing:true]; | 113 | [self.view endEditing:true]; |
113 | return true; | 114 | return true; |
114 | } | 115 | } |
115 | 116 | ||
116 | @end | 117 | @end |
117 | 118 |
LifeLog/LifeLog/CreateGroupViewController.xib
1 | <?xml version="1.0" encoding="UTF-8"?> | 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="13529" targetRuntime="iOS.CocoaTouch" propertyAccessControl="none" useAutolayout="YES" useTraitCollections="YES" colorMatched="YES"> |
3 | <device id="retina4_7" orientation="portrait"> | 3 | <device id="retina4_7" orientation="portrait"> |
4 | <adaptation id="fullscreen"/> | 4 | <adaptation id="fullscreen"/> |
5 | </device> | 5 | </device> |
6 | <dependencies> | 6 | <dependencies> |
7 | <plugIn identifier="com.apple.InterfaceBuilder.IBCocoaTouchPlugin" version="12086"/> | 7 | <deployment identifier="iOS"/> |
8 | <plugIn identifier="com.apple.InterfaceBuilder.IBCocoaTouchPlugin" version="13527"/> | ||
8 | <capability name="Aspect ratio constraints" minToolsVersion="5.1"/> | 9 | <capability name="Aspect ratio constraints" minToolsVersion="5.1"/> |
9 | <capability name="documents saved in the Xcode 8 format" minToolsVersion="8.0"/> | 10 | <capability name="documents saved in the Xcode 8 format" minToolsVersion="8.0"/> |
10 | </dependencies> | 11 | </dependencies> |
11 | <objects> | 12 | <objects> |
12 | <placeholder placeholderIdentifier="IBFilesOwner" id="-1" userLabel="File's Owner" customClass="CreateGroupViewController"> | 13 | <placeholder placeholderIdentifier="IBFilesOwner" id="-1" userLabel="File's Owner" customClass="CreateGroupViewController"> |
13 | <connections> | 14 | <connections> |
14 | <outlet property="switchBegin" destination="e63-8i-6aa" id="bbT-m6-3CV"/> | 15 | <outlet property="switchBegin" destination="e63-8i-6aa" id="bbT-m6-3CV"/> |
15 | <outlet property="switchBike" destination="fGW-Vw-PwQ" id="ncx-kP-qdd"/> | 16 | <outlet property="switchBike" destination="fGW-Vw-PwQ" id="ncx-kP-qdd"/> |
16 | <outlet property="switchGym" destination="Yga-UQ-xoU" id="rIN-kO-wmO"/> | 17 | <outlet property="switchGym" destination="Yga-UQ-xoU" id="rIN-kO-wmO"/> |
17 | <outlet property="switchRun" destination="2gX-B2-tkR" id="yak-gV-Cas"/> | 18 | <outlet property="switchRun" destination="2gX-B2-tkR" id="yak-gV-Cas"/> |
18 | <outlet property="switchStep" destination="RoR-w7-dNT" id="19b-K3-qAu"/> | 19 | <outlet property="switchStep" destination="RoR-w7-dNT" id="19b-K3-qAu"/> |
19 | <outlet property="switchWalk" destination="3xD-aH-JHl" id="OZ9-l7-Rww"/> | 20 | <outlet property="switchWalk" destination="3xD-aH-JHl" id="OZ9-l7-Rww"/> |
20 | <outlet property="textGoal" destination="hWb-vU-yVd" id="dp0-yK-P60"/> | 21 | <outlet property="textGoal" destination="hWb-vU-yVd" id="dp0-yK-P60"/> |
21 | <outlet property="textGoalBike" destination="eOi-eo-GYn" id="qfW-ns-tsM"/> | 22 | <outlet property="textGoalBike" destination="eOi-eo-GYn" id="qfW-ns-tsM"/> |
22 | <outlet property="textGoalRun" destination="3aE-uP-KLS" id="WAE-tl-O94"/> | 23 | <outlet property="textGoalRun" destination="3aE-uP-KLS" id="WAE-tl-O94"/> |
23 | <outlet property="textGoalWalk" destination="4JZ-J2-3D9" id="yHV-mB-rcn"/> | 24 | <outlet property="textGoalWalk" destination="4JZ-J2-3D9" id="yHV-mB-rcn"/> |
24 | <outlet property="textName" destination="pXO-K0-vne" id="ePQ-35-RLr"/> | 25 | <outlet property="textName" destination="pXO-K0-vne" id="ePQ-35-RLr"/> |
25 | <outlet property="view" destination="i5M-Pr-FkT" id="sfx-zR-JGt"/> | 26 | <outlet property="view" destination="i5M-Pr-FkT" id="sfx-zR-JGt"/> |
27 | <outlet property="viewHeader" destination="QYv-QM-Bkk" id="LYm-el-WYU"/> | ||
26 | </connections> | 28 | </connections> |
27 | </placeholder> | 29 | </placeholder> |
28 | <placeholder placeholderIdentifier="IBFirstResponder" id="-2" customClass="UIResponder"/> | 30 | <placeholder placeholderIdentifier="IBFirstResponder" id="-2" customClass="UIResponder"/> |
29 | <view clearsContextBeforeDrawing="NO" contentMode="scaleToFill" id="i5M-Pr-FkT"> | 31 | <view clearsContextBeforeDrawing="NO" contentMode="scaleToFill" id="i5M-Pr-FkT"> |
30 | <rect key="frame" x="0.0" y="0.0" width="320" height="626"/> | 32 | <rect key="frame" x="0.0" y="0.0" width="320" height="626"/> |
31 | <autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/> | 33 | <autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/> |
32 | <subviews> | 34 | <subviews> |
33 | <scrollView multipleTouchEnabled="YES" contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="aKu-bd-xMP" customClass="TPKeyboardAvoidingScrollView"> | 35 | <scrollView multipleTouchEnabled="YES" contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="aKu-bd-xMP" customClass="TPKeyboardAvoidingScrollView"> |
34 | <rect key="frame" x="0.0" y="46" width="320" height="580"/> | 36 | <rect key="frame" x="0.0" y="46" width="320" height="580"/> |
35 | <subviews> | 37 | <subviews> |
36 | <view contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="9w1-87-U1W"> | 38 | <view contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="9w1-87-U1W"> |
37 | <rect key="frame" x="0.0" y="0.0" width="320" height="580"/> | 39 | <rect key="frame" x="0.0" y="0.0" width="320" height="580"/> |
38 | <subviews> | 40 | <subviews> |
39 | <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="名称" textAlignment="natural" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="ZtU-mt-3Ov" customClass="AutoTransLabel"> | 41 | <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="名称" textAlignment="natural" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="ZtU-mt-3Ov" customClass="AutoTransLabel"> |
40 | <rect key="frame" x="8" y="10" width="70" height="30"/> | 42 | <rect key="frame" x="8" y="10" width="70" height="30"/> |
41 | <constraints> | 43 | <constraints> |
42 | <constraint firstAttribute="width" constant="70" id="Zvx-V3-7AW"/> | 44 | <constraint firstAttribute="width" constant="70" id="Zvx-V3-7AW"/> |
43 | <constraint firstAttribute="height" constant="30" id="nok-hA-mW9"/> | 45 | <constraint firstAttribute="height" constant="30" id="nok-hA-mW9"/> |
44 | </constraints> | 46 | </constraints> |
45 | <fontDescription key="fontDescription" type="system" weight="medium" pointSize="17"/> | 47 | <fontDescription key="fontDescription" type="system" weight="medium" pointSize="17"/> |
46 | <color key="textColor" white="1" alpha="1" colorSpace="calibratedWhite"/> | 48 | <color key="textColor" white="1" alpha="1" colorSpace="calibratedWhite"/> |
47 | <nil key="highlightedColor"/> | 49 | <nil key="highlightedColor"/> |
48 | <userDefinedRuntimeAttributes> | 50 | <userDefinedRuntimeAttributes> |
49 | <userDefinedRuntimeAttribute type="string" keyPath="localizeKey" value="lifelog.createGr.lbl.name"/> | 51 | <userDefinedRuntimeAttribute type="string" keyPath="localizeKey" value="lifelog.createGr.lbl.name"/> |
50 | </userDefinedRuntimeAttributes> | 52 | </userDefinedRuntimeAttributes> |
51 | </label> | 53 | </label> |
52 | <textField opaque="NO" clipsSubviews="YES" contentMode="scaleToFill" contentHorizontalAlignment="left" contentVerticalAlignment="center" borderStyle="roundedRect" textAlignment="natural" minimumFontSize="17" translatesAutoresizingMaskIntoConstraints="NO" id="pXO-K0-vne"> | 54 | <textField opaque="NO" clipsSubviews="YES" contentMode="scaleToFill" contentHorizontalAlignment="left" contentVerticalAlignment="center" borderStyle="roundedRect" textAlignment="natural" minimumFontSize="17" translatesAutoresizingMaskIntoConstraints="NO" id="pXO-K0-vne"> |
53 | <rect key="frame" x="88" y="10" width="222" height="30"/> | 55 | <rect key="frame" x="88" y="10" width="222" height="30"/> |
54 | <constraints> | 56 | <constraints> |
55 | <constraint firstAttribute="height" constant="30" id="YJe-TW-hvA"/> | 57 | <constraint firstAttribute="height" constant="30" id="YJe-TW-hvA"/> |
56 | </constraints> | 58 | </constraints> |
57 | <nil key="textColor"/> | 59 | <nil key="textColor"/> |
58 | <fontDescription key="fontDescription" type="system" pointSize="14"/> | 60 | <fontDescription key="fontDescription" type="system" pointSize="14"/> |
59 | <textInputTraits key="textInputTraits"/> | 61 | <textInputTraits key="textInputTraits"/> |
60 | <connections> | 62 | <connections> |
61 | <outlet property="delegate" destination="-1" id="3NL-Ya-JuM"/> | 63 | <outlet property="delegate" destination="-1" id="3NL-Ya-JuM"/> |
62 | </connections> | 64 | </connections> |
63 | </textField> | 65 | </textField> |
64 | <view contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="ONn-27-HqB"> | 66 | <view contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="ONn-27-HqB"> |
65 | <rect key="frame" x="10" y="50" width="140" height="120"/> | 67 | <rect key="frame" x="10" y="50" width="140" height="120"/> |
66 | <subviews> | 68 | <subviews> |
67 | <view contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="S2z-DI-pIE"> | 69 | <view contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="S2z-DI-pIE"> |
68 | <rect key="frame" x="0.0" y="0.0" width="140" height="40"/> | 70 | <rect key="frame" x="0.0" y="0.0" width="140" height="40"/> |
69 | <subviews> | 71 | <subviews> |
70 | <switch opaque="NO" contentMode="scaleToFill" horizontalHuggingPriority="750" verticalHuggingPriority="750" contentHorizontalAlignment="center" contentVerticalAlignment="center" on="YES" translatesAutoresizingMaskIntoConstraints="NO" id="3xD-aH-JHl"> | 72 | <switch opaque="NO" contentMode="scaleToFill" horizontalHuggingPriority="750" verticalHuggingPriority="750" contentHorizontalAlignment="center" contentVerticalAlignment="center" on="YES" translatesAutoresizingMaskIntoConstraints="NO" id="3xD-aH-JHl"> |
71 | <rect key="frame" x="85" y="4" width="51" height="31"/> | 73 | <rect key="frame" x="85" y="4" width="51" height="31"/> |
72 | <constraints> | 74 | <constraints> |
73 | <constraint firstAttribute="width" secondItem="3xD-aH-JHl" secondAttribute="height" multiplier="49:31" id="7LJ-H5-oQR"/> | 75 | <constraint firstAttribute="width" secondItem="3xD-aH-JHl" secondAttribute="height" multiplier="49:31" id="7LJ-H5-oQR"/> |
74 | </constraints> | 76 | </constraints> |
75 | <color key="onTintColor" red="0.0" green="0.47843137250000001" blue="1" alpha="1" colorSpace="custom" customColorSpace="sRGB"/> | 77 | <color key="onTintColor" red="0.0" green="0.47843137250000001" blue="1" alpha="1" colorSpace="custom" customColorSpace="sRGB"/> |
76 | </switch> | 78 | </switch> |
77 | <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="WALK" textAlignment="natural" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="yFv-kp-ag8" customClass="AutoTransLabel"> | 79 | <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="WALK" textAlignment="natural" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="yFv-kp-ag8" customClass="AutoTransLabel"> |
78 | <rect key="frame" x="6" y="10.5" width="47.5" height="20.5"/> | 80 | <rect key="frame" x="6" y="10.5" width="47.5" height="20.5"/> |
79 | <fontDescription key="fontDescription" type="system" weight="medium" pointSize="17"/> | 81 | <fontDescription key="fontDescription" type="system" weight="medium" pointSize="17"/> |
80 | <color key="textColor" white="1" alpha="1" colorSpace="calibratedWhite"/> | 82 | <color key="textColor" white="1" alpha="1" colorSpace="calibratedWhite"/> |
81 | <nil key="highlightedColor"/> | 83 | <nil key="highlightedColor"/> |
82 | <userDefinedRuntimeAttributes> | 84 | <userDefinedRuntimeAttributes> |
83 | <userDefinedRuntimeAttribute type="string" keyPath="localizeKey" value="lifelog.createGr.lbl.walk"/> | 85 | <userDefinedRuntimeAttribute type="string" keyPath="localizeKey" value="lifelog.createGr.lbl.walk"/> |
84 | </userDefinedRuntimeAttributes> | 86 | </userDefinedRuntimeAttributes> |
85 | </label> | 87 | </label> |
86 | </subviews> | 88 | </subviews> |
87 | <color key="backgroundColor" white="0.0" alpha="0.0" colorSpace="calibratedWhite"/> | 89 | <color key="backgroundColor" white="0.0" alpha="0.0" colorSpace="calibratedWhite"/> |
88 | <constraints> | 90 | <constraints> |
89 | <constraint firstAttribute="trailing" secondItem="3xD-aH-JHl" secondAttribute="trailing" constant="6" id="KNe-Rx-lun"/> | 91 | <constraint firstAttribute="trailing" secondItem="3xD-aH-JHl" secondAttribute="trailing" constant="6" id="KNe-Rx-lun"/> |
90 | <constraint firstAttribute="height" constant="40" id="akz-T7-d2v"/> | 92 | <constraint firstAttribute="height" constant="40" id="akz-T7-d2v"/> |
91 | <constraint firstItem="3xD-aH-JHl" firstAttribute="centerY" secondItem="S2z-DI-pIE" secondAttribute="centerY" id="oRy-OM-Om1"/> | 93 | <constraint firstItem="3xD-aH-JHl" firstAttribute="centerY" secondItem="S2z-DI-pIE" secondAttribute="centerY" id="oRy-OM-Om1"/> |
92 | <constraint firstItem="yFv-kp-ag8" firstAttribute="leading" secondItem="S2z-DI-pIE" secondAttribute="leading" constant="6" id="prt-UF-Ori"/> | 94 | <constraint firstItem="yFv-kp-ag8" firstAttribute="leading" secondItem="S2z-DI-pIE" secondAttribute="leading" constant="6" id="prt-UF-Ori"/> |
93 | <constraint firstItem="yFv-kp-ag8" firstAttribute="centerY" secondItem="S2z-DI-pIE" secondAttribute="centerY" id="xEl-Rl-8C1"/> | 95 | <constraint firstItem="yFv-kp-ag8" firstAttribute="centerY" secondItem="S2z-DI-pIE" secondAttribute="centerY" id="xEl-Rl-8C1"/> |
94 | </constraints> | 96 | </constraints> |
95 | </view> | 97 | </view> |
96 | <view contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="dVh-y2-XTr"> | 98 | <view contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="dVh-y2-XTr"> |
97 | <rect key="frame" x="0.0" y="40" width="140" height="40"/> | 99 | <rect key="frame" x="0.0" y="40" width="140" height="40"/> |
98 | <subviews> | 100 | <subviews> |
99 | <switch opaque="NO" contentMode="scaleToFill" horizontalHuggingPriority="750" verticalHuggingPriority="750" contentHorizontalAlignment="center" contentVerticalAlignment="center" on="YES" translatesAutoresizingMaskIntoConstraints="NO" id="2gX-B2-tkR"> | 101 | <switch opaque="NO" contentMode="scaleToFill" horizontalHuggingPriority="750" verticalHuggingPriority="750" contentHorizontalAlignment="center" contentVerticalAlignment="center" on="YES" translatesAutoresizingMaskIntoConstraints="NO" id="2gX-B2-tkR"> |
100 | <rect key="frame" x="85" y="4" width="51" height="31"/> | 102 | <rect key="frame" x="85" y="4" width="51" height="31"/> |
101 | <constraints> | 103 | <constraints> |
102 | <constraint firstAttribute="width" secondItem="2gX-B2-tkR" secondAttribute="height" multiplier="49:31" id="pBG-Mw-aNK"/> | 104 | <constraint firstAttribute="width" secondItem="2gX-B2-tkR" secondAttribute="height" multiplier="49:31" id="pBG-Mw-aNK"/> |
103 | </constraints> | 105 | </constraints> |
104 | <color key="onTintColor" red="0.0" green="0.47843137250000001" blue="1" alpha="1" colorSpace="custom" customColorSpace="sRGB"/> | 106 | <color key="onTintColor" red="0.0" green="0.47843137250000001" blue="1" alpha="1" colorSpace="custom" customColorSpace="sRGB"/> |
105 | </switch> | 107 | </switch> |
106 | <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="RUN" textAlignment="natural" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="r9v-yX-mx8" customClass="AutoTransLabel"> | 108 | <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="RUN" textAlignment="natural" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="r9v-yX-mx8" customClass="AutoTransLabel"> |
107 | <rect key="frame" x="6" y="10.5" width="36" height="20.5"/> | 109 | <rect key="frame" x="6" y="10.5" width="36" height="20.5"/> |
108 | <fontDescription key="fontDescription" type="system" weight="medium" pointSize="17"/> | 110 | <fontDescription key="fontDescription" type="system" weight="medium" pointSize="17"/> |
109 | <color key="textColor" white="1" alpha="1" colorSpace="calibratedWhite"/> | 111 | <color key="textColor" white="1" alpha="1" colorSpace="calibratedWhite"/> |
110 | <nil key="highlightedColor"/> | 112 | <nil key="highlightedColor"/> |
111 | <userDefinedRuntimeAttributes> | 113 | <userDefinedRuntimeAttributes> |
112 | <userDefinedRuntimeAttribute type="string" keyPath="localizeKey" value="lifelog.createGr.lbl.run"/> | 114 | <userDefinedRuntimeAttribute type="string" keyPath="localizeKey" value="lifelog.createGr.lbl.run"/> |
113 | </userDefinedRuntimeAttributes> | 115 | </userDefinedRuntimeAttributes> |
114 | </label> | 116 | </label> |
115 | </subviews> | 117 | </subviews> |
116 | <color key="backgroundColor" white="0.0" alpha="0.0" colorSpace="calibratedWhite"/> | 118 | <color key="backgroundColor" white="0.0" alpha="0.0" colorSpace="calibratedWhite"/> |
117 | <constraints> | 119 | <constraints> |
118 | <constraint firstItem="2gX-B2-tkR" firstAttribute="centerY" secondItem="dVh-y2-XTr" secondAttribute="centerY" id="bNR-wC-PQG"/> | 120 | <constraint firstItem="2gX-B2-tkR" firstAttribute="centerY" secondItem="dVh-y2-XTr" secondAttribute="centerY" id="bNR-wC-PQG"/> |
119 | <constraint firstItem="r9v-yX-mx8" firstAttribute="leading" secondItem="dVh-y2-XTr" secondAttribute="leading" constant="6" id="iHM-Q7-Z1Z"/> | 121 | <constraint firstItem="r9v-yX-mx8" firstAttribute="leading" secondItem="dVh-y2-XTr" secondAttribute="leading" constant="6" id="iHM-Q7-Z1Z"/> |
120 | <constraint firstAttribute="height" constant="40" id="s8W-Ak-VrH"/> | 122 | <constraint firstAttribute="height" constant="40" id="s8W-Ak-VrH"/> |
121 | <constraint firstAttribute="trailing" secondItem="2gX-B2-tkR" secondAttribute="trailing" constant="6" id="usV-BG-oqp"/> | 123 | <constraint firstAttribute="trailing" secondItem="2gX-B2-tkR" secondAttribute="trailing" constant="6" id="usV-BG-oqp"/> |
122 | <constraint firstItem="r9v-yX-mx8" firstAttribute="centerY" secondItem="dVh-y2-XTr" secondAttribute="centerY" id="yZW-Wk-raQ"/> | 124 | <constraint firstItem="r9v-yX-mx8" firstAttribute="centerY" secondItem="dVh-y2-XTr" secondAttribute="centerY" id="yZW-Wk-raQ"/> |
123 | </constraints> | 125 | </constraints> |
124 | </view> | 126 | </view> |
125 | <view contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="7PQ-zz-N0X"> | 127 | <view contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="7PQ-zz-N0X"> |
126 | <rect key="frame" x="0.0" y="80" width="140" height="40"/> | 128 | <rect key="frame" x="0.0" y="80" width="140" height="40"/> |
127 | <subviews> | 129 | <subviews> |
128 | <switch opaque="NO" contentMode="scaleToFill" horizontalHuggingPriority="750" verticalHuggingPriority="750" contentHorizontalAlignment="center" contentVerticalAlignment="center" on="YES" translatesAutoresizingMaskIntoConstraints="NO" id="Yga-UQ-xoU"> | 130 | <switch opaque="NO" contentMode="scaleToFill" horizontalHuggingPriority="750" verticalHuggingPriority="750" contentHorizontalAlignment="center" contentVerticalAlignment="center" on="YES" translatesAutoresizingMaskIntoConstraints="NO" id="Yga-UQ-xoU"> |
129 | <rect key="frame" x="85" y="4" width="51" height="31"/> | 131 | <rect key="frame" x="85" y="4" width="51" height="31"/> |
130 | <constraints> | 132 | <constraints> |
131 | <constraint firstAttribute="width" secondItem="Yga-UQ-xoU" secondAttribute="height" multiplier="49:31" id="laB-Zs-gOj"/> | 133 | <constraint firstAttribute="width" secondItem="Yga-UQ-xoU" secondAttribute="height" multiplier="49:31" id="laB-Zs-gOj"/> |
132 | </constraints> | 134 | </constraints> |
133 | <color key="onTintColor" red="0.0" green="0.47843137250000001" blue="1" alpha="1" colorSpace="custom" customColorSpace="sRGB"/> | 135 | <color key="onTintColor" red="0.0" green="0.47843137250000001" blue="1" alpha="1" colorSpace="custom" customColorSpace="sRGB"/> |
134 | </switch> | 136 | </switch> |
135 | <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="ジム" textAlignment="natural" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="EFD-Ys-PqS" customClass="AutoTransLabel"> | 137 | <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="ジム" textAlignment="natural" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="EFD-Ys-PqS" customClass="AutoTransLabel"> |
136 | <rect key="frame" x="6" y="10.5" width="35" height="20.5"/> | 138 | <rect key="frame" x="6" y="10.5" width="35" height="20.5"/> |
137 | <fontDescription key="fontDescription" type="system" weight="medium" pointSize="17"/> | 139 | <fontDescription key="fontDescription" type="system" weight="medium" pointSize="17"/> |
138 | <color key="textColor" white="1" alpha="1" colorSpace="calibratedWhite"/> | 140 | <color key="textColor" white="1" alpha="1" colorSpace="calibratedWhite"/> |
139 | <nil key="highlightedColor"/> | 141 | <nil key="highlightedColor"/> |
140 | <userDefinedRuntimeAttributes> | 142 | <userDefinedRuntimeAttributes> |
141 | <userDefinedRuntimeAttribute type="string" keyPath="localizeKey" value="lifelog.createGr.lbl.gym"/> | 143 | <userDefinedRuntimeAttribute type="string" keyPath="localizeKey" value="lifelog.createGr.lbl.gym"/> |
142 | </userDefinedRuntimeAttributes> | 144 | </userDefinedRuntimeAttributes> |
143 | </label> | 145 | </label> |
144 | </subviews> | 146 | </subviews> |
145 | <color key="backgroundColor" white="0.0" alpha="0.0" colorSpace="calibratedWhite"/> | 147 | <color key="backgroundColor" white="0.0" alpha="0.0" colorSpace="calibratedWhite"/> |
146 | <constraints> | 148 | <constraints> |
147 | <constraint firstItem="EFD-Ys-PqS" firstAttribute="centerY" secondItem="7PQ-zz-N0X" secondAttribute="centerY" id="Ein-vC-mpy"/> | 149 | <constraint firstItem="EFD-Ys-PqS" firstAttribute="centerY" secondItem="7PQ-zz-N0X" secondAttribute="centerY" id="Ein-vC-mpy"/> |
148 | <constraint firstAttribute="height" constant="40" id="aKm-hG-Hyh"/> | 150 | <constraint firstAttribute="height" constant="40" id="aKm-hG-Hyh"/> |
149 | <constraint firstAttribute="trailing" secondItem="Yga-UQ-xoU" secondAttribute="trailing" constant="6" id="cfd-4G-1NF"/> | 151 | <constraint firstAttribute="trailing" secondItem="Yga-UQ-xoU" secondAttribute="trailing" constant="6" id="cfd-4G-1NF"/> |
150 | <constraint firstItem="EFD-Ys-PqS" firstAttribute="leading" secondItem="7PQ-zz-N0X" secondAttribute="leading" constant="6" id="ojT-rz-8oC"/> | 152 | <constraint firstItem="EFD-Ys-PqS" firstAttribute="leading" secondItem="7PQ-zz-N0X" secondAttribute="leading" constant="6" id="ojT-rz-8oC"/> |
151 | <constraint firstItem="Yga-UQ-xoU" firstAttribute="centerY" secondItem="7PQ-zz-N0X" secondAttribute="centerY" id="xYy-kb-5Sk"/> | 153 | <constraint firstItem="Yga-UQ-xoU" firstAttribute="centerY" secondItem="7PQ-zz-N0X" secondAttribute="centerY" id="xYy-kb-5Sk"/> |
152 | </constraints> | 154 | </constraints> |
153 | </view> | 155 | </view> |
154 | </subviews> | 156 | </subviews> |
155 | <color key="backgroundColor" white="0.0" alpha="0.0" colorSpace="calibratedWhite"/> | 157 | <color key="backgroundColor" white="0.0" alpha="0.0" colorSpace="calibratedWhite"/> |
156 | <constraints> | 158 | <constraints> |
157 | <constraint firstItem="dVh-y2-XTr" firstAttribute="top" secondItem="S2z-DI-pIE" secondAttribute="bottom" id="2LH-28-ssn"/> | 159 | <constraint firstItem="dVh-y2-XTr" firstAttribute="top" secondItem="S2z-DI-pIE" secondAttribute="bottom" id="2LH-28-ssn"/> |
158 | <constraint firstItem="7PQ-zz-N0X" firstAttribute="leading" secondItem="ONn-27-HqB" secondAttribute="leading" id="6md-Y8-lIk"/> | 160 | <constraint firstItem="7PQ-zz-N0X" firstAttribute="leading" secondItem="ONn-27-HqB" secondAttribute="leading" id="6md-Y8-lIk"/> |
159 | <constraint firstAttribute="height" constant="120" id="7Tb-oJ-5eC"/> | 161 | <constraint firstAttribute="height" constant="120" id="7Tb-oJ-5eC"/> |
160 | <constraint firstItem="7PQ-zz-N0X" firstAttribute="top" secondItem="dVh-y2-XTr" secondAttribute="bottom" id="Fsa-Ai-cKQ"/> | 162 | <constraint firstItem="7PQ-zz-N0X" firstAttribute="top" secondItem="dVh-y2-XTr" secondAttribute="bottom" id="Fsa-Ai-cKQ"/> |
161 | <constraint firstAttribute="trailing" secondItem="S2z-DI-pIE" secondAttribute="trailing" id="OV6-wK-IJj"/> | 163 | <constraint firstAttribute="trailing" secondItem="S2z-DI-pIE" secondAttribute="trailing" id="OV6-wK-IJj"/> |
162 | <constraint firstItem="dVh-y2-XTr" firstAttribute="leading" secondItem="ONn-27-HqB" secondAttribute="leading" id="TFE-bH-HwH"/> | 164 | <constraint firstItem="dVh-y2-XTr" firstAttribute="leading" secondItem="ONn-27-HqB" secondAttribute="leading" id="TFE-bH-HwH"/> |
163 | <constraint firstAttribute="trailing" secondItem="dVh-y2-XTr" secondAttribute="trailing" id="Vul-EM-V8H"/> | 165 | <constraint firstAttribute="trailing" secondItem="dVh-y2-XTr" secondAttribute="trailing" id="Vul-EM-V8H"/> |
164 | <constraint firstItem="S2z-DI-pIE" firstAttribute="top" secondItem="ONn-27-HqB" secondAttribute="top" id="Yf4-Rz-E4g"/> | 166 | <constraint firstItem="S2z-DI-pIE" firstAttribute="top" secondItem="ONn-27-HqB" secondAttribute="top" id="Yf4-Rz-E4g"/> |
165 | <constraint firstAttribute="trailing" secondItem="7PQ-zz-N0X" secondAttribute="trailing" id="hLr-NV-hyv"/> | 167 | <constraint firstAttribute="trailing" secondItem="7PQ-zz-N0X" secondAttribute="trailing" id="hLr-NV-hyv"/> |
166 | <constraint firstItem="S2z-DI-pIE" firstAttribute="leading" secondItem="ONn-27-HqB" secondAttribute="leading" id="zMY-Vd-Ge9"/> | 168 | <constraint firstItem="S2z-DI-pIE" firstAttribute="leading" secondItem="ONn-27-HqB" secondAttribute="leading" id="zMY-Vd-Ge9"/> |
167 | </constraints> | 169 | </constraints> |
168 | </view> | 170 | </view> |
169 | <view contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="Kpa-HJ-7cE"> | 171 | <view contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="Kpa-HJ-7cE"> |
170 | <rect key="frame" x="170" y="50" width="140" height="120"/> | 172 | <rect key="frame" x="170" y="50" width="140" height="120"/> |
171 | <subviews> | 173 | <subviews> |
172 | <view contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="ALk-sL-SXG"> | 174 | <view contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="ALk-sL-SXG"> |
173 | <rect key="frame" x="0.0" y="0.0" width="140" height="40"/> | 175 | <rect key="frame" x="0.0" y="0.0" width="140" height="40"/> |
174 | <subviews> | 176 | <subviews> |
175 | <switch opaque="NO" contentMode="scaleToFill" horizontalHuggingPriority="750" verticalHuggingPriority="750" contentHorizontalAlignment="center" contentVerticalAlignment="center" on="YES" translatesAutoresizingMaskIntoConstraints="NO" id="fGW-Vw-PwQ"> | 177 | <switch opaque="NO" contentMode="scaleToFill" horizontalHuggingPriority="750" verticalHuggingPriority="750" contentHorizontalAlignment="center" contentVerticalAlignment="center" on="YES" translatesAutoresizingMaskIntoConstraints="NO" id="fGW-Vw-PwQ"> |
176 | <rect key="frame" x="85" y="4" width="51" height="31"/> | 178 | <rect key="frame" x="85" y="4" width="51" height="31"/> |
177 | <constraints> | 179 | <constraints> |
178 | <constraint firstAttribute="width" secondItem="fGW-Vw-PwQ" secondAttribute="height" multiplier="49:31" id="qd5-Cg-6pG"/> | 180 | <constraint firstAttribute="width" secondItem="fGW-Vw-PwQ" secondAttribute="height" multiplier="49:31" id="qd5-Cg-6pG"/> |
179 | </constraints> | 181 | </constraints> |
180 | <color key="onTintColor" red="0.0" green="0.47843137250000001" blue="1" alpha="1" colorSpace="custom" customColorSpace="sRGB"/> | 182 | <color key="onTintColor" red="0.0" green="0.47843137250000001" blue="1" alpha="1" colorSpace="custom" customColorSpace="sRGB"/> |
181 | </switch> | 183 | </switch> |
182 | <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="BIKE" textAlignment="natural" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="WfE-YM-vVU" customClass="AutoTransLabel"> | 184 | <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="BIKE" textAlignment="natural" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="WfE-YM-vVU" customClass="AutoTransLabel"> |
183 | <rect key="frame" x="6" y="10.5" width="36.5" height="20.5"/> | 185 | <rect key="frame" x="6" y="10.5" width="36.5" height="20.5"/> |
184 | <fontDescription key="fontDescription" type="system" weight="medium" pointSize="17"/> | 186 | <fontDescription key="fontDescription" type="system" weight="medium" pointSize="17"/> |
185 | <color key="textColor" white="1" alpha="1" colorSpace="calibratedWhite"/> | 187 | <color key="textColor" white="1" alpha="1" colorSpace="calibratedWhite"/> |
186 | <nil key="highlightedColor"/> | 188 | <nil key="highlightedColor"/> |
187 | <userDefinedRuntimeAttributes> | 189 | <userDefinedRuntimeAttributes> |
188 | <userDefinedRuntimeAttribute type="string" keyPath="localizeKey" value="lifelog.createGr.lbl.bike"/> | 190 | <userDefinedRuntimeAttribute type="string" keyPath="localizeKey" value="lifelog.createGr.lbl.bike"/> |
189 | </userDefinedRuntimeAttributes> | 191 | </userDefinedRuntimeAttributes> |
190 | </label> | 192 | </label> |
191 | </subviews> | 193 | </subviews> |
192 | <color key="backgroundColor" white="0.0" alpha="0.0" colorSpace="calibratedWhite"/> | 194 | <color key="backgroundColor" white="0.0" alpha="0.0" colorSpace="calibratedWhite"/> |
193 | <constraints> | 195 | <constraints> |
194 | <constraint firstItem="WfE-YM-vVU" firstAttribute="leading" secondItem="ALk-sL-SXG" secondAttribute="leading" constant="6" id="7xm-U8-L7U"/> | 196 | <constraint firstItem="WfE-YM-vVU" firstAttribute="leading" secondItem="ALk-sL-SXG" secondAttribute="leading" constant="6" id="7xm-U8-L7U"/> |
195 | <constraint firstAttribute="height" constant="40" id="L4u-uj-rHa"/> | 197 | <constraint firstAttribute="height" constant="40" id="L4u-uj-rHa"/> |
196 | <constraint firstItem="fGW-Vw-PwQ" firstAttribute="centerY" secondItem="ALk-sL-SXG" secondAttribute="centerY" id="PBA-tv-gec"/> | 198 | <constraint firstItem="fGW-Vw-PwQ" firstAttribute="centerY" secondItem="ALk-sL-SXG" secondAttribute="centerY" id="PBA-tv-gec"/> |
197 | <constraint firstAttribute="trailing" secondItem="fGW-Vw-PwQ" secondAttribute="trailing" constant="6" id="bHc-Ih-6ar"/> | 199 | <constraint firstAttribute="trailing" secondItem="fGW-Vw-PwQ" secondAttribute="trailing" constant="6" id="bHc-Ih-6ar"/> |
198 | <constraint firstItem="WfE-YM-vVU" firstAttribute="centerY" secondItem="ALk-sL-SXG" secondAttribute="centerY" id="te7-Im-Oqh"/> | 200 | <constraint firstItem="WfE-YM-vVU" firstAttribute="centerY" secondItem="ALk-sL-SXG" secondAttribute="centerY" id="te7-Im-Oqh"/> |
199 | </constraints> | 201 | </constraints> |
200 | </view> | 202 | </view> |
201 | <view contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="4Az-6N-8u4"> | 203 | <view contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="4Az-6N-8u4"> |
202 | <rect key="frame" x="0.0" y="40" width="140" height="40"/> | 204 | <rect key="frame" x="0.0" y="40" width="140" height="40"/> |
203 | <subviews> | 205 | <subviews> |
204 | <switch opaque="NO" contentMode="scaleToFill" horizontalHuggingPriority="750" verticalHuggingPriority="750" contentHorizontalAlignment="center" contentVerticalAlignment="center" on="YES" translatesAutoresizingMaskIntoConstraints="NO" id="RoR-w7-dNT"> | 206 | <switch opaque="NO" contentMode="scaleToFill" horizontalHuggingPriority="750" verticalHuggingPriority="750" contentHorizontalAlignment="center" contentVerticalAlignment="center" on="YES" translatesAutoresizingMaskIntoConstraints="NO" id="RoR-w7-dNT"> |
205 | <rect key="frame" x="85" y="4" width="51" height="31"/> | 207 | <rect key="frame" x="85" y="4" width="51" height="31"/> |
206 | <constraints> | 208 | <constraints> |
207 | <constraint firstAttribute="width" secondItem="RoR-w7-dNT" secondAttribute="height" multiplier="49:31" id="YUz-Eh-EmZ"/> | 209 | <constraint firstAttribute="width" secondItem="RoR-w7-dNT" secondAttribute="height" multiplier="49:31" id="YUz-Eh-EmZ"/> |
208 | </constraints> | 210 | </constraints> |
209 | <color key="onTintColor" red="0.0" green="0.47843137250000001" blue="1" alpha="1" colorSpace="custom" customColorSpace="sRGB"/> | 211 | <color key="onTintColor" red="0.0" green="0.47843137250000001" blue="1" alpha="1" colorSpace="custom" customColorSpace="sRGB"/> |
210 | </switch> | 212 | </switch> |
211 | <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="STEP" textAlignment="natural" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="ZyO-6K-2gA" customClass="AutoTransLabel"> | 213 | <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="STEP" textAlignment="natural" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="ZyO-6K-2gA" customClass="AutoTransLabel"> |
212 | <rect key="frame" x="6" y="10.5" width="42" height="20.5"/> | 214 | <rect key="frame" x="6" y="10.5" width="42" height="20.5"/> |
213 | <fontDescription key="fontDescription" type="system" weight="medium" pointSize="17"/> | 215 | <fontDescription key="fontDescription" type="system" weight="medium" pointSize="17"/> |
214 | <color key="textColor" white="1" alpha="1" colorSpace="calibratedWhite"/> | 216 | <color key="textColor" white="1" alpha="1" colorSpace="calibratedWhite"/> |
215 | <nil key="highlightedColor"/> | 217 | <nil key="highlightedColor"/> |
216 | <userDefinedRuntimeAttributes> | 218 | <userDefinedRuntimeAttributes> |
217 | <userDefinedRuntimeAttribute type="string" keyPath="localizeKey" value="lifelog.createGr.lbl.step"/> | 219 | <userDefinedRuntimeAttribute type="string" keyPath="localizeKey" value="lifelog.createGr.lbl.step"/> |
218 | </userDefinedRuntimeAttributes> | 220 | </userDefinedRuntimeAttributes> |
219 | </label> | 221 | </label> |
220 | </subviews> | 222 | </subviews> |
221 | <color key="backgroundColor" white="0.0" alpha="0.0" colorSpace="calibratedWhite"/> | 223 | <color key="backgroundColor" white="0.0" alpha="0.0" colorSpace="calibratedWhite"/> |
222 | <constraints> | 224 | <constraints> |
223 | <constraint firstAttribute="trailing" secondItem="RoR-w7-dNT" secondAttribute="trailing" constant="6" id="Cc4-W7-Qc8"/> | 225 | <constraint firstAttribute="trailing" secondItem="RoR-w7-dNT" secondAttribute="trailing" constant="6" id="Cc4-W7-Qc8"/> |
224 | <constraint firstItem="ZyO-6K-2gA" firstAttribute="leading" secondItem="4Az-6N-8u4" secondAttribute="leading" constant="6" id="ER7-Bx-w9j"/> | 226 | <constraint firstItem="ZyO-6K-2gA" firstAttribute="leading" secondItem="4Az-6N-8u4" secondAttribute="leading" constant="6" id="ER7-Bx-w9j"/> |
225 | <constraint firstAttribute="height" constant="40" id="Kcy-ij-IsH"/> | 227 | <constraint firstAttribute="height" constant="40" id="Kcy-ij-IsH"/> |
226 | <constraint firstItem="RoR-w7-dNT" firstAttribute="centerY" secondItem="4Az-6N-8u4" secondAttribute="centerY" id="O1R-k3-iBZ"/> | 228 | <constraint firstItem="RoR-w7-dNT" firstAttribute="centerY" secondItem="4Az-6N-8u4" secondAttribute="centerY" id="O1R-k3-iBZ"/> |
227 | <constraint firstItem="ZyO-6K-2gA" firstAttribute="centerY" secondItem="4Az-6N-8u4" secondAttribute="centerY" id="fWH-tG-gSV"/> | 229 | <constraint firstItem="ZyO-6K-2gA" firstAttribute="centerY" secondItem="4Az-6N-8u4" secondAttribute="centerY" id="fWH-tG-gSV"/> |
228 | </constraints> | 230 | </constraints> |
229 | </view> | 231 | </view> |
230 | <view contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="ORZ-El-owx"> | 232 | <view contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="ORZ-El-owx"> |
231 | <rect key="frame" x="0.0" y="80" width="140" height="40"/> | 233 | <rect key="frame" x="0.0" y="80" width="140" height="40"/> |
232 | <subviews> | 234 | <subviews> |
233 | <switch opaque="NO" contentMode="scaleToFill" horizontalHuggingPriority="750" verticalHuggingPriority="750" contentHorizontalAlignment="center" contentVerticalAlignment="center" on="YES" translatesAutoresizingMaskIntoConstraints="NO" id="e63-8i-6aa"> | 235 | <switch opaque="NO" contentMode="scaleToFill" horizontalHuggingPriority="750" verticalHuggingPriority="750" contentHorizontalAlignment="center" contentVerticalAlignment="center" on="YES" translatesAutoresizingMaskIntoConstraints="NO" id="e63-8i-6aa"> |
234 | <rect key="frame" x="85" y="4" width="51" height="31"/> | 236 | <rect key="frame" x="85" y="4" width="51" height="31"/> |
235 | <constraints> | 237 | <constraints> |
236 | <constraint firstAttribute="width" secondItem="e63-8i-6aa" secondAttribute="height" multiplier="49:31" id="TTd-tM-PrG"/> | 238 | <constraint firstAttribute="width" secondItem="e63-8i-6aa" secondAttribute="height" multiplier="49:31" id="TTd-tM-PrG"/> |
237 | </constraints> | 239 | </constraints> |
238 | <color key="onTintColor" red="0.0" green="0.47843137250000001" blue="1" alpha="1" colorSpace="custom" customColorSpace="sRGB"/> | 240 | <color key="onTintColor" red="0.0" green="0.47843137250000001" blue="1" alpha="1" colorSpace="custom" customColorSpace="sRGB"/> |
239 | </switch> | 241 | </switch> |
240 | <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="初心者" textAlignment="natural" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="RfO-1U-s4W" customClass="AutoTransLabel"> | 242 | <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="初心者" textAlignment="natural" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="RfO-1U-s4W" customClass="AutoTransLabel"> |
241 | <rect key="frame" x="6" y="10.5" width="52" height="20.5"/> | 243 | <rect key="frame" x="6" y="10.5" width="52" height="20.5"/> |
242 | <fontDescription key="fontDescription" type="system" weight="medium" pointSize="17"/> | 244 | <fontDescription key="fontDescription" type="system" weight="medium" pointSize="17"/> |
243 | <color key="textColor" white="1" alpha="1" colorSpace="calibratedWhite"/> | 245 | <color key="textColor" white="1" alpha="1" colorSpace="calibratedWhite"/> |
244 | <nil key="highlightedColor"/> | 246 | <nil key="highlightedColor"/> |
245 | <userDefinedRuntimeAttributes> | 247 | <userDefinedRuntimeAttributes> |
246 | <userDefinedRuntimeAttribute type="string" keyPath="localizeKey" value="lifelog.createGr.lbl.begin"/> | 248 | <userDefinedRuntimeAttribute type="string" keyPath="localizeKey" value="lifelog.createGr.lbl.begin"/> |
247 | </userDefinedRuntimeAttributes> | 249 | </userDefinedRuntimeAttributes> |
248 | </label> | 250 | </label> |
249 | </subviews> | 251 | </subviews> |
250 | <color key="backgroundColor" white="0.0" alpha="0.0" colorSpace="calibratedWhite"/> | 252 | <color key="backgroundColor" white="0.0" alpha="0.0" colorSpace="calibratedWhite"/> |
251 | <constraints> | 253 | <constraints> |
252 | <constraint firstItem="RfO-1U-s4W" firstAttribute="leading" secondItem="ORZ-El-owx" secondAttribute="leading" constant="6" id="5Vq-B2-215"/> | 254 | <constraint firstItem="RfO-1U-s4W" firstAttribute="leading" secondItem="ORZ-El-owx" secondAttribute="leading" constant="6" id="5Vq-B2-215"/> |
253 | <constraint firstAttribute="trailing" secondItem="e63-8i-6aa" secondAttribute="trailing" constant="6" id="NUX-0H-z8v"/> | 255 | <constraint firstAttribute="trailing" secondItem="e63-8i-6aa" secondAttribute="trailing" constant="6" id="NUX-0H-z8v"/> |
254 | <constraint firstAttribute="height" constant="40" id="PdI-3J-BTC"/> | 256 | <constraint firstAttribute="height" constant="40" id="PdI-3J-BTC"/> |
255 | <constraint firstItem="e63-8i-6aa" firstAttribute="centerY" secondItem="ORZ-El-owx" secondAttribute="centerY" id="Vxw-Vk-POY"/> | 257 | <constraint firstItem="e63-8i-6aa" firstAttribute="centerY" secondItem="ORZ-El-owx" secondAttribute="centerY" id="Vxw-Vk-POY"/> |
256 | <constraint firstItem="RfO-1U-s4W" firstAttribute="centerY" secondItem="ORZ-El-owx" secondAttribute="centerY" id="tX1-Qb-pKG"/> | 258 | <constraint firstItem="RfO-1U-s4W" firstAttribute="centerY" secondItem="ORZ-El-owx" secondAttribute="centerY" id="tX1-Qb-pKG"/> |
257 | </constraints> | 259 | </constraints> |
258 | </view> | 260 | </view> |
259 | </subviews> | 261 | </subviews> |
260 | <color key="backgroundColor" white="0.0" alpha="0.0" colorSpace="calibratedWhite"/> | 262 | <color key="backgroundColor" white="0.0" alpha="0.0" colorSpace="calibratedWhite"/> |
261 | <constraints> | 263 | <constraints> |
262 | <constraint firstAttribute="height" constant="120" id="1Z3-Ap-Qv1"/> | 264 | <constraint firstAttribute="height" constant="120" id="1Z3-Ap-Qv1"/> |
263 | <constraint firstAttribute="trailing" secondItem="ALk-sL-SXG" secondAttribute="trailing" id="2DO-V0-pH1"/> | 265 | <constraint firstAttribute="trailing" secondItem="ALk-sL-SXG" secondAttribute="trailing" id="2DO-V0-pH1"/> |
264 | <constraint firstItem="ORZ-El-owx" firstAttribute="top" secondItem="4Az-6N-8u4" secondAttribute="bottom" id="9ap-NH-2HO"/> | 266 | <constraint firstItem="ORZ-El-owx" firstAttribute="top" secondItem="4Az-6N-8u4" secondAttribute="bottom" id="9ap-NH-2HO"/> |
265 | <constraint firstItem="ALk-sL-SXG" firstAttribute="top" secondItem="Kpa-HJ-7cE" secondAttribute="top" id="Lc0-Xq-rka"/> | 267 | <constraint firstItem="ALk-sL-SXG" firstAttribute="top" secondItem="Kpa-HJ-7cE" secondAttribute="top" id="Lc0-Xq-rka"/> |
266 | <constraint firstItem="4Az-6N-8u4" firstAttribute="leading" secondItem="Kpa-HJ-7cE" secondAttribute="leading" id="PVG-jU-N5c"/> | 268 | <constraint firstItem="4Az-6N-8u4" firstAttribute="leading" secondItem="Kpa-HJ-7cE" secondAttribute="leading" id="PVG-jU-N5c"/> |
267 | <constraint firstAttribute="trailing" secondItem="ORZ-El-owx" secondAttribute="trailing" id="WYz-Kv-H08"/> | 269 | <constraint firstAttribute="trailing" secondItem="ORZ-El-owx" secondAttribute="trailing" id="WYz-Kv-H08"/> |
268 | <constraint firstItem="ORZ-El-owx" firstAttribute="leading" secondItem="Kpa-HJ-7cE" secondAttribute="leading" id="a7E-Je-SkO"/> | 270 | <constraint firstItem="ORZ-El-owx" firstAttribute="leading" secondItem="Kpa-HJ-7cE" secondAttribute="leading" id="a7E-Je-SkO"/> |
269 | <constraint firstAttribute="bottom" secondItem="ORZ-El-owx" secondAttribute="bottom" id="dr5-Tk-AAg"/> | 271 | <constraint firstAttribute="bottom" secondItem="ORZ-El-owx" secondAttribute="bottom" id="dr5-Tk-AAg"/> |
270 | <constraint firstAttribute="trailing" secondItem="4Az-6N-8u4" secondAttribute="trailing" id="wOX-wa-25X"/> | 272 | <constraint firstAttribute="trailing" secondItem="4Az-6N-8u4" secondAttribute="trailing" id="wOX-wa-25X"/> |
271 | <constraint firstItem="4Az-6N-8u4" firstAttribute="top" secondItem="ALk-sL-SXG" secondAttribute="bottom" id="xgc-3W-TS2"/> | 273 | <constraint firstItem="4Az-6N-8u4" firstAttribute="top" secondItem="ALk-sL-SXG" secondAttribute="bottom" id="xgc-3W-TS2"/> |
272 | <constraint firstItem="ALk-sL-SXG" firstAttribute="leading" secondItem="Kpa-HJ-7cE" secondAttribute="leading" id="yrE-eZ-Vg4"/> | 274 | <constraint firstItem="ALk-sL-SXG" firstAttribute="leading" secondItem="Kpa-HJ-7cE" secondAttribute="leading" id="yrE-eZ-Vg4"/> |
273 | </constraints> | 275 | </constraints> |
274 | </view> | 276 | </view> |
275 | <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="目標" textAlignment="natural" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="KTY-Ed-NJL" customClass="AutoTransLabel"> | 277 | <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="目標" textAlignment="natural" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="KTY-Ed-NJL" customClass="AutoTransLabel"> |
276 | <rect key="frame" x="10" y="178" width="70" height="30"/> | 278 | <rect key="frame" x="10" y="178" width="70" height="30"/> |
277 | <constraints> | 279 | <constraints> |
278 | <constraint firstAttribute="width" constant="70" id="Zlu-jK-x6p"/> | 280 | <constraint firstAttribute="width" constant="70" id="Zlu-jK-x6p"/> |
279 | <constraint firstAttribute="height" constant="30" id="tVk-5e-QAY"/> | 281 | <constraint firstAttribute="height" constant="30" id="tVk-5e-QAY"/> |
280 | </constraints> | 282 | </constraints> |
281 | <fontDescription key="fontDescription" type="system" weight="medium" pointSize="17"/> | 283 | <fontDescription key="fontDescription" type="system" weight="medium" pointSize="17"/> |
282 | <color key="textColor" white="1" alpha="1" colorSpace="calibratedWhite"/> | 284 | <color key="textColor" white="1" alpha="1" colorSpace="calibratedWhite"/> |
283 | <nil key="highlightedColor"/> | 285 | <nil key="highlightedColor"/> |
284 | <userDefinedRuntimeAttributes> | 286 | <userDefinedRuntimeAttributes> |
285 | <userDefinedRuntimeAttribute type="string" keyPath="localizeKey" value="lifelog.createGr.lbl.goal"/> | 287 | <userDefinedRuntimeAttribute type="string" keyPath="localizeKey" value="lifelog.createGr.lbl.goal"/> |
286 | </userDefinedRuntimeAttributes> | 288 | </userDefinedRuntimeAttributes> |
287 | </label> | 289 | </label> |
288 | <textView clipsSubviews="YES" multipleTouchEnabled="YES" contentMode="scaleToFill" textAlignment="natural" translatesAutoresizingMaskIntoConstraints="NO" id="hWb-vU-yVd"> | 290 | <textView clipsSubviews="YES" multipleTouchEnabled="YES" contentMode="scaleToFill" textAlignment="natural" translatesAutoresizingMaskIntoConstraints="NO" id="hWb-vU-yVd"> |
289 | <rect key="frame" x="88" y="178" width="222" height="120"/> | 291 | <rect key="frame" x="88" y="178" width="222" height="120"/> |
290 | <color key="backgroundColor" white="1" alpha="1" colorSpace="calibratedWhite"/> | 292 | <color key="backgroundColor" white="1" alpha="1" colorSpace="calibratedWhite"/> |
291 | <constraints> | 293 | <constraints> |
292 | <constraint firstAttribute="height" constant="120" id="iYo-mA-ZGR"/> | 294 | <constraint firstAttribute="height" constant="120" id="iYo-mA-ZGR"/> |
293 | </constraints> | 295 | </constraints> |
294 | <fontDescription key="fontDescription" type="system" pointSize="14"/> | 296 | <fontDescription key="fontDescription" type="system" pointSize="14"/> |
295 | <textInputTraits key="textInputTraits" autocapitalizationType="sentences"/> | 297 | <textInputTraits key="textInputTraits" autocapitalizationType="sentences"/> |
296 | <userDefinedRuntimeAttributes> | 298 | <userDefinedRuntimeAttributes> |
297 | <userDefinedRuntimeAttribute type="number" keyPath="layer.cornerRadius"> | 299 | <userDefinedRuntimeAttribute type="number" keyPath="layer.cornerRadius"> |
298 | <integer key="value" value="10"/> | 300 | <integer key="value" value="10"/> |
299 | </userDefinedRuntimeAttribute> | 301 | </userDefinedRuntimeAttribute> |
300 | </userDefinedRuntimeAttributes> | 302 | </userDefinedRuntimeAttributes> |
301 | <connections> | 303 | <connections> |
302 | <outlet property="delegate" destination="-1" id="fVh-oh-7St"/> | 304 | <outlet property="delegate" destination="-1" id="fVh-oh-7St"/> |
303 | </connections> | 305 | </connections> |
304 | </textView> | 306 | </textView> |
305 | <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="マップ" textAlignment="natural" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="qdi-Na-zsj" customClass="AutoTransLabel"> | 307 | <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="マップ" textAlignment="natural" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="qdi-Na-zsj" customClass="AutoTransLabel"> |
306 | <rect key="frame" x="10" y="313" width="70" height="30"/> | 308 | <rect key="frame" x="10" y="313" width="70" height="30"/> |
307 | <constraints> | 309 | <constraints> |
308 | <constraint firstAttribute="height" constant="30" id="Ptf-0N-ewh"/> | 310 | <constraint firstAttribute="height" constant="30" id="Ptf-0N-ewh"/> |
309 | <constraint firstAttribute="width" constant="70" id="mT3-FA-eev"/> | 311 | <constraint firstAttribute="width" constant="70" id="mT3-FA-eev"/> |
310 | </constraints> | 312 | </constraints> |
311 | <fontDescription key="fontDescription" type="system" weight="medium" pointSize="17"/> | 313 | <fontDescription key="fontDescription" type="system" weight="medium" pointSize="17"/> |
312 | <color key="textColor" white="1" alpha="1" colorSpace="calibratedWhite"/> | 314 | <color key="textColor" white="1" alpha="1" colorSpace="calibratedWhite"/> |
313 | <nil key="highlightedColor"/> | 315 | <nil key="highlightedColor"/> |
314 | <userDefinedRuntimeAttributes> | 316 | <userDefinedRuntimeAttributes> |
315 | <userDefinedRuntimeAttribute type="string" keyPath="localizeKey" value="lifelog.createGr.lbl.map"/> | 317 | <userDefinedRuntimeAttribute type="string" keyPath="localizeKey" value="lifelog.createGr.lbl.map"/> |
316 | </userDefinedRuntimeAttributes> | 318 | </userDefinedRuntimeAttributes> |
317 | </label> | 319 | </label> |
318 | <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="1日目標" textAlignment="natural" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="qfU-7x-uss" customClass="AutoTransLabel"> | 320 | <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="1日目標" textAlignment="natural" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="qfU-7x-uss" customClass="AutoTransLabel"> |
319 | <rect key="frame" x="10" y="353" width="300" height="30"/> | 321 | <rect key="frame" x="10" y="353" width="300" height="30"/> |
320 | <constraints> | 322 | <constraints> |
321 | <constraint firstAttribute="height" constant="30" id="9dB-8p-Wdv"/> | 323 | <constraint firstAttribute="height" constant="30" id="9dB-8p-Wdv"/> |
322 | </constraints> | 324 | </constraints> |
323 | <fontDescription key="fontDescription" type="system" weight="medium" pointSize="17"/> | 325 | <fontDescription key="fontDescription" type="system" weight="medium" pointSize="17"/> |
324 | <color key="textColor" white="1" alpha="1" colorSpace="calibratedWhite"/> | 326 | <color key="textColor" white="1" alpha="1" colorSpace="calibratedWhite"/> |
325 | <nil key="highlightedColor"/> | 327 | <nil key="highlightedColor"/> |
326 | <userDefinedRuntimeAttributes> | 328 | <userDefinedRuntimeAttributes> |
327 | <userDefinedRuntimeAttribute type="string" keyPath="localizeKey" value="lifelog.createGr.lbl.goal1day"/> | 329 | <userDefinedRuntimeAttribute type="string" keyPath="localizeKey" value="lifelog.createGr.lbl.goal1day"/> |
328 | </userDefinedRuntimeAttributes> | 330 | </userDefinedRuntimeAttributes> |
329 | </label> | 331 | </label> |
330 | <button opaque="NO" contentMode="scaleToFill" contentHorizontalAlignment="center" contentVerticalAlignment="center" buttonType="roundedRect" lineBreakMode="middleTruncation" translatesAutoresizingMaskIntoConstraints="NO" id="KEy-T1-mdK" customClass="AutoTransButton"> | 332 | <button opaque="NO" contentMode="scaleToFill" contentHorizontalAlignment="center" contentVerticalAlignment="center" buttonType="roundedRect" lineBreakMode="middleTruncation" translatesAutoresizingMaskIntoConstraints="NO" id="KEy-T1-mdK" customClass="AutoTransButton"> |
331 | <rect key="frame" x="88" y="313" width="110" height="30"/> | 333 | <rect key="frame" x="88" y="313" width="110" height="30"/> |
332 | <color key="backgroundColor" white="0.66666666666666663" alpha="1" colorSpace="calibratedWhite"/> | 334 | <color key="backgroundColor" white="0.66666666666666663" alpha="1" colorSpace="calibratedWhite"/> |
333 | <constraints> | 335 | <constraints> |
334 | <constraint firstAttribute="height" constant="30" id="MWc-Aj-2JZ"/> | 336 | <constraint firstAttribute="height" constant="30" id="MWc-Aj-2JZ"/> |
335 | <constraint firstAttribute="width" constant="110" id="V16-pC-FRv"/> | 337 | <constraint firstAttribute="width" constant="110" id="V16-pC-FRv"/> |
336 | </constraints> | 338 | </constraints> |
337 | <state key="normal" title="マップ作成"> | 339 | <state key="normal" title="マップ作成"> |
338 | <color key="titleColor" white="1" alpha="1" colorSpace="calibratedWhite"/> | 340 | <color key="titleColor" white="1" alpha="1" colorSpace="calibratedWhite"/> |
339 | </state> | 341 | </state> |
340 | <userDefinedRuntimeAttributes> | 342 | <userDefinedRuntimeAttributes> |
341 | <userDefinedRuntimeAttribute type="number" keyPath="layer.cornerRadius"> | 343 | <userDefinedRuntimeAttribute type="number" keyPath="layer.cornerRadius"> |
342 | <integer key="value" value="5"/> | 344 | <integer key="value" value="5"/> |
343 | </userDefinedRuntimeAttribute> | 345 | </userDefinedRuntimeAttribute> |
344 | <userDefinedRuntimeAttribute type="string" keyPath="localizeKey" value="lifelog.createGr.bt.map"/> | 346 | <userDefinedRuntimeAttribute type="string" keyPath="localizeKey" value="lifelog.createGr.bt.map"/> |
345 | </userDefinedRuntimeAttributes> | 347 | </userDefinedRuntimeAttributes> |
346 | </button> | 348 | </button> |
347 | <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="WALK" textAlignment="natural" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="3QV-Ov-PmX" customClass="AutoTransLabel"> | 349 | <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="WALK" textAlignment="natural" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="3QV-Ov-PmX" customClass="AutoTransLabel"> |
348 | <rect key="frame" x="10" y="391" width="70" height="30"/> | 350 | <rect key="frame" x="10" y="391" width="70" height="30"/> |
349 | <constraints> | 351 | <constraints> |
350 | <constraint firstAttribute="height" constant="30" id="GSj-Tq-AsU"/> | 352 | <constraint firstAttribute="height" constant="30" id="GSj-Tq-AsU"/> |
351 | <constraint firstAttribute="width" constant="70" id="uIv-Ty-eR2"/> | 353 | <constraint firstAttribute="width" constant="70" id="uIv-Ty-eR2"/> |
352 | </constraints> | 354 | </constraints> |
353 | <fontDescription key="fontDescription" type="system" weight="medium" pointSize="17"/> | 355 | <fontDescription key="fontDescription" type="system" weight="medium" pointSize="17"/> |
354 | <color key="textColor" white="1" alpha="1" colorSpace="calibratedWhite"/> | 356 | <color key="textColor" white="1" alpha="1" colorSpace="calibratedWhite"/> |
355 | <nil key="highlightedColor"/> | 357 | <nil key="highlightedColor"/> |
356 | <userDefinedRuntimeAttributes> | 358 | <userDefinedRuntimeAttributes> |
357 | <userDefinedRuntimeAttribute type="string" keyPath="localizeKey" value="lifelog.createGr.lbl.walk"/> | 359 | <userDefinedRuntimeAttribute type="string" keyPath="localizeKey" value="lifelog.createGr.lbl.walk"/> |
358 | </userDefinedRuntimeAttributes> | 360 | </userDefinedRuntimeAttributes> |
359 | </label> | 361 | </label> |
360 | <textField opaque="NO" clipsSubviews="YES" contentMode="scaleToFill" contentHorizontalAlignment="left" contentVerticalAlignment="center" borderStyle="roundedRect" textAlignment="natural" minimumFontSize="17" translatesAutoresizingMaskIntoConstraints="NO" id="4JZ-J2-3D9"> | 362 | <textField opaque="NO" clipsSubviews="YES" contentMode="scaleToFill" contentHorizontalAlignment="left" contentVerticalAlignment="center" borderStyle="roundedRect" textAlignment="natural" minimumFontSize="17" translatesAutoresizingMaskIntoConstraints="NO" id="4JZ-J2-3D9"> |
361 | <rect key="frame" x="95" y="391" width="130" height="30"/> | 363 | <rect key="frame" x="95" y="391" width="130" height="30"/> |
362 | <constraints> | 364 | <constraints> |
363 | <constraint firstAttribute="height" constant="30" id="JaF-D4-zT2"/> | 365 | <constraint firstAttribute="height" constant="30" id="JaF-D4-zT2"/> |
364 | <constraint firstAttribute="width" constant="130" id="qCj-P5-l4y"/> | 366 | <constraint firstAttribute="width" constant="130" id="qCj-P5-l4y"/> |
365 | </constraints> | 367 | </constraints> |
366 | <nil key="textColor"/> | 368 | <nil key="textColor"/> |
367 | <fontDescription key="fontDescription" type="system" pointSize="14"/> | 369 | <fontDescription key="fontDescription" type="system" pointSize="14"/> |
368 | <textInputTraits key="textInputTraits" keyboardType="numberPad"/> | 370 | <textInputTraits key="textInputTraits" keyboardType="numberPad"/> |
369 | </textField> | 371 | </textField> |
370 | <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="m" textAlignment="natural" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="o9b-Am-GTl"> | 372 | <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="m" textAlignment="natural" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="o9b-Am-GTl"> |
371 | <rect key="frame" x="240" y="391" width="70" height="30"/> | 373 | <rect key="frame" x="240" y="391" width="70" height="30"/> |
372 | <constraints> | 374 | <constraints> |
373 | <constraint firstAttribute="width" constant="70" id="MN1-fg-mf1"/> | 375 | <constraint firstAttribute="width" constant="70" id="MN1-fg-mf1"/> |
374 | <constraint firstAttribute="height" constant="30" id="l7E-J3-Syw"/> | 376 | <constraint firstAttribute="height" constant="30" id="l7E-J3-Syw"/> |
375 | </constraints> | 377 | </constraints> |
376 | <fontDescription key="fontDescription" type="system" weight="medium" pointSize="17"/> | 378 | <fontDescription key="fontDescription" type="system" weight="medium" pointSize="17"/> |
377 | <color key="textColor" white="1" alpha="1" colorSpace="calibratedWhite"/> | 379 | <color key="textColor" white="1" alpha="1" colorSpace="calibratedWhite"/> |
378 | <nil key="highlightedColor"/> | 380 | <nil key="highlightedColor"/> |
379 | <userDefinedRuntimeAttributes> | 381 | <userDefinedRuntimeAttributes> |
380 | <userDefinedRuntimeAttribute type="string" keyPath="localizeKey" value="lifelog.createGr.lbl.name"/> | 382 | <userDefinedRuntimeAttribute type="string" keyPath="localizeKey" value="lifelog.createGr.lbl.name"/> |
381 | </userDefinedRuntimeAttributes> | 383 | </userDefinedRuntimeAttributes> |
382 | </label> | 384 | </label> |
383 | <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="RUN" textAlignment="natural" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="bq4-nh-Cxk" customClass="AutoTransLabel"> | 385 | <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="RUN" textAlignment="natural" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="bq4-nh-Cxk" customClass="AutoTransLabel"> |
384 | <rect key="frame" x="10" y="429" width="70" height="30"/> | 386 | <rect key="frame" x="10" y="429" width="70" height="30"/> |
385 | <constraints> | 387 | <constraints> |
386 | <constraint firstAttribute="height" constant="30" id="MmK-Nk-eFt"/> | 388 | <constraint firstAttribute="height" constant="30" id="MmK-Nk-eFt"/> |
387 | <constraint firstAttribute="width" constant="70" id="nuP-fj-jk2"/> | 389 | <constraint firstAttribute="width" constant="70" id="nuP-fj-jk2"/> |
388 | </constraints> | 390 | </constraints> |
389 | <fontDescription key="fontDescription" type="system" weight="medium" pointSize="17"/> | 391 | <fontDescription key="fontDescription" type="system" weight="medium" pointSize="17"/> |
390 | <color key="textColor" white="1" alpha="1" colorSpace="calibratedWhite"/> | 392 | <color key="textColor" white="1" alpha="1" colorSpace="calibratedWhite"/> |
391 | <nil key="highlightedColor"/> | 393 | <nil key="highlightedColor"/> |
392 | <userDefinedRuntimeAttributes> | 394 | <userDefinedRuntimeAttributes> |
393 | <userDefinedRuntimeAttribute type="string" keyPath="localizeKey" value="lifelog.createGr.lbl.run"/> | 395 | <userDefinedRuntimeAttribute type="string" keyPath="localizeKey" value="lifelog.createGr.lbl.run"/> |
394 | </userDefinedRuntimeAttributes> | 396 | </userDefinedRuntimeAttributes> |
395 | </label> | 397 | </label> |
396 | <textField opaque="NO" clipsSubviews="YES" contentMode="scaleToFill" contentHorizontalAlignment="left" contentVerticalAlignment="center" borderStyle="roundedRect" textAlignment="natural" minimumFontSize="17" translatesAutoresizingMaskIntoConstraints="NO" id="3aE-uP-KLS"> | 398 | <textField opaque="NO" clipsSubviews="YES" contentMode="scaleToFill" contentHorizontalAlignment="left" contentVerticalAlignment="center" borderStyle="roundedRect" textAlignment="natural" minimumFontSize="17" translatesAutoresizingMaskIntoConstraints="NO" id="3aE-uP-KLS"> |
397 | <rect key="frame" x="95" y="429" width="130" height="30"/> | 399 | <rect key="frame" x="95" y="429" width="130" height="30"/> |
398 | <constraints> | 400 | <constraints> |
399 | <constraint firstAttribute="height" constant="30" id="37e-2c-qka"/> | 401 | <constraint firstAttribute="height" constant="30" id="37e-2c-qka"/> |
400 | <constraint firstAttribute="width" constant="130" id="owG-Ob-QnB"/> | 402 | <constraint firstAttribute="width" constant="130" id="owG-Ob-QnB"/> |
401 | </constraints> | 403 | </constraints> |
402 | <nil key="textColor"/> | 404 | <nil key="textColor"/> |
403 | <fontDescription key="fontDescription" type="system" pointSize="14"/> | 405 | <fontDescription key="fontDescription" type="system" pointSize="14"/> |
404 | <textInputTraits key="textInputTraits" keyboardType="numberPad"/> | 406 | <textInputTraits key="textInputTraits" keyboardType="numberPad"/> |
405 | </textField> | 407 | </textField> |
406 | <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="m" textAlignment="natural" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="CGA-Xm-2ll"> | 408 | <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="m" textAlignment="natural" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="CGA-Xm-2ll"> |
407 | <rect key="frame" x="240" y="429" width="70" height="30"/> | 409 | <rect key="frame" x="240" y="429" width="70" height="30"/> |
408 | <constraints> | 410 | <constraints> |
409 | <constraint firstAttribute="width" constant="70" id="6cf-Y6-Dwq"/> | 411 | <constraint firstAttribute="width" constant="70" id="6cf-Y6-Dwq"/> |
410 | <constraint firstAttribute="height" constant="30" id="dHv-kM-AX2"/> | 412 | <constraint firstAttribute="height" constant="30" id="dHv-kM-AX2"/> |
411 | </constraints> | 413 | </constraints> |
412 | <fontDescription key="fontDescription" type="system" weight="medium" pointSize="17"/> | 414 | <fontDescription key="fontDescription" type="system" weight="medium" pointSize="17"/> |
413 | <color key="textColor" white="1" alpha="1" colorSpace="calibratedWhite"/> | 415 | <color key="textColor" white="1" alpha="1" colorSpace="calibratedWhite"/> |
414 | <nil key="highlightedColor"/> | 416 | <nil key="highlightedColor"/> |
415 | <userDefinedRuntimeAttributes> | 417 | <userDefinedRuntimeAttributes> |
416 | <userDefinedRuntimeAttribute type="string" keyPath="localizeKey" value="lifelog.createGr.lbl.name"/> | 418 | <userDefinedRuntimeAttribute type="string" keyPath="localizeKey" value="lifelog.createGr.lbl.name"/> |
417 | </userDefinedRuntimeAttributes> | 419 | </userDefinedRuntimeAttributes> |
418 | </label> | 420 | </label> |
419 | <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="BIKE" textAlignment="natural" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="mvZ-9L-7a8" customClass="AutoTransLabel"> | 421 | <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="BIKE" textAlignment="natural" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="mvZ-9L-7a8" customClass="AutoTransLabel"> |
420 | <rect key="frame" x="10" y="467" width="70" height="30"/> | 422 | <rect key="frame" x="10" y="467" width="70" height="30"/> |
421 | <constraints> | 423 | <constraints> |
422 | <constraint firstAttribute="height" constant="30" id="hX2-SJ-SMG"/> | 424 | <constraint firstAttribute="height" constant="30" id="hX2-SJ-SMG"/> |
423 | <constraint firstAttribute="width" constant="70" id="roN-jL-tXp"/> | 425 | <constraint firstAttribute="width" constant="70" id="roN-jL-tXp"/> |
424 | </constraints> | 426 | </constraints> |
425 | <fontDescription key="fontDescription" type="system" weight="medium" pointSize="17"/> | 427 | <fontDescription key="fontDescription" type="system" weight="medium" pointSize="17"/> |
426 | <color key="textColor" white="1" alpha="1" colorSpace="calibratedWhite"/> | 428 | <color key="textColor" white="1" alpha="1" colorSpace="calibratedWhite"/> |
427 | <nil key="highlightedColor"/> | 429 | <nil key="highlightedColor"/> |
428 | <userDefinedRuntimeAttributes> | 430 | <userDefinedRuntimeAttributes> |
429 | <userDefinedRuntimeAttribute type="string" keyPath="localizeKey" value="lifelog.createGr.lbl.bike"/> | 431 | <userDefinedRuntimeAttribute type="string" keyPath="localizeKey" value="lifelog.createGr.lbl.bike"/> |
430 | </userDefinedRuntimeAttributes> | 432 | </userDefinedRuntimeAttributes> |
431 | </label> | 433 | </label> |
432 | <textField opaque="NO" clipsSubviews="YES" contentMode="scaleToFill" contentHorizontalAlignment="left" contentVerticalAlignment="center" borderStyle="roundedRect" textAlignment="natural" minimumFontSize="17" translatesAutoresizingMaskIntoConstraints="NO" id="eOi-eo-GYn"> | 434 | <textField opaque="NO" clipsSubviews="YES" contentMode="scaleToFill" contentHorizontalAlignment="left" contentVerticalAlignment="center" borderStyle="roundedRect" textAlignment="natural" minimumFontSize="17" translatesAutoresizingMaskIntoConstraints="NO" id="eOi-eo-GYn"> |
433 | <rect key="frame" x="95" y="467" width="130" height="30"/> | 435 | <rect key="frame" x="95" y="467" width="130" height="30"/> |
434 | <constraints> | 436 | <constraints> |
435 | <constraint firstAttribute="width" constant="130" id="SBb-jw-NHP"/> | 437 | <constraint firstAttribute="width" constant="130" id="SBb-jw-NHP"/> |
436 | <constraint firstAttribute="height" constant="30" id="ida-Ih-wRM"/> | 438 | <constraint firstAttribute="height" constant="30" id="ida-Ih-wRM"/> |
437 | </constraints> | 439 | </constraints> |
438 | <nil key="textColor"/> | 440 | <nil key="textColor"/> |
439 | <fontDescription key="fontDescription" type="system" pointSize="14"/> | 441 | <fontDescription key="fontDescription" type="system" pointSize="14"/> |
440 | <textInputTraits key="textInputTraits" keyboardType="numberPad"/> | 442 | <textInputTraits key="textInputTraits" keyboardType="numberPad"/> |
441 | </textField> | 443 | </textField> |
442 | <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="m" textAlignment="natural" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="t6i-sV-ycx"> | 444 | <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="m" textAlignment="natural" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="t6i-sV-ycx"> |
443 | <rect key="frame" x="240" y="467" width="70" height="30"/> | 445 | <rect key="frame" x="240" y="467" width="70" height="30"/> |
444 | <constraints> | 446 | <constraints> |
445 | <constraint firstAttribute="width" constant="70" id="DoG-hb-QbI"/> | 447 | <constraint firstAttribute="width" constant="70" id="DoG-hb-QbI"/> |
446 | <constraint firstAttribute="height" constant="30" id="pAs-GK-YE3"/> | 448 | <constraint firstAttribute="height" constant="30" id="pAs-GK-YE3"/> |
447 | </constraints> | 449 | </constraints> |
448 | <fontDescription key="fontDescription" type="system" weight="medium" pointSize="17"/> | 450 | <fontDescription key="fontDescription" type="system" weight="medium" pointSize="17"/> |
449 | <color key="textColor" white="1" alpha="1" colorSpace="calibratedWhite"/> | 451 | <color key="textColor" white="1" alpha="1" colorSpace="calibratedWhite"/> |
450 | <nil key="highlightedColor"/> | 452 | <nil key="highlightedColor"/> |
451 | <userDefinedRuntimeAttributes> | 453 | <userDefinedRuntimeAttributes> |
452 | <userDefinedRuntimeAttribute type="string" keyPath="localizeKey" value="lifelog.createGr.lbl.name"/> | 454 | <userDefinedRuntimeAttribute type="string" keyPath="localizeKey" value="lifelog.createGr.lbl.name"/> |
453 | </userDefinedRuntimeAttributes> | 455 | </userDefinedRuntimeAttributes> |
454 | </label> | 456 | </label> |
455 | <button opaque="NO" contentMode="scaleToFill" contentHorizontalAlignment="center" contentVerticalAlignment="center" buttonType="roundedRect" lineBreakMode="middleTruncation" translatesAutoresizingMaskIntoConstraints="NO" id="sef-8T-0hQ" customClass="AutoTransButton"> | 457 | <button opaque="NO" contentMode="scaleToFill" contentHorizontalAlignment="center" contentVerticalAlignment="center" buttonType="roundedRect" lineBreakMode="middleTruncation" translatesAutoresizingMaskIntoConstraints="NO" id="sef-8T-0hQ" customClass="AutoTransButton"> |
456 | <rect key="frame" x="10" y="509" width="300" height="30"/> | 458 | <rect key="frame" x="10" y="509" width="300" height="30"/> |
457 | <color key="backgroundColor" white="1" alpha="1" colorSpace="calibratedWhite"/> | 459 | <color key="backgroundColor" white="1" alpha="1" colorSpace="calibratedWhite"/> |
458 | <constraints> | 460 | <constraints> |
459 | <constraint firstAttribute="height" constant="30" id="8XP-Y1-hlJ"/> | 461 | <constraint firstAttribute="height" constant="30" id="8XP-Y1-hlJ"/> |
460 | </constraints> | 462 | </constraints> |
461 | <state key="normal" title="グループを作成する"> | 463 | <state key="normal" title="グループを作成する"> |
462 | <color key="titleColor" white="0.0" alpha="1" colorSpace="calibratedWhite"/> | 464 | <color key="titleColor" white="0.0" alpha="1" colorSpace="calibratedWhite"/> |
463 | </state> | 465 | </state> |
464 | <userDefinedRuntimeAttributes> | 466 | <userDefinedRuntimeAttributes> |
465 | <userDefinedRuntimeAttribute type="number" keyPath="layer.cornerRadius"> | 467 | <userDefinedRuntimeAttribute type="number" keyPath="layer.cornerRadius"> |
466 | <integer key="value" value="5"/> | 468 | <integer key="value" value="5"/> |
467 | </userDefinedRuntimeAttribute> | 469 | </userDefinedRuntimeAttribute> |
468 | <userDefinedRuntimeAttribute type="string" keyPath="localizeKey" value="lifelog.createGr.bt.createGr"/> | 470 | <userDefinedRuntimeAttribute type="string" keyPath="localizeKey" value="lifelog.createGr.bt.createGr"/> |
469 | </userDefinedRuntimeAttributes> | 471 | </userDefinedRuntimeAttributes> |
470 | <connections> | 472 | <connections> |
471 | <action selector="clickCreateGroup:" destination="-1" eventType="touchUpInside" id="n8x-KR-til"/> | 473 | <action selector="clickCreateGroup:" destination="-1" eventType="touchUpInside" id="n8x-KR-til"/> |
472 | </connections> | 474 | </connections> |
473 | </button> | 475 | </button> |
474 | </subviews> | 476 | </subviews> |
475 | <color key="backgroundColor" white="0.0" alpha="0.0" colorSpace="calibratedWhite"/> | 477 | <color key="backgroundColor" white="0.0" alpha="0.0" colorSpace="calibratedWhite"/> |
476 | <constraints> | 478 | <constraints> |
477 | <constraint firstItem="KTY-Ed-NJL" firstAttribute="leading" secondItem="9w1-87-U1W" secondAttribute="leading" constant="10" id="08M-tc-J6o"/> | 479 | <constraint firstItem="KTY-Ed-NJL" firstAttribute="leading" secondItem="9w1-87-U1W" secondAttribute="leading" constant="10" id="08M-tc-J6o"/> |
478 | <constraint firstItem="3QV-Ov-PmX" firstAttribute="leading" secondItem="qfU-7x-uss" secondAttribute="leading" id="1CN-mt-xv7"/> | 480 | <constraint firstItem="3QV-Ov-PmX" firstAttribute="leading" secondItem="qfU-7x-uss" secondAttribute="leading" id="1CN-mt-xv7"/> |
479 | <constraint firstItem="3aE-uP-KLS" firstAttribute="top" secondItem="bq4-nh-Cxk" secondAttribute="top" id="1YH-oa-gPy"/> | 481 | <constraint firstItem="3aE-uP-KLS" firstAttribute="top" secondItem="bq4-nh-Cxk" secondAttribute="top" id="1YH-oa-gPy"/> |
480 | <constraint firstAttribute="trailing" secondItem="qfU-7x-uss" secondAttribute="trailing" constant="10" id="1fh-fC-Tvd"/> | 482 | <constraint firstAttribute="trailing" secondItem="qfU-7x-uss" secondAttribute="trailing" constant="10" id="1fh-fC-Tvd"/> |
481 | <constraint firstItem="t6i-sV-ycx" firstAttribute="leading" secondItem="eOi-eo-GYn" secondAttribute="trailing" constant="15" id="2d5-8C-v4q"/> | 483 | <constraint firstItem="t6i-sV-ycx" firstAttribute="leading" secondItem="eOi-eo-GYn" secondAttribute="trailing" constant="15" id="2d5-8C-v4q"/> |
482 | <constraint firstItem="4JZ-J2-3D9" firstAttribute="top" secondItem="3QV-Ov-PmX" secondAttribute="top" id="2rO-Pd-t8O"/> | 484 | <constraint firstItem="4JZ-J2-3D9" firstAttribute="top" secondItem="3QV-Ov-PmX" secondAttribute="top" id="2rO-Pd-t8O"/> |
483 | <constraint firstItem="t6i-sV-ycx" firstAttribute="top" secondItem="mvZ-9L-7a8" secondAttribute="top" id="4rc-co-XRr"/> | 485 | <constraint firstItem="t6i-sV-ycx" firstAttribute="top" secondItem="mvZ-9L-7a8" secondAttribute="top" id="4rc-co-XRr"/> |
484 | <constraint firstAttribute="trailing" secondItem="sef-8T-0hQ" secondAttribute="trailing" constant="10" id="89W-o8-uLa"/> | 486 | <constraint firstAttribute="trailing" secondItem="sef-8T-0hQ" secondAttribute="trailing" constant="10" id="89W-o8-uLa"/> |
485 | <constraint firstItem="qdi-Na-zsj" firstAttribute="leading" secondItem="9w1-87-U1W" secondAttribute="leading" constant="10" id="8Cr-Gt-ts7"/> | 487 | <constraint firstItem="qdi-Na-zsj" firstAttribute="leading" secondItem="9w1-87-U1W" secondAttribute="leading" constant="10" id="8Cr-Gt-ts7"/> |
486 | <constraint firstItem="ZtU-mt-3Ov" firstAttribute="leading" secondItem="9w1-87-U1W" secondAttribute="leading" constant="8" id="8QA-ZH-zig"/> | 488 | <constraint firstItem="ZtU-mt-3Ov" firstAttribute="leading" secondItem="9w1-87-U1W" secondAttribute="leading" constant="8" id="8QA-ZH-zig"/> |
487 | <constraint firstItem="KTY-Ed-NJL" firstAttribute="top" secondItem="ONn-27-HqB" secondAttribute="bottom" constant="8" id="8cI-hb-3IU"/> | 489 | <constraint firstItem="KTY-Ed-NJL" firstAttribute="top" secondItem="ONn-27-HqB" secondAttribute="bottom" constant="8" id="8cI-hb-3IU"/> |
488 | <constraint firstItem="CGA-Xm-2ll" firstAttribute="leading" secondItem="3aE-uP-KLS" secondAttribute="trailing" constant="15" id="AJD-KP-oLm"/> | 490 | <constraint firstItem="CGA-Xm-2ll" firstAttribute="leading" secondItem="3aE-uP-KLS" secondAttribute="trailing" constant="15" id="AJD-KP-oLm"/> |
489 | <constraint firstItem="qfU-7x-uss" firstAttribute="leading" secondItem="9w1-87-U1W" secondAttribute="leading" constant="10" id="Akh-2h-Y5Z"/> | 491 | <constraint firstItem="qfU-7x-uss" firstAttribute="leading" secondItem="9w1-87-U1W" secondAttribute="leading" constant="10" id="Akh-2h-Y5Z"/> |
490 | <constraint firstItem="mvZ-9L-7a8" firstAttribute="leading" secondItem="qfU-7x-uss" secondAttribute="leading" id="CyJ-DC-cmk"/> | 492 | <constraint firstItem="mvZ-9L-7a8" firstAttribute="leading" secondItem="qfU-7x-uss" secondAttribute="leading" id="CyJ-DC-cmk"/> |
491 | <constraint firstAttribute="trailing" secondItem="hWb-vU-yVd" secondAttribute="trailing" constant="10" id="Gpv-Cf-wmA"/> | 493 | <constraint firstAttribute="trailing" secondItem="hWb-vU-yVd" secondAttribute="trailing" constant="10" id="Gpv-Cf-wmA"/> |
492 | <constraint firstItem="ONn-27-HqB" firstAttribute="leading" secondItem="9w1-87-U1W" secondAttribute="leading" constant="10" id="GqQ-jG-2Ss"/> | 494 | <constraint firstItem="ONn-27-HqB" firstAttribute="leading" secondItem="9w1-87-U1W" secondAttribute="leading" constant="10" id="GqQ-jG-2Ss"/> |
493 | <constraint firstItem="Kpa-HJ-7cE" firstAttribute="top" secondItem="ONn-27-HqB" secondAttribute="top" id="I8B-QJ-8Kw"/> | 495 | <constraint firstItem="Kpa-HJ-7cE" firstAttribute="top" secondItem="ONn-27-HqB" secondAttribute="top" id="I8B-QJ-8Kw"/> |
494 | <constraint firstItem="ONn-27-HqB" firstAttribute="top" secondItem="pXO-K0-vne" secondAttribute="bottom" constant="10" id="IUV-iX-zqx"/> | 496 | <constraint firstItem="ONn-27-HqB" firstAttribute="top" secondItem="pXO-K0-vne" secondAttribute="bottom" constant="10" id="IUV-iX-zqx"/> |
495 | <constraint firstItem="pXO-K0-vne" firstAttribute="leading" secondItem="ZtU-mt-3Ov" secondAttribute="trailing" constant="10" id="JQi-T2-HRB"/> | 497 | <constraint firstItem="pXO-K0-vne" firstAttribute="leading" secondItem="ZtU-mt-3Ov" secondAttribute="trailing" constant="10" id="JQi-T2-HRB"/> |
496 | <constraint firstItem="o9b-Am-GTl" firstAttribute="top" secondItem="3QV-Ov-PmX" secondAttribute="top" id="Osm-tS-nSE"/> | 498 | <constraint firstItem="o9b-Am-GTl" firstAttribute="top" secondItem="3QV-Ov-PmX" secondAttribute="top" id="Osm-tS-nSE"/> |
497 | <constraint firstItem="sef-8T-0hQ" firstAttribute="top" secondItem="t6i-sV-ycx" secondAttribute="bottom" constant="12" id="PNY-xc-4go"/> | 499 | <constraint firstItem="sef-8T-0hQ" firstAttribute="top" secondItem="t6i-sV-ycx" secondAttribute="bottom" constant="12" id="PNY-xc-4go"/> |
498 | <constraint firstItem="3aE-uP-KLS" firstAttribute="leading" secondItem="bq4-nh-Cxk" secondAttribute="trailing" constant="15" id="QhW-Vx-RNc"/> | 500 | <constraint firstItem="3aE-uP-KLS" firstAttribute="leading" secondItem="bq4-nh-Cxk" secondAttribute="trailing" constant="15" id="QhW-Vx-RNc"/> |
499 | <constraint firstItem="mvZ-9L-7a8" firstAttribute="top" secondItem="bq4-nh-Cxk" secondAttribute="bottom" constant="8" id="Qu7-jT-zZM"/> | 501 | <constraint firstItem="mvZ-9L-7a8" firstAttribute="top" secondItem="bq4-nh-Cxk" secondAttribute="bottom" constant="8" id="Qu7-jT-zZM"/> |
500 | <constraint firstItem="qdi-Na-zsj" firstAttribute="top" secondItem="KTY-Ed-NJL" secondAttribute="bottom" constant="105" id="Rbx-GC-D0X"/> | 502 | <constraint firstItem="qdi-Na-zsj" firstAttribute="top" secondItem="KTY-Ed-NJL" secondAttribute="bottom" constant="105" id="Rbx-GC-D0X"/> |
501 | <constraint firstItem="eOi-eo-GYn" firstAttribute="leading" secondItem="mvZ-9L-7a8" secondAttribute="trailing" constant="15" id="Rcg-h2-Qfa"/> | 503 | <constraint firstItem="eOi-eo-GYn" firstAttribute="leading" secondItem="mvZ-9L-7a8" secondAttribute="trailing" constant="15" id="Rcg-h2-Qfa"/> |
502 | <constraint firstItem="pXO-K0-vne" firstAttribute="top" secondItem="ZtU-mt-3Ov" secondAttribute="top" id="T8M-OQ-0Wk"/> | 504 | <constraint firstItem="pXO-K0-vne" firstAttribute="top" secondItem="ZtU-mt-3Ov" secondAttribute="top" id="T8M-OQ-0Wk"/> |
503 | <constraint firstItem="o9b-Am-GTl" firstAttribute="leading" secondItem="4JZ-J2-3D9" secondAttribute="trailing" constant="15" id="UyE-qx-Mtp"/> | 505 | <constraint firstItem="o9b-Am-GTl" firstAttribute="leading" secondItem="4JZ-J2-3D9" secondAttribute="trailing" constant="15" id="UyE-qx-Mtp"/> |
504 | <constraint firstItem="4JZ-J2-3D9" firstAttribute="top" secondItem="3QV-Ov-PmX" secondAttribute="top" id="aRK-i9-XKN"/> | 506 | <constraint firstItem="4JZ-J2-3D9" firstAttribute="top" secondItem="3QV-Ov-PmX" secondAttribute="top" id="aRK-i9-XKN"/> |
505 | <constraint firstItem="hWb-vU-yVd" firstAttribute="top" secondItem="Kpa-HJ-7cE" secondAttribute="bottom" constant="8" id="chw-2w-QOv"/> | 507 | <constraint firstItem="hWb-vU-yVd" firstAttribute="top" secondItem="Kpa-HJ-7cE" secondAttribute="bottom" constant="8" id="chw-2w-QOv"/> |
506 | <constraint firstItem="sef-8T-0hQ" firstAttribute="leading" secondItem="9w1-87-U1W" secondAttribute="leading" constant="10" id="dfN-4U-9Oc"/> | 508 | <constraint firstItem="sef-8T-0hQ" firstAttribute="leading" secondItem="9w1-87-U1W" secondAttribute="leading" constant="10" id="dfN-4U-9Oc"/> |
507 | <constraint firstItem="eOi-eo-GYn" firstAttribute="top" secondItem="mvZ-9L-7a8" secondAttribute="top" id="e8C-p7-obk"/> | 509 | <constraint firstItem="eOi-eo-GYn" firstAttribute="top" secondItem="mvZ-9L-7a8" secondAttribute="top" id="e8C-p7-obk"/> |
508 | <constraint firstItem="bq4-nh-Cxk" firstAttribute="top" secondItem="3QV-Ov-PmX" secondAttribute="bottom" constant="8" id="gjA-dw-4j6"/> | 510 | <constraint firstItem="bq4-nh-Cxk" firstAttribute="top" secondItem="3QV-Ov-PmX" secondAttribute="bottom" constant="8" id="gjA-dw-4j6"/> |
509 | <constraint firstItem="4JZ-J2-3D9" firstAttribute="leading" secondItem="3QV-Ov-PmX" secondAttribute="trailing" constant="15" id="hCs-KK-0oG"/> | 511 | <constraint firstItem="4JZ-J2-3D9" firstAttribute="leading" secondItem="3QV-Ov-PmX" secondAttribute="trailing" constant="15" id="hCs-KK-0oG"/> |
510 | <constraint firstItem="Kpa-HJ-7cE" firstAttribute="width" secondItem="ONn-27-HqB" secondAttribute="width" id="i0I-s6-95a"/> | 512 | <constraint firstItem="Kpa-HJ-7cE" firstAttribute="width" secondItem="ONn-27-HqB" secondAttribute="width" id="i0I-s6-95a"/> |
511 | <constraint firstAttribute="trailing" secondItem="pXO-K0-vne" secondAttribute="trailing" constant="10" id="j2H-Na-egE"/> | 513 | <constraint firstAttribute="trailing" secondItem="pXO-K0-vne" secondAttribute="trailing" constant="10" id="j2H-Na-egE"/> |
512 | <constraint firstItem="bq4-nh-Cxk" firstAttribute="leading" secondItem="qfU-7x-uss" secondAttribute="leading" id="kTU-cF-wdS"/> | 514 | <constraint firstItem="bq4-nh-Cxk" firstAttribute="leading" secondItem="qfU-7x-uss" secondAttribute="leading" id="kTU-cF-wdS"/> |
513 | <constraint firstItem="hWb-vU-yVd" firstAttribute="leading" secondItem="KTY-Ed-NJL" secondAttribute="trailing" constant="8" id="ka5-tK-yxs"/> | 515 | <constraint firstItem="hWb-vU-yVd" firstAttribute="leading" secondItem="KTY-Ed-NJL" secondAttribute="trailing" constant="8" id="ka5-tK-yxs"/> |
514 | <constraint firstItem="eOi-eo-GYn" firstAttribute="top" secondItem="mvZ-9L-7a8" secondAttribute="top" id="klA-2z-2Kx"/> | 516 | <constraint firstItem="eOi-eo-GYn" firstAttribute="top" secondItem="mvZ-9L-7a8" secondAttribute="top" id="klA-2z-2Kx"/> |
515 | <constraint firstItem="3aE-uP-KLS" firstAttribute="top" secondItem="bq4-nh-Cxk" secondAttribute="top" id="pdY-Ef-eHr"/> | 517 | <constraint firstItem="3aE-uP-KLS" firstAttribute="top" secondItem="bq4-nh-Cxk" secondAttribute="top" id="pdY-Ef-eHr"/> |
516 | <constraint firstItem="3QV-Ov-PmX" firstAttribute="top" secondItem="qfU-7x-uss" secondAttribute="bottom" constant="8" id="qLb-a1-eOB"/> | 518 | <constraint firstItem="3QV-Ov-PmX" firstAttribute="top" secondItem="qfU-7x-uss" secondAttribute="bottom" constant="8" id="qLb-a1-eOB"/> |
517 | <constraint firstItem="Kpa-HJ-7cE" firstAttribute="leading" secondItem="ONn-27-HqB" secondAttribute="trailing" constant="20" id="rMt-rx-zDY"/> | 519 | <constraint firstItem="Kpa-HJ-7cE" firstAttribute="leading" secondItem="ONn-27-HqB" secondAttribute="trailing" constant="20" id="rMt-rx-zDY"/> |
518 | <constraint firstItem="KEy-T1-mdK" firstAttribute="top" secondItem="hWb-vU-yVd" secondAttribute="bottom" constant="15" id="sIJ-Rk-gj3"/> | 520 | <constraint firstItem="KEy-T1-mdK" firstAttribute="top" secondItem="hWb-vU-yVd" secondAttribute="bottom" constant="15" id="sIJ-Rk-gj3"/> |
519 | <constraint firstItem="ZtU-mt-3Ov" firstAttribute="top" secondItem="9w1-87-U1W" secondAttribute="top" constant="10" id="tBp-C6-fjS"/> | 521 | <constraint firstItem="ZtU-mt-3Ov" firstAttribute="top" secondItem="9w1-87-U1W" secondAttribute="top" constant="10" id="tBp-C6-fjS"/> |
520 | <constraint firstItem="CGA-Xm-2ll" firstAttribute="top" secondItem="bq4-nh-Cxk" secondAttribute="top" id="uaB-yp-z16"/> | 522 | <constraint firstItem="CGA-Xm-2ll" firstAttribute="top" secondItem="bq4-nh-Cxk" secondAttribute="top" id="uaB-yp-z16"/> |
521 | <constraint firstItem="qfU-7x-uss" firstAttribute="top" secondItem="KEy-T1-mdK" secondAttribute="bottom" constant="10" id="w4X-lJ-yL1"/> | 523 | <constraint firstItem="qfU-7x-uss" firstAttribute="top" secondItem="KEy-T1-mdK" secondAttribute="bottom" constant="10" id="w4X-lJ-yL1"/> |
522 | <constraint firstAttribute="trailing" secondItem="Kpa-HJ-7cE" secondAttribute="trailing" constant="10" id="wvh-Lk-tt9"/> | 524 | <constraint firstAttribute="trailing" secondItem="Kpa-HJ-7cE" secondAttribute="trailing" constant="10" id="wvh-Lk-tt9"/> |
523 | <constraint firstItem="KEy-T1-mdK" firstAttribute="leading" secondItem="qdi-Na-zsj" secondAttribute="trailing" constant="8" id="xGa-CF-V9a"/> | 525 | <constraint firstItem="KEy-T1-mdK" firstAttribute="leading" secondItem="qdi-Na-zsj" secondAttribute="trailing" constant="8" id="xGa-CF-V9a"/> |
524 | </constraints> | 526 | </constraints> |
525 | </view> | 527 | </view> |
526 | </subviews> | 528 | </subviews> |
527 | <color key="backgroundColor" white="0.0" alpha="0.0" colorSpace="calibratedWhite"/> | 529 | <color key="backgroundColor" white="0.0" alpha="0.0" colorSpace="calibratedWhite"/> |
528 | <constraints> | 530 | <constraints> |
529 | <constraint firstItem="9w1-87-U1W" firstAttribute="leading" secondItem="aKu-bd-xMP" secondAttribute="leading" id="BLm-dD-oN3"/> | 531 | <constraint firstItem="9w1-87-U1W" firstAttribute="leading" secondItem="aKu-bd-xMP" secondAttribute="leading" id="BLm-dD-oN3"/> |
530 | <constraint firstItem="9w1-87-U1W" firstAttribute="centerY" secondItem="aKu-bd-xMP" secondAttribute="centerY" id="DT9-CK-3ZL"/> | 532 | <constraint firstItem="9w1-87-U1W" firstAttribute="centerY" secondItem="aKu-bd-xMP" secondAttribute="centerY" id="DT9-CK-3ZL"/> |
531 | <constraint firstItem="9w1-87-U1W" firstAttribute="top" secondItem="aKu-bd-xMP" secondAttribute="top" id="PZC-BJ-DLV"/> | 533 | <constraint firstItem="9w1-87-U1W" firstAttribute="top" secondItem="aKu-bd-xMP" secondAttribute="top" id="PZC-BJ-DLV"/> |
532 | <constraint firstAttribute="trailing" secondItem="9w1-87-U1W" secondAttribute="trailing" id="RDM-mt-Fjr"/> | 534 | <constraint firstAttribute="trailing" secondItem="9w1-87-U1W" secondAttribute="trailing" id="RDM-mt-Fjr"/> |
533 | <constraint firstAttribute="bottom" secondItem="9w1-87-U1W" secondAttribute="bottom" constant="50" id="w42-vd-D7e"/> | 535 | <constraint firstAttribute="bottom" secondItem="9w1-87-U1W" secondAttribute="bottom" constant="50" id="w42-vd-D7e"/> |
534 | <constraint firstItem="9w1-87-U1W" firstAttribute="centerX" secondItem="aKu-bd-xMP" secondAttribute="centerX" id="wJD-gn-ctq"/> | 536 | <constraint firstItem="9w1-87-U1W" firstAttribute="centerX" secondItem="aKu-bd-xMP" secondAttribute="centerX" id="wJD-gn-ctq"/> |
535 | </constraints> | 537 | </constraints> |
536 | </scrollView> | 538 | </scrollView> |
537 | <view contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="QYv-QM-Bkk" userLabel="ViewHeader"> | 539 | <view contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="QYv-QM-Bkk" userLabel="ViewHeader"> |
538 | <rect key="frame" x="0.0" y="0.0" width="320" height="46"/> | 540 | <rect key="frame" x="0.0" y="0.0" width="320" height="46"/> |
539 | <subviews> | 541 | <subviews> |
540 | <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="コミュニティー グループ作成" textAlignment="center" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="9hM-Gv-AxQ" customClass="AutoTransLabel"> | 542 | <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="コミュニティー グループ作成" textAlignment="center" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="9hM-Gv-AxQ" customClass="AutoTransLabel"> |
541 | <rect key="frame" x="0.0" y="0.0" width="320" height="46"/> | 543 | <rect key="frame" x="0.0" y="0.0" width="320" height="46"/> |
542 | <fontDescription key="fontDescription" type="system" pointSize="16"/> | 544 | <fontDescription key="fontDescription" type="system" pointSize="16"/> |
543 | <color key="textColor" white="1" alpha="1" colorSpace="calibratedWhite"/> | 545 | <color key="textColor" white="1" alpha="1" colorSpace="calibratedWhite"/> |
544 | <nil key="highlightedColor"/> | 546 | <nil key="highlightedColor"/> |
545 | <userDefinedRuntimeAttributes> | 547 | <userDefinedRuntimeAttributes> |
546 | <userDefinedRuntimeAttribute type="string" keyPath="localizeKey" value="lifelog.createGr.title"/> | 548 | <userDefinedRuntimeAttribute type="string" keyPath="localizeKey" value="lifelog.createGr.title"/> |
547 | </userDefinedRuntimeAttributes> | 549 | </userDefinedRuntimeAttributes> |
548 | </label> | 550 | </label> |
549 | <button opaque="NO" contentMode="scaleToFill" contentHorizontalAlignment="center" contentVerticalAlignment="center" lineBreakMode="middleTruncation" translatesAutoresizingMaskIntoConstraints="NO" id="O23-Hy-4Ld"> | 551 | <button opaque="NO" contentMode="scaleToFill" contentHorizontalAlignment="center" contentVerticalAlignment="center" lineBreakMode="middleTruncation" translatesAutoresizingMaskIntoConstraints="NO" id="O23-Hy-4Ld"> |
550 | <rect key="frame" x="0.0" y="5" width="70" height="36"/> | 552 | <rect key="frame" x="0.0" y="5" width="70" height="36"/> |
551 | <constraints> | 553 | <constraints> |
552 | <constraint firstAttribute="width" constant="70" id="8vZ-Ta-Rzv"/> | 554 | <constraint firstAttribute="width" constant="70" id="8vZ-Ta-Rzv"/> |
553 | </constraints> | 555 | </constraints> |
554 | <state key="normal" image="today_back_button"/> | 556 | <state key="normal" image="today_back_button"/> |
555 | <connections> | 557 | <connections> |
556 | <action selector="clickBack:" destination="-1" eventType="touchUpInside" id="BO6-jx-vuO"/> | 558 | <action selector="clickBack:" destination="-1" eventType="touchUpInside" id="BO6-jx-vuO"/> |
557 | </connections> | 559 | </connections> |
558 | </button> | 560 | </button> |
559 | <button opaque="NO" contentMode="scaleToFill" contentHorizontalAlignment="center" contentVerticalAlignment="center" lineBreakMode="middleTruncation" translatesAutoresizingMaskIntoConstraints="NO" id="fPg-VP-VkU"> | 561 | <button opaque="NO" contentMode="scaleToFill" contentHorizontalAlignment="center" contentVerticalAlignment="center" lineBreakMode="middleTruncation" translatesAutoresizingMaskIntoConstraints="NO" id="fPg-VP-VkU"> |
560 | <rect key="frame" x="275" y="0.0" width="45" height="46"/> | 562 | <rect key="frame" x="275" y="0.0" width="45" height="46"/> |
561 | <constraints> | 563 | <constraints> |
562 | <constraint firstAttribute="width" constant="45" id="k1W-Oc-mRq"/> | 564 | <constraint firstAttribute="width" constant="45" id="k1W-Oc-mRq"/> |
563 | </constraints> | 565 | </constraints> |
564 | <state key="normal" image="icon_menu"/> | 566 | <state key="normal" image="icon_menu"/> |
565 | </button> | 567 | </button> |
566 | </subviews> | 568 | </subviews> |
567 | <color key="backgroundColor" red="0.098039215690000001" green="0.098039215690000001" blue="0.098039215690000001" alpha="1" colorSpace="custom" customColorSpace="sRGB"/> | 569 | <color key="backgroundColor" red="0.0" green="0.0" blue="0.21960784310000001" alpha="1" colorSpace="custom" customColorSpace="sRGB"/> |
568 | <constraints> | 570 | <constraints> |
569 | <constraint firstAttribute="trailing" secondItem="9hM-Gv-AxQ" secondAttribute="trailing" id="5f8-Xt-vKd"/> | 571 | <constraint firstAttribute="trailing" secondItem="9hM-Gv-AxQ" secondAttribute="trailing" id="5f8-Xt-vKd"/> |
570 | <constraint firstAttribute="bottom" secondItem="9hM-Gv-AxQ" secondAttribute="bottom" id="Q3z-hF-VbV"/> | 572 | <constraint firstAttribute="bottom" secondItem="9hM-Gv-AxQ" secondAttribute="bottom" id="Q3z-hF-VbV"/> |
571 | <constraint firstItem="9hM-Gv-AxQ" firstAttribute="top" secondItem="QYv-QM-Bkk" secondAttribute="top" id="XNi-3d-xFW"/> | 573 | <constraint firstItem="9hM-Gv-AxQ" firstAttribute="top" secondItem="QYv-QM-Bkk" secondAttribute="top" id="XNi-3d-xFW"/> |
572 | <constraint firstItem="O23-Hy-4Ld" firstAttribute="leading" secondItem="QYv-QM-Bkk" secondAttribute="leading" id="aMc-uz-vGA"/> | 574 | <constraint firstItem="O23-Hy-4Ld" firstAttribute="leading" secondItem="QYv-QM-Bkk" secondAttribute="leading" id="aMc-uz-vGA"/> |
573 | <constraint firstItem="fPg-VP-VkU" firstAttribute="top" secondItem="QYv-QM-Bkk" secondAttribute="top" id="bLC-DU-cJf"/> | 575 | <constraint firstItem="fPg-VP-VkU" firstAttribute="top" secondItem="QYv-QM-Bkk" secondAttribute="top" id="bLC-DU-cJf"/> |
574 | <constraint firstItem="9hM-Gv-AxQ" firstAttribute="leading" secondItem="QYv-QM-Bkk" secondAttribute="leading" id="cUY-dT-Rh0"/> | 576 | <constraint firstItem="9hM-Gv-AxQ" firstAttribute="leading" secondItem="QYv-QM-Bkk" secondAttribute="leading" id="cUY-dT-Rh0"/> |
575 | <constraint firstAttribute="trailing" secondItem="fPg-VP-VkU" secondAttribute="trailing" id="fn0-SY-e1Z"/> | 577 | <constraint firstAttribute="trailing" secondItem="fPg-VP-VkU" secondAttribute="trailing" id="fn0-SY-e1Z"/> |
576 | <constraint firstAttribute="height" constant="46" id="lBP-32-aFw"/> | 578 | <constraint firstAttribute="height" constant="46" id="lBP-32-aFw"/> |
577 | <constraint firstItem="O23-Hy-4Ld" firstAttribute="top" secondItem="QYv-QM-Bkk" secondAttribute="top" constant="5" id="ogR-c4-QQ3"/> | 579 | <constraint firstItem="O23-Hy-4Ld" firstAttribute="top" secondItem="QYv-QM-Bkk" secondAttribute="top" constant="5" id="ogR-c4-QQ3"/> |
578 | <constraint firstAttribute="bottom" secondItem="fPg-VP-VkU" secondAttribute="bottom" id="wdr-SH-Wm2"/> | 580 | <constraint firstAttribute="bottom" secondItem="fPg-VP-VkU" secondAttribute="bottom" id="wdr-SH-Wm2"/> |
579 | <constraint firstAttribute="bottom" secondItem="O23-Hy-4Ld" secondAttribute="bottom" constant="5" id="yJ4-81-rJx"/> | 581 | <constraint firstAttribute="bottom" secondItem="O23-Hy-4Ld" secondAttribute="bottom" constant="5" id="yJ4-81-rJx"/> |
580 | </constraints> | 582 | </constraints> |
581 | </view> | 583 | </view> |
582 | </subviews> | 584 | </subviews> |
583 | <color key="backgroundColor" white="0.0" alpha="1" colorSpace="calibratedWhite"/> | 585 | <color key="backgroundColor" white="0.0" alpha="1" colorSpace="calibratedWhite"/> |
584 | <constraints> | 586 | <constraints> |
585 | <constraint firstItem="aKu-bd-xMP" firstAttribute="top" secondItem="QYv-QM-Bkk" secondAttribute="bottom" id="Q7l-Ra-0wb"/> | 587 | <constraint firstItem="aKu-bd-xMP" firstAttribute="top" secondItem="QYv-QM-Bkk" secondAttribute="bottom" id="Q7l-Ra-0wb"/> |
586 | <constraint firstAttribute="trailing" secondItem="aKu-bd-xMP" secondAttribute="trailing" id="WAl-wE-FB4"/> | 588 | <constraint firstAttribute="trailing" secondItem="aKu-bd-xMP" secondAttribute="trailing" id="WAl-wE-FB4"/> |
587 | <constraint firstAttribute="trailing" secondItem="QYv-QM-Bkk" secondAttribute="trailing" id="XdX-OA-ALX"/> | 589 | <constraint firstAttribute="trailing" secondItem="QYv-QM-Bkk" secondAttribute="trailing" id="XdX-OA-ALX"/> |
588 | <constraint firstItem="aKu-bd-xMP" firstAttribute="leading" secondItem="i5M-Pr-FkT" secondAttribute="leading" id="cE7-y5-LL4"/> | 590 | <constraint firstItem="aKu-bd-xMP" firstAttribute="leading" secondItem="i5M-Pr-FkT" secondAttribute="leading" id="cE7-y5-LL4"/> |
589 | <constraint firstItem="QYv-QM-Bkk" firstAttribute="top" secondItem="i5M-Pr-FkT" secondAttribute="top" id="dAn-YE-2s3"/> | 591 | <constraint firstItem="QYv-QM-Bkk" firstAttribute="top" secondItem="i5M-Pr-FkT" secondAttribute="top" priority="750" id="dAn-YE-2s3"/> |
590 | <constraint firstItem="QYv-QM-Bkk" firstAttribute="leading" secondItem="i5M-Pr-FkT" secondAttribute="leading" id="fFF-bj-0uk"/> | 592 | <constraint firstItem="QYv-QM-Bkk" firstAttribute="leading" secondItem="i5M-Pr-FkT" secondAttribute="leading" id="fFF-bj-0uk"/> |
591 | <constraint firstAttribute="bottom" secondItem="aKu-bd-xMP" secondAttribute="bottom" id="oPE-ST-BIo"/> | 593 | <constraint firstAttribute="bottom" secondItem="aKu-bd-xMP" secondAttribute="bottom" id="oPE-ST-BIo"/> |
592 | </constraints> | 594 | </constraints> |
593 | <freeformSimulatedSizeMetrics key="simulatedDestinationMetrics"/> | 595 | <freeformSimulatedSizeMetrics key="simulatedDestinationMetrics"/> |
594 | <point key="canvasLocation" x="26" y="125"/> | 596 | <point key="canvasLocation" x="26" y="125"/> |
595 | </view> | 597 | </view> |
596 | </objects> | 598 | </objects> |
597 | <resources> | 599 | <resources> |
598 | <image name="icon_menu" width="30" height="30"/> | 600 | <image name="icon_menu" width="30" height="30"/> |
599 | <image name="today_back_button" width="73" height="37"/> | 601 | <image name="today_back_button" width="73" height="37"/> |
600 | </resources> | 602 | </resources> |
601 | </document> | 603 | </document> |
602 | 604 |
LifeLog/LifeLog/GroupDetailViewController.h
1 | // | 1 | // |
2 | // GroupDetailViewController.h | 2 | // GroupDetailViewController.h |
3 | // LifeLog | 3 | // LifeLog |
4 | // | 4 | // |
5 | // Created by nvtu on 8/13/17. | 5 | // Created by nvtu on 8/13/17. |
6 | // Copyright © 2017 PhongNV. All rights reserved. | 6 | // Copyright © 2017 PhongNV. All rights reserved. |
7 | // | 7 | // |
8 | 8 | ||
9 | #import <UIKit/UIKit.h> | 9 | #import <UIKit/UIKit.h> |
10 | #import "BaseTableViewController.h" | 10 | #import "BaseTableViewController.h" |
11 | #import "Entities.h" | 11 | #import "Entities.h" |
12 | #import "AutoTransButton.h" | 12 | #import "AutoTransButton.h" |
13 | 13 | ||
14 | @interface GroupDetailViewController : BaseTableViewController { | 14 | @interface GroupDetailViewController : BaseTableViewController { |
15 | GroupObject * _curGroup; | 15 | GroupObject * _curGroup; |
16 | BOOL isMemberList; | 16 | BOOL isMemberList; |
17 | } | 17 | } |
18 | @property (weak, nonatomic) IBOutlet UIView *viewHeader; | ||
18 | @property (weak, nonatomic) IBOutlet UIImageView *imgAva; | 19 | @property (weak, nonatomic) IBOutlet UIImageView *imgAva; |
19 | 20 | ||
20 | @property (weak, nonatomic) IBOutlet UILabel *lblGrpName; | 21 | @property (weak, nonatomic) IBOutlet UILabel *lblGrpName; |
21 | @property (weak, nonatomic) IBOutlet UILabel *lbbGrpActiveMode; | 22 | @property (weak, nonatomic) IBOutlet UILabel *lbbGrpActiveMode; |
22 | @property (weak, nonatomic) IBOutlet UILabel *lblGrpGoal; | 23 | @property (weak, nonatomic) IBOutlet UILabel *lblGrpGoal; |
23 | @property (weak, nonatomic) IBOutlet AutoTransButton *btJoinGrp; | 24 | @property (weak, nonatomic) IBOutlet AutoTransButton *btJoinGrp; |
24 | @property (weak, nonatomic) IBOutlet AutoTransButton *btSwitch; | 25 | @property (weak, nonatomic) IBOutlet AutoTransButton *btSwitch; |
25 | 26 | ||
26 | - (void) setGroup : (GroupObject *) object; | 27 | - (void) setGroup : (GroupObject *) object; |
27 | - (void) requestGroupDetail; | 28 | - (void) requestGroupDetail; |
28 | 29 | ||
29 | - (IBAction)clickBack:(id)sender; | 30 | - (IBAction)clickBack:(id)sender; |
30 | - (IBAction)clickSwitch:(AutoTransButton *)sender; | 31 | - (IBAction)clickSwitch:(AutoTransButton *)sender; |
31 | - (IBAction)clickJoin:(AutoTransButton *)sender; | 32 | - (IBAction)clickJoin:(AutoTransButton *)sender; |
32 | @end | 33 | @end |
33 | 34 |
LifeLog/LifeLog/GroupDetailViewController.m
1 | // | 1 | // |
2 | // GroupDetailViewController.m | 2 | // GroupDetailViewController.m |
3 | // LifeLog | 3 | // LifeLog |
4 | // | 4 | // |
5 | // Created by nvtu on 8/13/17. | 5 | // Created by nvtu on 8/13/17. |
6 | // Copyright © 2017 PhongNV. All rights reserved. | 6 | // Copyright © 2017 PhongNV. All rights reserved. |
7 | // | 7 | // |
8 | 8 | ||
9 | #import "GroupDetailViewController.h" | 9 | #import "GroupDetailViewController.h" |
10 | #import <SDWebImage/UIImageView+WebCache.h> | 10 | #import <SDWebImage/UIImageView+WebCache.h> |
11 | 11 | ||
12 | #import "Utilities.h" | 12 | #import "Utilities.h" |
13 | #import "ServerAPI.h" | 13 | #import "ServerAPI.h" |
14 | #import "SNSRecentTopicTableViewCell.h" | 14 | #import "SNSRecentTopicTableViewCell.h" |
15 | 15 | ||
16 | @interface GroupDetailViewController () | 16 | @interface GroupDetailViewController () |
17 | 17 | ||
18 | @end | 18 | @end |
19 | 19 | ||
20 | @implementation GroupDetailViewController | 20 | @implementation GroupDetailViewController |
21 | 21 | ||
22 | - (void)viewDidLoad { | 22 | - (void)viewDidLoad { |
23 | [super viewDidLoad]; | 23 | [super viewDidLoad]; |
24 | [self.view addConstraint:[NSLayoutConstraint constraintWithItem:self.topLayoutGuide attribute:NSLayoutAttributeBottom relatedBy:NSLayoutRelationEqual toItem:self.viewHeader attribute:NSLayoutAttributeTop multiplier:1 constant:0]]; | ||
24 | isMemberList = false; | 25 | isMemberList = false; |
25 | //register nib for table view | 26 | //register nib for table view |
26 | [self.tableBase registerNib:[UINib nibWithNibName:@"SNSRecentTopicTableViewCell" bundle:nil] forCellReuseIdentifier:@"RecentTopicCell"]; | 27 | [self.tableBase registerNib:[UINib nibWithNibName:@"SNSRecentTopicTableViewCell" bundle:nil] forCellReuseIdentifier:@"RecentTopicCell"]; |
27 | if(_curGroup != nil) { | 28 | if(_curGroup != nil) { |
28 | [self requestGroupDetail]; | 29 | [self requestGroupDetail]; |
29 | } | 30 | } |
30 | // Do any additional setup after loading the view from its nib. | 31 | // Do any additional setup after loading the view from its nib. |
31 | } | 32 | } |
32 | 33 | ||
33 | - (void)didReceiveMemoryWarning { | 34 | - (void)didReceiveMemoryWarning { |
34 | [super didReceiveMemoryWarning]; | 35 | [super didReceiveMemoryWarning]; |
35 | // Dispose of any resources that can be recreated. | 36 | // Dispose of any resources that can be recreated. |
36 | } | 37 | } |
37 | 38 | ||
38 | - (void) setGroup : (GroupObject *) object { | 39 | - (void) setGroup : (GroupObject *) object { |
39 | _curGroup = object; | 40 | _curGroup = object; |
40 | } | 41 | } |
41 | 42 | ||
42 | - (void)setupView { | 43 | - (void)setupView { |
43 | if(_curGroup != nil) { | 44 | if(_curGroup != nil) { |
44 | if(self.imgAva != nil && _curGroup.avatar && ![_curGroup.avatar isKindOfClass:[NSNull class]]) { | 45 | if(self.imgAva != nil && _curGroup.avatar && ![_curGroup.avatar isKindOfClass:[NSNull class]]) { |
45 | [self.imgAva sd_setImageWithURL:[NSURL URLWithString:[Utilities getImageLink:_curGroup.avatar]]]; | 46 | [self.imgAva sd_setImageWithURL:[NSURL URLWithString:[Utilities getImageLink:_curGroup.avatar]]]; |
46 | } | 47 | } |
47 | if(self.lblGrpName != nil) { | 48 | if(self.lblGrpName != nil) { |
48 | [self.lblGrpName setText:_curGroup.name]; | 49 | [self.lblGrpName setText:_curGroup.name]; |
49 | } | 50 | } |
50 | if(self.btJoinGrp != nil) { | 51 | if(self.btJoinGrp != nil) { |
51 | [self.btJoinGrp setHidden:false]; | 52 | [self.btJoinGrp setHidden:false]; |
52 | } | 53 | } |
53 | NSString *mode = @""; | 54 | NSString *mode = @""; |
54 | NSString *goalText = [NSString stringWithFormat:@"%@\n", _curGroup.goal]; | 55 | NSString *goalText = [NSString stringWithFormat:@"%@\n", _curGroup.goal]; |
55 | if(_curGroup.runMode || _curGroup.walkMode || _curGroup.bikeMode) { | 56 | if(_curGroup.runMode || _curGroup.walkMode || _curGroup.bikeMode) { |
56 | goalText = [goalText stringByAppendingString:@"1日 目標 "]; | 57 | goalText = [goalText stringByAppendingString:@"1日 目標 "]; |
57 | } | 58 | } |
58 | if(_curGroup.runMode) { | 59 | if(_curGroup.runMode) { |
59 | mode = [mode stringByAppendingString:NSLocalizedString(@"lifelog.grDetail.mode.running", nil)]; | 60 | mode = [mode stringByAppendingString:NSLocalizedString(@"lifelog.grDetail.mode.running", nil)]; |
60 | mode = [mode stringByAppendingString:@"\n"]; | 61 | mode = [mode stringByAppendingString:@"\n"]; |
61 | goalText = [goalText stringByAppendingFormat:@"RUN %dm, ", _curGroup.runGoal]; | 62 | goalText = [goalText stringByAppendingFormat:@"RUN %dm, ", _curGroup.runGoal]; |
62 | } | 63 | } |
63 | if(_curGroup.walkMode) { | 64 | if(_curGroup.walkMode) { |
64 | mode = [mode stringByAppendingString:NSLocalizedString(@"lifelog.grDetail.mode.walking", nil)]; | 65 | mode = [mode stringByAppendingString:NSLocalizedString(@"lifelog.grDetail.mode.walking", nil)]; |
65 | mode = [mode stringByAppendingString:@"\n"]; | 66 | mode = [mode stringByAppendingString:@"\n"]; |
66 | goalText = [goalText stringByAppendingFormat:@"WALK %dm, ", _curGroup.walkGoal]; | 67 | goalText = [goalText stringByAppendingFormat:@"WALK %dm, ", _curGroup.walkGoal]; |
67 | } | 68 | } |
68 | if(_curGroup.bikeMode) { | 69 | if(_curGroup.bikeMode) { |
69 | mode = [mode stringByAppendingString:NSLocalizedString(@"lifelog.grDetail.mode.bike", nil)]; | 70 | mode = [mode stringByAppendingString:NSLocalizedString(@"lifelog.grDetail.mode.bike", nil)]; |
70 | mode = [mode stringByAppendingString:@"\n"]; | 71 | mode = [mode stringByAppendingString:@"\n"]; |
71 | goalText = [goalText stringByAppendingFormat:@"BIKE %dm, ", _curGroup.bikeGoal]; | 72 | goalText = [goalText stringByAppendingFormat:@"BIKE %dm, ", _curGroup.bikeGoal]; |
72 | } | 73 | } |
73 | if(_curGroup.stepMode) { | 74 | if(_curGroup.stepMode) { |
74 | mode = [mode stringByAppendingString:NSLocalizedString(@"lifelog.grDetail.mode.step", nil)]; | 75 | mode = [mode stringByAppendingString:NSLocalizedString(@"lifelog.grDetail.mode.step", nil)]; |
75 | mode = [mode stringByAppendingString:@"\n"]; | 76 | mode = [mode stringByAppendingString:@"\n"]; |
76 | } | 77 | } |
77 | if(_curGroup.beginMode) { | 78 | if(_curGroup.beginMode) { |
78 | mode = [mode stringByAppendingString:NSLocalizedString(@"lifelog.grDetail.mode.begin", nil)]; | 79 | mode = [mode stringByAppendingString:NSLocalizedString(@"lifelog.grDetail.mode.begin", nil)]; |
79 | mode = [mode stringByAppendingString:@"\n"]; | 80 | mode = [mode stringByAppendingString:@"\n"]; |
80 | } | 81 | } |
81 | if(_curGroup.gymMode) { | 82 | if(_curGroup.gymMode) { |
82 | mode = [mode stringByAppendingString:NSLocalizedString(@"lifelog.grDetail.mode.gym", nil)]; | 83 | mode = [mode stringByAppendingString:NSLocalizedString(@"lifelog.grDetail.mode.gym", nil)]; |
83 | mode = [mode stringByAppendingString:@"\n"]; | 84 | mode = [mode stringByAppendingString:@"\n"]; |
84 | } | 85 | } |
85 | NSRange range = [mode rangeOfString:@"\n" options:NSBackwardsSearch]; | 86 | NSRange range = [mode rangeOfString:@"\n" options:NSBackwardsSearch]; |
86 | if(range.length > 0) { | 87 | if(range.length > 0) { |
87 | mode = [mode stringByReplacingOccurrencesOfString:@"\n" withString:@"" options:NSBackwardsSearch range:range]; | 88 | mode = [mode stringByReplacingOccurrencesOfString:@"\n" withString:@"" options:NSBackwardsSearch range:range]; |
88 | } | 89 | } |
89 | range = [goalText rangeOfString:@", " options:NSBackwardsSearch]; | 90 | range = [goalText rangeOfString:@", " options:NSBackwardsSearch]; |
90 | if(range.length > 0) { | 91 | if(range.length > 0) { |
91 | goalText = [goalText stringByReplacingOccurrencesOfString:@", " withString:@"" options:NSBackwardsSearch range:range]; | 92 | goalText = [goalText stringByReplacingOccurrencesOfString:@", " withString:@"" options:NSBackwardsSearch range:range]; |
92 | } | 93 | } |
93 | [self.lbbGrpActiveMode setText:mode]; | 94 | [self.lbbGrpActiveMode setText:mode]; |
94 | [self.lblGrpGoal setText:goalText]; | 95 | [self.lblGrpGoal setText:goalText]; |
95 | } | 96 | } |
96 | } | 97 | } |
97 | 98 | ||
98 | - (void) requestGroupDetail { | 99 | - (void) requestGroupDetail { |
99 | NSString * token = [[NSUserDefaults standardUserDefaults] stringForKey:kToken]; | 100 | NSString * token = [[NSUserDefaults standardUserDefaults] stringForKey:kToken]; |
100 | MBProgressHUD *hudView = [MBProgressHUD showHUDAddedTo:self.view animated:true]; | 101 | MBProgressHUD *hudView = [MBProgressHUD showHUDAddedTo:self.view animated:true]; |
101 | [[ServerAPI server] getGroupDetail:token withGroupID:_curGroup.groupID CompletionHandler:^(GroupObject *object, NSError *error) { | 102 | [[ServerAPI server] getGroupDetail:token withGroupID:_curGroup.groupID CompletionHandler:^(GroupObject *object, NSError *error) { |
102 | GroupDetailViewController __weak *weakSelf = self; | 103 | GroupDetailViewController __weak *weakSelf = self; |
103 | [_curGroup updateDate:object]; | 104 | [_curGroup updateDate:object]; |
104 | dispatch_async(dispatch_get_main_queue(), ^{ | 105 | dispatch_async(dispatch_get_main_queue(), ^{ |
105 | [hudView hideAnimated:true]; | 106 | [hudView hideAnimated:true]; |
106 | [weakSelf setupView]; | 107 | [weakSelf setupView]; |
107 | [weakSelf callRequestToUpdateData]; | 108 | [weakSelf callRequestToUpdateData]; |
108 | }); | 109 | }); |
109 | }]; | 110 | }]; |
110 | } | 111 | } |
111 | 112 | ||
112 | #pragma mark IBAction | 113 | #pragma mark IBAction |
113 | 114 | ||
114 | - (IBAction)clickBack:(id)sender { | 115 | - (IBAction)clickBack:(id)sender { |
115 | [self.navigationController popViewControllerAnimated:true]; | 116 | [self.navigationController popViewControllerAnimated:true]; |
116 | } | 117 | } |
117 | 118 | ||
118 | - (IBAction)clickSwitch:(AutoTransButton *)sender { | 119 | - (IBAction)clickSwitch:(AutoTransButton *)sender { |
119 | isMemberList = !isMemberList; | 120 | isMemberList = !isMemberList; |
120 | if(isMemberList) { | 121 | if(isMemberList) { |
121 | [sender setTitle:NSLocalizedString(@"lifelog.grDetail.bt.viewTweet", nil) forState:UIControlStateNormal]; | 122 | [sender setTitle:NSLocalizedString(@"lifelog.grDetail.bt.viewTweet", nil) forState:UIControlStateNormal]; |
122 | } | 123 | } |
123 | else { | 124 | else { |
124 | [sender setTitle:NSLocalizedString(@"lifelog.grDetail.bt.viewMem", nil) forState:UIControlStateNormal]; | 125 | [sender setTitle:NSLocalizedString(@"lifelog.grDetail.bt.viewMem", nil) forState:UIControlStateNormal]; |
125 | } | 126 | } |
126 | [sender setUserInteractionEnabled:false]; | 127 | [sender setUserInteractionEnabled:false]; |
127 | [self resetData]; | 128 | [self resetData]; |
128 | } | 129 | } |
129 | 130 | ||
130 | - (IBAction)clickJoin:(AutoTransButton *)sender { | 131 | - (IBAction)clickJoin:(AutoTransButton *)sender { |
131 | NSString * token = [[NSUserDefaults standardUserDefaults] stringForKey:kToken]; | 132 | NSString * token = [[NSUserDefaults standardUserDefaults] stringForKey:kToken]; |
132 | MBProgressHUD *hudView = [MBProgressHUD showHUDAddedTo:self.view animated:true]; | 133 | MBProgressHUD *hudView = [MBProgressHUD showHUDAddedTo:self.view animated:true]; |
133 | [[ServerAPI server] requestJoinGroup:token groupID:_curGroup.groupID CompletionHandler:^(NSError *error){ | 134 | [[ServerAPI server] requestJoinGroup:token groupID:_curGroup.groupID CompletionHandler:^(NSError *error){ |
134 | GroupDetailViewController __weak *weakSelf = self; | 135 | GroupDetailViewController __weak *weakSelf = self; |
135 | dispatch_async(dispatch_get_main_queue(), ^{ | 136 | dispatch_async(dispatch_get_main_queue(), ^{ |
136 | [hudView hideAnimated:true]; | 137 | [hudView hideAnimated:true]; |
137 | if(error == nil) { | 138 | if(error == nil) { |
138 | _curGroup.isJoin = true; | 139 | _curGroup.isJoin = true; |
139 | [weakSelf.btJoinGrp setHidden:_curGroup.isJoin]; | 140 | [weakSelf.btJoinGrp setHidden:_curGroup.isJoin]; |
140 | [Utilities showMessage:@"Join successfully" withViewController:weakSelf]; | 141 | [Utilities showMessage:@"Join successfully" withViewController:weakSelf]; |
141 | } | 142 | } |
142 | }); | 143 | }); |
143 | }]; | 144 | }]; |
144 | 145 | ||
145 | } | 146 | } |
146 | 147 | ||
147 | 148 | ||
148 | 149 | ||
149 | #pragma mark UITableView Delegate | 150 | #pragma mark UITableView Delegate |
150 | - (UITableViewCell *) tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath { | 151 | - (UITableViewCell *) tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath { |
151 | SNSRecentTopicTableViewCell * cell = [tableView dequeueReusableCellWithIdentifier:@"RecentTopicCell"]; | 152 | SNSRecentTopicTableViewCell * cell = [tableView dequeueReusableCellWithIdentifier:@"RecentTopicCell"]; |
152 | if(isMemberList) { | 153 | if(isMemberList) { |
153 | MemberObject *object = [_curDataList objectAtIndex:indexPath.row]; | 154 | MemberObject *object = [_curDataList objectAtIndex:indexPath.row]; |
154 | [cell setMemberData:object]; | 155 | [cell setMemberData:object]; |
155 | } | 156 | } |
156 | else { | 157 | else { |
157 | TweetObject *object = [_curDataList objectAtIndex:indexPath.row]; | 158 | TweetObject *object = [_curDataList objectAtIndex:indexPath.row]; |
158 | [cell setTweetsData:object]; | 159 | [cell setTweetsData:object]; |
159 | } | 160 | } |
160 | 161 | ||
161 | return cell; | 162 | return cell; |
162 | } | 163 | } |
163 | 164 | ||
164 | #pragma mark Private Function | 165 | #pragma mark Private Function |
165 | 166 | ||
166 | -(void) callRequestToUpdateData { | 167 | -(void) callRequestToUpdateData { |
167 | [super callRequestToUpdateData]; | 168 | [super callRequestToUpdateData]; |
168 | 169 | ||
169 | NSString * token = [[NSUserDefaults standardUserDefaults] stringForKey:kToken]; | 170 | NSString * token = [[NSUserDefaults standardUserDefaults] stringForKey:kToken]; |
170 | MBProgressHUD *hudView = nil; | 171 | MBProgressHUD *hudView = nil; |
171 | if(_curPage == 1 && !self.refreshControl.isRefreshing) { | 172 | if(_curPage == 1 && !self.refreshControl.isRefreshing) { |
172 | hudView = [MBProgressHUD showHUDAddedTo:self.view animated:true]; | 173 | hudView = [MBProgressHUD showHUDAddedTo:self.view animated:true]; |
173 | } | 174 | } |
174 | if(isMemberList) { | 175 | if(isMemberList) { |
175 | [[ServerAPI server] requestMemberList:token groupID:_curGroup.groupID withPage:_curPage CompletionHandler:^(NSArray *array, NSError *error){ | 176 | [[ServerAPI server] requestMemberList:token groupID:_curGroup.groupID withPage:_curPage CompletionHandler:^(NSArray *array, NSError *error){ |
176 | dispatch_async(dispatch_get_main_queue(), ^{ | 177 | dispatch_async(dispatch_get_main_queue(), ^{ |
177 | if(hudView != nil) { | 178 | if(hudView != nil) { |
178 | [hudView hideAnimated:true]; | 179 | [hudView hideAnimated:true]; |
179 | } | 180 | } |
180 | }); | 181 | }); |
181 | GroupDetailViewController __weak *weakSelf = self; | 182 | GroupDetailViewController __weak *weakSelf = self; |
182 | [weakSelf updateTableData:array error:error]; | 183 | [weakSelf updateTableData:array error:error]; |
183 | [weakSelf.btSwitch setUserInteractionEnabled:true]; | 184 | [weakSelf.btSwitch setUserInteractionEnabled:true]; |
184 | }]; | 185 | }]; |
185 | } | 186 | } |
186 | else { | 187 | else { |
187 | [[ServerAPI server] requestTweetsList:token groupID:_curGroup.groupID withPage:_curPage CompletionHandler:^(NSArray *array, NSError *error){ | 188 | [[ServerAPI server] requestTweetsList:token groupID:_curGroup.groupID withPage:_curPage CompletionHandler:^(NSArray *array, NSError *error){ |
188 | dispatch_async(dispatch_get_main_queue(), ^{ | 189 | dispatch_async(dispatch_get_main_queue(), ^{ |
189 | if(hudView != nil) { | 190 | if(hudView != nil) { |
190 | [hudView hideAnimated:true]; | 191 | [hudView hideAnimated:true]; |
191 | } | 192 | } |
192 | }); | 193 | }); |
193 | GroupDetailViewController __weak *weakSelf = self; | 194 | GroupDetailViewController __weak *weakSelf = self; |
194 | [weakSelf updateTableData:array error:error]; | 195 | [weakSelf updateTableData:array error:error]; |
195 | [weakSelf.btSwitch setUserInteractionEnabled:true]; | 196 | [weakSelf.btSwitch setUserInteractionEnabled:true]; |
196 | }]; | 197 | }]; |
197 | } | 198 | } |
198 | } | 199 | } |
199 | 200 | ||
200 | @end | 201 | @end |
201 | 202 |
LifeLog/LifeLog/GroupDetailViewController.xib
1 | <?xml version="1.0" encoding="UTF-8"?> | 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="13529" targetRuntime="iOS.CocoaTouch" propertyAccessControl="none" useAutolayout="YES" useTraitCollections="YES" colorMatched="YES"> |
3 | <device id="retina4_7" orientation="portrait"> | 3 | <device id="retina4_7" orientation="portrait"> |
4 | <adaptation id="fullscreen"/> | 4 | <adaptation id="fullscreen"/> |
5 | </device> | 5 | </device> |
6 | <dependencies> | 6 | <dependencies> |
7 | <plugIn identifier="com.apple.InterfaceBuilder.IBCocoaTouchPlugin" version="12086"/> | 7 | <deployment identifier="iOS"/> |
8 | <plugIn identifier="com.apple.InterfaceBuilder.IBCocoaTouchPlugin" version="13527"/> | ||
8 | <capability name="documents saved in the Xcode 8 format" minToolsVersion="8.0"/> | 9 | <capability name="documents saved in the Xcode 8 format" minToolsVersion="8.0"/> |
9 | </dependencies> | 10 | </dependencies> |
10 | <objects> | 11 | <objects> |
11 | <placeholder placeholderIdentifier="IBFilesOwner" id="-1" userLabel="File's Owner" customClass="GroupDetailViewController"> | 12 | <placeholder placeholderIdentifier="IBFilesOwner" id="-1" userLabel="File's Owner" customClass="GroupDetailViewController"> |
12 | <connections> | 13 | <connections> |
13 | <outlet property="btJoinGrp" destination="caN-x7-hJz" id="B17-YC-Rmk"/> | 14 | <outlet property="btJoinGrp" destination="caN-x7-hJz" id="B17-YC-Rmk"/> |
14 | <outlet property="btSwitch" destination="gBg-k9-tgw" id="3ZZ-Qb-d3a"/> | 15 | <outlet property="btSwitch" destination="gBg-k9-tgw" id="3ZZ-Qb-d3a"/> |
15 | <outlet property="imgAva" destination="qYg-Gw-R2b" id="f9w-A2-u4G"/> | 16 | <outlet property="imgAva" destination="qYg-Gw-R2b" id="f9w-A2-u4G"/> |
16 | <outlet property="lbbGrpActiveMode" destination="O8z-6V-YFd" id="s8J-3i-pW3"/> | 17 | <outlet property="lbbGrpActiveMode" destination="O8z-6V-YFd" id="s8J-3i-pW3"/> |
17 | <outlet property="lblGrpGoal" destination="Bdy-dI-j47" id="AKx-8y-Ifm"/> | 18 | <outlet property="lblGrpGoal" destination="Bdy-dI-j47" id="AKx-8y-Ifm"/> |
18 | <outlet property="lblGrpName" destination="YWV-pS-TCo" id="VeU-Ov-uSD"/> | 19 | <outlet property="lblGrpName" destination="YWV-pS-TCo" id="VeU-Ov-uSD"/> |
19 | <outlet property="tableBase" destination="4VU-Ye-7Au" id="m1e-cS-Sxf"/> | 20 | <outlet property="tableBase" destination="4VU-Ye-7Au" id="m1e-cS-Sxf"/> |
20 | <outlet property="view" destination="i5M-Pr-FkT" id="sfx-zR-JGt"/> | 21 | <outlet property="view" destination="i5M-Pr-FkT" id="sfx-zR-JGt"/> |
22 | <outlet property="viewHeader" destination="25d-3H-0fr" id="yBY-1c-Qeh"/> | ||
21 | </connections> | 23 | </connections> |
22 | </placeholder> | 24 | </placeholder> |
23 | <placeholder placeholderIdentifier="IBFirstResponder" id="-2" customClass="UIResponder"/> | 25 | <placeholder placeholderIdentifier="IBFirstResponder" id="-2" customClass="UIResponder"/> |
24 | <view clearsContextBeforeDrawing="NO" contentMode="scaleToFill" id="i5M-Pr-FkT"> | 26 | <view clearsContextBeforeDrawing="NO" contentMode="scaleToFill" id="i5M-Pr-FkT"> |
25 | <rect key="frame" x="0.0" y="0.0" width="320" height="567"/> | 27 | <rect key="frame" x="0.0" y="0.0" width="320" height="567"/> |
26 | <autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/> | 28 | <autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/> |
27 | <subviews> | 29 | <subviews> |
28 | <view contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="25d-3H-0fr" userLabel="ViewHeader"> | 30 | <view contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="25d-3H-0fr" userLabel="ViewHeader"> |
29 | <rect key="frame" x="0.0" y="0.0" width="320" height="46"/> | 31 | <rect key="frame" x="0.0" y="0.0" width="320" height="46"/> |
30 | <subviews> | 32 | <subviews> |
31 | <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="SNS" textAlignment="center" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="DxD-Cy-0wi" customClass="AutoTransLabel"> | 33 | <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="SNS" textAlignment="center" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="DxD-Cy-0wi" customClass="AutoTransLabel"> |
32 | <rect key="frame" x="0.0" y="0.0" width="320" height="46"/> | 34 | <rect key="frame" x="0.0" y="0.0" width="320" height="46"/> |
33 | <fontDescription key="fontDescription" type="system" pointSize="17"/> | 35 | <fontDescription key="fontDescription" type="system" pointSize="17"/> |
34 | <color key="textColor" white="1" alpha="1" colorSpace="calibratedWhite"/> | 36 | <color key="textColor" white="1" alpha="1" colorSpace="calibratedWhite"/> |
35 | <nil key="highlightedColor"/> | 37 | <nil key="highlightedColor"/> |
36 | <userDefinedRuntimeAttributes> | 38 | <userDefinedRuntimeAttributes> |
37 | <userDefinedRuntimeAttribute type="string" keyPath="localizeKey" value="lifelog.grDetail.title"/> | 39 | <userDefinedRuntimeAttribute type="string" keyPath="localizeKey" value="lifelog.grDetail.title"/> |
38 | </userDefinedRuntimeAttributes> | 40 | </userDefinedRuntimeAttributes> |
39 | </label> | 41 | </label> |
40 | <button opaque="NO" contentMode="scaleToFill" contentHorizontalAlignment="center" contentVerticalAlignment="center" lineBreakMode="middleTruncation" translatesAutoresizingMaskIntoConstraints="NO" id="O3M-Ba-zHF"> | 42 | <button opaque="NO" contentMode="scaleToFill" contentHorizontalAlignment="center" contentVerticalAlignment="center" lineBreakMode="middleTruncation" translatesAutoresizingMaskIntoConstraints="NO" id="O3M-Ba-zHF"> |
41 | <rect key="frame" x="0.0" y="5" width="70" height="36"/> | 43 | <rect key="frame" x="0.0" y="5" width="70" height="36"/> |
42 | <constraints> | 44 | <constraints> |
43 | <constraint firstAttribute="width" constant="70" id="2Mk-ly-c0t"/> | 45 | <constraint firstAttribute="width" constant="70" id="2Mk-ly-c0t"/> |
44 | </constraints> | 46 | </constraints> |
45 | <state key="normal" image="today_back_button"/> | 47 | <state key="normal" image="today_back_button"/> |
46 | <connections> | 48 | <connections> |
47 | <action selector="clickBack:" destination="-1" eventType="touchUpInside" id="gS4-F3-fzi"/> | 49 | <action selector="clickBack:" destination="-1" eventType="touchUpInside" id="gS4-F3-fzi"/> |
48 | </connections> | 50 | </connections> |
49 | </button> | 51 | </button> |
50 | <button opaque="NO" contentMode="scaleToFill" contentHorizontalAlignment="center" contentVerticalAlignment="center" lineBreakMode="middleTruncation" translatesAutoresizingMaskIntoConstraints="NO" id="y09-DG-Krp"> | 52 | <button opaque="NO" contentMode="scaleToFill" contentHorizontalAlignment="center" contentVerticalAlignment="center" lineBreakMode="middleTruncation" translatesAutoresizingMaskIntoConstraints="NO" id="y09-DG-Krp"> |
51 | <rect key="frame" x="275" y="0.0" width="45" height="46"/> | 53 | <rect key="frame" x="275" y="0.0" width="45" height="46"/> |
52 | <constraints> | 54 | <constraints> |
53 | <constraint firstAttribute="width" constant="45" id="hHa-aE-1zd"/> | 55 | <constraint firstAttribute="width" constant="45" id="hHa-aE-1zd"/> |
54 | </constraints> | 56 | </constraints> |
55 | <state key="normal" image="icon_menu"/> | 57 | <state key="normal" image="icon_menu"/> |
56 | </button> | 58 | </button> |
57 | </subviews> | 59 | </subviews> |
58 | <color key="backgroundColor" red="0.098039215690000001" green="0.098039215690000001" blue="0.098039215690000001" alpha="1" colorSpace="custom" customColorSpace="sRGB"/> | 60 | <color key="backgroundColor" red="0.0" green="0.0" blue="0.21960784310000001" alpha="1" colorSpace="custom" customColorSpace="sRGB"/> |
59 | <constraints> | 61 | <constraints> |
60 | <constraint firstItem="y09-DG-Krp" firstAttribute="top" secondItem="25d-3H-0fr" secondAttribute="top" id="65z-ZM-a3D"/> | 62 | <constraint firstItem="y09-DG-Krp" firstAttribute="top" secondItem="25d-3H-0fr" secondAttribute="top" id="65z-ZM-a3D"/> |
61 | <constraint firstItem="O3M-Ba-zHF" firstAttribute="leading" secondItem="25d-3H-0fr" secondAttribute="leading" id="CQk-IB-W9y"/> | 63 | <constraint firstItem="O3M-Ba-zHF" firstAttribute="leading" secondItem="25d-3H-0fr" secondAttribute="leading" id="CQk-IB-W9y"/> |
62 | <constraint firstAttribute="bottom" secondItem="y09-DG-Krp" secondAttribute="bottom" id="IWC-4b-gp6"/> | 64 | <constraint firstAttribute="bottom" secondItem="y09-DG-Krp" secondAttribute="bottom" id="IWC-4b-gp6"/> |
63 | <constraint firstItem="O3M-Ba-zHF" firstAttribute="top" secondItem="25d-3H-0fr" secondAttribute="top" constant="5" id="JWL-bD-I2Z"/> | 65 | <constraint firstItem="O3M-Ba-zHF" firstAttribute="top" secondItem="25d-3H-0fr" secondAttribute="top" constant="5" id="JWL-bD-I2Z"/> |
64 | <constraint firstItem="DxD-Cy-0wi" firstAttribute="top" secondItem="25d-3H-0fr" secondAttribute="top" id="WYM-oV-6xn"/> | 66 | <constraint firstItem="DxD-Cy-0wi" firstAttribute="top" secondItem="25d-3H-0fr" secondAttribute="top" id="WYM-oV-6xn"/> |
65 | <constraint firstAttribute="bottom" secondItem="O3M-Ba-zHF" secondAttribute="bottom" constant="5" id="ZA0-Bo-IQF"/> | 67 | <constraint firstAttribute="bottom" secondItem="O3M-Ba-zHF" secondAttribute="bottom" constant="5" id="ZA0-Bo-IQF"/> |
66 | <constraint firstItem="DxD-Cy-0wi" firstAttribute="leading" secondItem="25d-3H-0fr" secondAttribute="leading" id="cbx-fE-OaR"/> | 68 | <constraint firstItem="DxD-Cy-0wi" firstAttribute="leading" secondItem="25d-3H-0fr" secondAttribute="leading" id="cbx-fE-OaR"/> |
67 | <constraint firstAttribute="trailing" secondItem="DxD-Cy-0wi" secondAttribute="trailing" id="i0L-w8-Oxm"/> | 69 | <constraint firstAttribute="trailing" secondItem="DxD-Cy-0wi" secondAttribute="trailing" id="i0L-w8-Oxm"/> |
68 | <constraint firstAttribute="trailing" secondItem="y09-DG-Krp" secondAttribute="trailing" id="nNZ-jP-k6U"/> | 70 | <constraint firstAttribute="trailing" secondItem="y09-DG-Krp" secondAttribute="trailing" id="nNZ-jP-k6U"/> |
69 | <constraint firstAttribute="bottom" secondItem="DxD-Cy-0wi" secondAttribute="bottom" id="oxP-oa-3FJ"/> | 71 | <constraint firstAttribute="bottom" secondItem="DxD-Cy-0wi" secondAttribute="bottom" id="oxP-oa-3FJ"/> |
70 | <constraint firstAttribute="height" constant="46" id="u2G-4s-RB5"/> | 72 | <constraint firstAttribute="height" constant="46" id="u2G-4s-RB5"/> |
71 | </constraints> | 73 | </constraints> |
72 | </view> | 74 | </view> |
73 | <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="" textAlignment="natural" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="YWV-pS-TCo"> | 75 | <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="" textAlignment="natural" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="YWV-pS-TCo"> |
74 | <rect key="frame" x="15" y="54" width="290" height="21"/> | 76 | <rect key="frame" x="15" y="54" width="290" height="21"/> |
75 | <constraints> | 77 | <constraints> |
76 | <constraint firstAttribute="height" constant="21" id="fQO-ja-W9R"/> | 78 | <constraint firstAttribute="height" constant="21" id="fQO-ja-W9R"/> |
77 | </constraints> | 79 | </constraints> |
78 | <fontDescription key="fontDescription" type="system" pointSize="15"/> | 80 | <fontDescription key="fontDescription" type="system" pointSize="15"/> |
79 | <color key="textColor" white="1" alpha="1" colorSpace="calibratedWhite"/> | 81 | <color key="textColor" white="1" alpha="1" colorSpace="calibratedWhite"/> |
80 | <nil key="highlightedColor"/> | 82 | <nil key="highlightedColor"/> |
81 | </label> | 83 | </label> |
82 | <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="" textAlignment="natural" lineBreakMode="tailTruncation" numberOfLines="0" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="O8z-6V-YFd"> | 84 | <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="" textAlignment="natural" lineBreakMode="tailTruncation" numberOfLines="0" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="O8z-6V-YFd"> |
83 | <rect key="frame" x="15" y="85" width="188" height="60"/> | 85 | <rect key="frame" x="15" y="85" width="188" height="60"/> |
84 | <color key="backgroundColor" white="0.0" alpha="0.0" colorSpace="calibratedWhite"/> | 86 | <color key="backgroundColor" white="0.0" alpha="0.0" colorSpace="calibratedWhite"/> |
85 | <constraints> | 87 | <constraints> |
86 | <constraint firstAttribute="height" relation="greaterThanOrEqual" constant="60" id="Bid-NM-Ree"/> | 88 | <constraint firstAttribute="height" relation="greaterThanOrEqual" constant="60" id="Bid-NM-Ree"/> |
87 | </constraints> | 89 | </constraints> |
88 | <fontDescription key="fontDescription" type="system" pointSize="14"/> | 90 | <fontDescription key="fontDescription" type="system" pointSize="14"/> |
89 | <color key="textColor" white="1" alpha="1" colorSpace="calibratedWhite"/> | 91 | <color key="textColor" white="1" alpha="1" colorSpace="calibratedWhite"/> |
90 | <nil key="highlightedColor"/> | 92 | <nil key="highlightedColor"/> |
91 | </label> | 93 | </label> |
92 | <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="" textAlignment="natural" lineBreakMode="tailTruncation" numberOfLines="0" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="Bdy-dI-j47"> | 94 | <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="" textAlignment="natural" lineBreakMode="tailTruncation" numberOfLines="0" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="Bdy-dI-j47"> |
93 | <rect key="frame" x="15" y="160" width="290" height="0.0"/> | 95 | <rect key="frame" x="15" y="160" width="290" height="0.0"/> |
94 | <constraints> | 96 | <constraints> |
95 | <constraint firstAttribute="height" relation="greaterThanOrEqual" id="jgH-57-Bae"/> | 97 | <constraint firstAttribute="height" relation="greaterThanOrEqual" id="jgH-57-Bae"/> |
96 | </constraints> | 98 | </constraints> |
97 | <fontDescription key="fontDescription" type="system" pointSize="14"/> | 99 | <fontDescription key="fontDescription" type="system" pointSize="14"/> |
98 | <color key="textColor" white="1" alpha="1" colorSpace="calibratedWhite"/> | 100 | <color key="textColor" white="1" alpha="1" colorSpace="calibratedWhite"/> |
99 | <nil key="highlightedColor"/> | 101 | <nil key="highlightedColor"/> |
100 | </label> | 102 | </label> |
101 | <imageView userInteractionEnabled="NO" contentMode="scaleToFill" horizontalHuggingPriority="251" verticalHuggingPriority="251" translatesAutoresizingMaskIntoConstraints="NO" id="qYg-Gw-R2b"> | 103 | <imageView userInteractionEnabled="NO" contentMode="scaleToFill" horizontalHuggingPriority="251" verticalHuggingPriority="251" translatesAutoresizingMaskIntoConstraints="NO" id="qYg-Gw-R2b"> |
102 | <rect key="frame" x="225" y="85" width="80" height="60"/> | 104 | <rect key="frame" x="225" y="85" width="80" height="60"/> |
103 | <constraints> | 105 | <constraints> |
104 | <constraint firstAttribute="width" constant="80" id="NEk-vg-zus"/> | 106 | <constraint firstAttribute="width" constant="80" id="NEk-vg-zus"/> |
105 | <constraint firstAttribute="height" constant="60" id="qlv-ht-SUw"/> | 107 | <constraint firstAttribute="height" constant="60" id="qlv-ht-SUw"/> |
106 | </constraints> | 108 | </constraints> |
107 | </imageView> | 109 | </imageView> |
108 | <button opaque="NO" contentMode="scaleToFill" contentHorizontalAlignment="center" contentVerticalAlignment="center" buttonType="roundedRect" lineBreakMode="middleTruncation" translatesAutoresizingMaskIntoConstraints="NO" id="gBg-k9-tgw" customClass="AutoTransButton"> | 110 | <button opaque="NO" contentMode="scaleToFill" contentHorizontalAlignment="center" contentVerticalAlignment="center" buttonType="roundedRect" lineBreakMode="middleTruncation" translatesAutoresizingMaskIntoConstraints="NO" id="gBg-k9-tgw" customClass="AutoTransButton"> |
109 | <rect key="frame" x="15" y="190" width="134.5" height="30"/> | 111 | <rect key="frame" x="15" y="190" width="134.5" height="30"/> |
110 | <color key="backgroundColor" red="0.0" green="0.47843137250000001" blue="1" alpha="1" colorSpace="custom" customColorSpace="sRGB"/> | 112 | <color key="backgroundColor" red="0.0" green="0.47843137250000001" blue="1" alpha="1" colorSpace="custom" customColorSpace="sRGB"/> |
111 | <constraints> | 113 | <constraints> |
112 | <constraint firstAttribute="height" constant="30" id="6Ir-ZZ-NOb"/> | 114 | <constraint firstAttribute="height" constant="30" id="6Ir-ZZ-NOb"/> |
113 | </constraints> | 115 | </constraints> |
114 | <fontDescription key="fontDescription" type="system" pointSize="14"/> | 116 | <fontDescription key="fontDescription" type="system" pointSize="14"/> |
115 | <state key="normal" title="メンバーを見る"> | 117 | <state key="normal" title="メンバーを見る"> |
116 | <color key="titleColor" white="1" alpha="1" colorSpace="calibratedWhite"/> | 118 | <color key="titleColor" white="1" alpha="1" colorSpace="calibratedWhite"/> |
117 | </state> | 119 | </state> |
118 | <userDefinedRuntimeAttributes> | 120 | <userDefinedRuntimeAttributes> |
119 | <userDefinedRuntimeAttribute type="number" keyPath="layer.cornerRadius"> | 121 | <userDefinedRuntimeAttribute type="number" keyPath="layer.cornerRadius"> |
120 | <integer key="value" value="5"/> | 122 | <integer key="value" value="5"/> |
121 | </userDefinedRuntimeAttribute> | 123 | </userDefinedRuntimeAttribute> |
122 | <userDefinedRuntimeAttribute type="string" keyPath="localizeKey" value="lifelog.grDetail.bt.viewMem"/> | 124 | <userDefinedRuntimeAttribute type="string" keyPath="localizeKey" value="lifelog.grDetail.bt.viewMem"/> |
123 | </userDefinedRuntimeAttributes> | 125 | </userDefinedRuntimeAttributes> |
124 | <connections> | 126 | <connections> |
125 | <action selector="clickSwitch:" destination="-1" eventType="touchUpInside" id="z4V-ym-fqS"/> | 127 | <action selector="clickSwitch:" destination="-1" eventType="touchUpInside" id="z4V-ym-fqS"/> |
126 | </connections> | 128 | </connections> |
127 | </button> | 129 | </button> |
128 | <button hidden="YES" opaque="NO" contentMode="scaleToFill" contentHorizontalAlignment="center" contentVerticalAlignment="center" buttonType="roundedRect" lineBreakMode="middleTruncation" translatesAutoresizingMaskIntoConstraints="NO" id="caN-x7-hJz" customClass="AutoTransButton"> | 130 | <button hidden="YES" opaque="NO" contentMode="scaleToFill" contentHorizontalAlignment="center" contentVerticalAlignment="center" buttonType="roundedRect" lineBreakMode="middleTruncation" translatesAutoresizingMaskIntoConstraints="NO" id="caN-x7-hJz" customClass="AutoTransButton"> |
129 | <rect key="frame" x="169.5" y="190" width="134.5" height="30"/> | 131 | <rect key="frame" x="169.5" y="190" width="134.5" height="30"/> |
130 | <color key="backgroundColor" red="0.0" green="0.47843137250000001" blue="1" alpha="1" colorSpace="custom" customColorSpace="sRGB"/> | 132 | <color key="backgroundColor" red="0.0" green="0.47843137250000001" blue="1" alpha="1" colorSpace="custom" customColorSpace="sRGB"/> |
131 | <constraints> | 133 | <constraints> |
132 | <constraint firstAttribute="height" constant="30" id="gIs-Km-dbx"/> | 134 | <constraint firstAttribute="height" constant="30" id="gIs-Km-dbx"/> |
133 | </constraints> | 135 | </constraints> |
134 | <fontDescription key="fontDescription" type="system" pointSize="14"/> | 136 | <fontDescription key="fontDescription" type="system" pointSize="14"/> |
135 | <state key="normal" title="グループに参加する"> | 137 | <state key="normal" title="グループに参加する"> |
136 | <color key="titleColor" white="1" alpha="1" colorSpace="calibratedWhite"/> | 138 | <color key="titleColor" white="1" alpha="1" colorSpace="calibratedWhite"/> |
137 | </state> | 139 | </state> |
138 | <userDefinedRuntimeAttributes> | 140 | <userDefinedRuntimeAttributes> |
139 | <userDefinedRuntimeAttribute type="number" keyPath="layer.cornerRadius"> | 141 | <userDefinedRuntimeAttribute type="number" keyPath="layer.cornerRadius"> |
140 | <integer key="value" value="5"/> | 142 | <integer key="value" value="5"/> |
141 | </userDefinedRuntimeAttribute> | 143 | </userDefinedRuntimeAttribute> |
142 | <userDefinedRuntimeAttribute type="string" keyPath="localizeKey" value="lifelog.grDetail.bt.joinGr"/> | 144 | <userDefinedRuntimeAttribute type="string" keyPath="localizeKey" value="lifelog.grDetail.bt.joinGr"/> |
143 | </userDefinedRuntimeAttributes> | 145 | </userDefinedRuntimeAttributes> |
144 | <connections> | 146 | <connections> |
145 | <action selector="clickJoin:" destination="-1" eventType="touchUpInside" id="Ukt-bi-Sw2"/> | 147 | <action selector="clickJoin:" destination="-1" eventType="touchUpInside" id="Ukt-bi-Sw2"/> |
146 | </connections> | 148 | </connections> |
147 | </button> | 149 | </button> |
148 | <tableView clipsSubviews="YES" contentMode="scaleToFill" alwaysBounceVertical="YES" style="plain" separatorStyle="none" rowHeight="100" sectionHeaderHeight="28" sectionFooterHeight="28" translatesAutoresizingMaskIntoConstraints="NO" id="4VU-Ye-7Au"> | 150 | <tableView clipsSubviews="YES" contentMode="scaleToFill" alwaysBounceVertical="YES" style="plain" separatorStyle="none" rowHeight="100" sectionHeaderHeight="28" sectionFooterHeight="28" translatesAutoresizingMaskIntoConstraints="NO" id="4VU-Ye-7Au"> |
149 | <rect key="frame" x="0.0" y="230" width="320" height="287"/> | 151 | <rect key="frame" x="0.0" y="230" width="320" height="287"/> |
150 | <color key="backgroundColor" white="0.0" alpha="0.0" colorSpace="calibratedWhite"/> | 152 | <color key="backgroundColor" white="0.0" alpha="0.0" colorSpace="calibratedWhite"/> |
151 | <connections> | 153 | <connections> |
152 | <outlet property="dataSource" destination="-1" id="TLB-6X-bRI"/> | 154 | <outlet property="dataSource" destination="-1" id="TLB-6X-bRI"/> |
153 | <outlet property="delegate" destination="-1" id="QcJ-Yh-deE"/> | 155 | <outlet property="delegate" destination="-1" id="QcJ-Yh-deE"/> |
154 | </connections> | 156 | </connections> |
155 | </tableView> | 157 | </tableView> |
156 | </subviews> | 158 | </subviews> |
157 | <color key="backgroundColor" white="0.0" alpha="1" colorSpace="calibratedWhite"/> | 159 | <color key="backgroundColor" white="0.0" alpha="1" colorSpace="calibratedWhite"/> |
158 | <constraints> | 160 | <constraints> |
159 | <constraint firstItem="25d-3H-0fr" firstAttribute="top" secondItem="i5M-Pr-FkT" secondAttribute="top" id="5o2-0w-AL5"/> | 161 | <constraint firstItem="25d-3H-0fr" firstAttribute="top" secondItem="i5M-Pr-FkT" secondAttribute="top" priority="750" id="5o2-0w-AL5"/> |
160 | <constraint firstAttribute="trailing" secondItem="25d-3H-0fr" secondAttribute="trailing" id="7IX-2R-C0n"/> | 162 | <constraint firstAttribute="trailing" secondItem="25d-3H-0fr" secondAttribute="trailing" id="7IX-2R-C0n"/> |
161 | <constraint firstItem="O8z-6V-YFd" firstAttribute="leading" secondItem="i5M-Pr-FkT" secondAttribute="leading" constant="15" id="81K-BQ-6tU"/> | 163 | <constraint firstItem="O8z-6V-YFd" firstAttribute="leading" secondItem="i5M-Pr-FkT" secondAttribute="leading" constant="15" id="81K-BQ-6tU"/> |
162 | <constraint firstAttribute="bottom" secondItem="4VU-Ye-7Au" secondAttribute="bottom" constant="50" id="GKY-NB-YYF"/> | 164 | <constraint firstAttribute="bottom" secondItem="4VU-Ye-7Au" secondAttribute="bottom" constant="50" id="GKY-NB-YYF"/> |
163 | <constraint firstItem="O8z-6V-YFd" firstAttribute="top" secondItem="YWV-pS-TCo" secondAttribute="bottom" constant="10" id="HOo-rH-ysj"/> | 165 | <constraint firstItem="O8z-6V-YFd" firstAttribute="top" secondItem="YWV-pS-TCo" secondAttribute="bottom" constant="10" id="HOo-rH-ysj"/> |
164 | <constraint firstItem="Bdy-dI-j47" firstAttribute="leading" secondItem="i5M-Pr-FkT" secondAttribute="leading" constant="15" id="I1a-bY-ME9"/> | 166 | <constraint firstItem="Bdy-dI-j47" firstAttribute="leading" secondItem="i5M-Pr-FkT" secondAttribute="leading" constant="15" id="I1a-bY-ME9"/> |
165 | <constraint firstItem="YWV-pS-TCo" firstAttribute="leading" secondItem="i5M-Pr-FkT" secondAttribute="leading" constant="15" id="IS9-SU-75m"/> | 167 | <constraint firstItem="YWV-pS-TCo" firstAttribute="leading" secondItem="i5M-Pr-FkT" secondAttribute="leading" constant="15" id="IS9-SU-75m"/> |
166 | <constraint firstAttribute="trailing" secondItem="Bdy-dI-j47" secondAttribute="trailing" constant="15" id="Ka2-Ki-Pu6"/> | 168 | <constraint firstAttribute="trailing" secondItem="Bdy-dI-j47" secondAttribute="trailing" constant="15" id="Ka2-Ki-Pu6"/> |
167 | <constraint firstItem="qYg-Gw-R2b" firstAttribute="top" secondItem="YWV-pS-TCo" secondAttribute="bottom" constant="10" id="One-fp-LTK"/> | 169 | <constraint firstItem="qYg-Gw-R2b" firstAttribute="top" secondItem="YWV-pS-TCo" secondAttribute="bottom" constant="10" id="One-fp-LTK"/> |
168 | <constraint firstAttribute="trailing" secondItem="qYg-Gw-R2b" secondAttribute="trailing" constant="15" id="PMd-CT-MVj"/> | 170 | <constraint firstAttribute="trailing" secondItem="qYg-Gw-R2b" secondAttribute="trailing" constant="15" id="PMd-CT-MVj"/> |
169 | <constraint firstItem="gBg-k9-tgw" firstAttribute="leading" secondItem="i5M-Pr-FkT" secondAttribute="leading" constant="15" id="bTf-qW-d1y"/> | 171 | <constraint firstItem="gBg-k9-tgw" firstAttribute="leading" secondItem="i5M-Pr-FkT" secondAttribute="leading" constant="15" id="bTf-qW-d1y"/> |
170 | <constraint firstItem="YWV-pS-TCo" firstAttribute="top" secondItem="25d-3H-0fr" secondAttribute="bottom" constant="8" id="cKj-l3-dgv"/> | 172 | <constraint firstItem="YWV-pS-TCo" firstAttribute="top" secondItem="25d-3H-0fr" secondAttribute="bottom" constant="8" id="cKj-l3-dgv"/> |
171 | <constraint firstItem="4VU-Ye-7Au" firstAttribute="top" secondItem="caN-x7-hJz" secondAttribute="bottom" constant="10" id="eQe-Kl-cMp"/> | 173 | <constraint firstItem="4VU-Ye-7Au" firstAttribute="top" secondItem="caN-x7-hJz" secondAttribute="bottom" constant="10" id="eQe-Kl-cMp"/> |
172 | <constraint firstItem="4VU-Ye-7Au" firstAttribute="leading" secondItem="i5M-Pr-FkT" secondAttribute="leading" id="fru-BN-M5T"/> | 174 | <constraint firstItem="4VU-Ye-7Au" firstAttribute="leading" secondItem="i5M-Pr-FkT" secondAttribute="leading" id="fru-BN-M5T"/> |
173 | <constraint firstItem="caN-x7-hJz" firstAttribute="top" secondItem="gBg-k9-tgw" secondAttribute="top" id="gUS-Ty-4Hk"/> | 175 | <constraint firstItem="caN-x7-hJz" firstAttribute="top" secondItem="gBg-k9-tgw" secondAttribute="top" id="gUS-Ty-4Hk"/> |
174 | <constraint firstItem="qYg-Gw-R2b" firstAttribute="leading" secondItem="O8z-6V-YFd" secondAttribute="trailing" constant="22" id="gzU-2Q-G96"/> | 176 | <constraint firstItem="qYg-Gw-R2b" firstAttribute="leading" secondItem="O8z-6V-YFd" secondAttribute="trailing" constant="22" id="gzU-2Q-G96"/> |
175 | <constraint firstItem="caN-x7-hJz" firstAttribute="leading" secondItem="gBg-k9-tgw" secondAttribute="trailing" constant="20" id="hWK-jf-zee"/> | 177 | <constraint firstItem="caN-x7-hJz" firstAttribute="leading" secondItem="gBg-k9-tgw" secondAttribute="trailing" constant="20" id="hWK-jf-zee"/> |
176 | <constraint firstItem="25d-3H-0fr" firstAttribute="leading" secondItem="i5M-Pr-FkT" secondAttribute="leading" id="jhT-CE-fr7"/> | 178 | <constraint firstItem="25d-3H-0fr" firstAttribute="leading" secondItem="i5M-Pr-FkT" secondAttribute="leading" id="jhT-CE-fr7"/> |
177 | <constraint firstItem="caN-x7-hJz" firstAttribute="width" secondItem="gBg-k9-tgw" secondAttribute="width" id="mD6-eL-KB7"/> | 179 | <constraint firstItem="caN-x7-hJz" firstAttribute="width" secondItem="gBg-k9-tgw" secondAttribute="width" id="mD6-eL-KB7"/> |
178 | <constraint firstItem="gBg-k9-tgw" firstAttribute="top" secondItem="Bdy-dI-j47" secondAttribute="bottom" constant="30" id="mgw-uX-VOK"/> | 180 | <constraint firstItem="gBg-k9-tgw" firstAttribute="top" secondItem="Bdy-dI-j47" secondAttribute="bottom" constant="30" id="mgw-uX-VOK"/> |
179 | <constraint firstAttribute="trailing" secondItem="YWV-pS-TCo" secondAttribute="trailing" constant="15" id="rEO-bb-Pqr"/> | 181 | <constraint firstAttribute="trailing" secondItem="YWV-pS-TCo" secondAttribute="trailing" constant="15" id="rEO-bb-Pqr"/> |
180 | <constraint firstAttribute="trailing" secondItem="caN-x7-hJz" secondAttribute="trailing" constant="16" id="rRn-Vw-t5g"/> | 182 | <constraint firstAttribute="trailing" secondItem="caN-x7-hJz" secondAttribute="trailing" constant="16" id="rRn-Vw-t5g"/> |
181 | <constraint firstItem="Bdy-dI-j47" firstAttribute="top" secondItem="O8z-6V-YFd" secondAttribute="bottom" constant="15" id="xEO-fP-Riz"/> | 183 | <constraint firstItem="Bdy-dI-j47" firstAttribute="top" secondItem="O8z-6V-YFd" secondAttribute="bottom" constant="15" id="xEO-fP-Riz"/> |
182 | <constraint firstAttribute="trailing" secondItem="4VU-Ye-7Au" secondAttribute="trailing" id="ylN-vm-QF2"/> | 184 | <constraint firstAttribute="trailing" secondItem="4VU-Ye-7Au" secondAttribute="trailing" id="ylN-vm-QF2"/> |
183 | </constraints> | 185 | </constraints> |
184 | <freeformSimulatedSizeMetrics key="simulatedDestinationMetrics"/> | 186 | <freeformSimulatedSizeMetrics key="simulatedDestinationMetrics"/> |
185 | <point key="canvasLocation" x="24.5" y="52.5"/> | 187 | <point key="canvasLocation" x="24.5" y="52.5"/> |
186 | </view> | 188 | </view> |
187 | </objects> | 189 | </objects> |
188 | <resources> | 190 | <resources> |
189 | <image name="icon_menu" width="30" height="30"/> | 191 | <image name="icon_menu" width="30" height="30"/> |
190 | <image name="today_back_button" width="73" height="37"/> | 192 | <image name="today_back_button" width="73" height="37"/> |
191 | </resources> | 193 | </resources> |
192 | </document> | 194 | </document> |
193 | 195 |
LifeLog/LifeLog/HistoryViewController.h
1 | // | 1 | // |
2 | // HistoryViewController.h | 2 | // HistoryViewController.h |
3 | // LifeLog | 3 | // LifeLog |
4 | // | 4 | // |
5 | // Created by Nguyen Van Phong on 7/25/17. | 5 | // Created by Nguyen Van Phong on 7/25/17. |
6 | // Copyright © 2017 PhongNV. All rights reserved. | 6 | // Copyright © 2017 PhongNV. All rights reserved. |
7 | // | 7 | // |
8 | 8 | ||
9 | #import <UIKit/UIKit.h> | 9 | #import <UIKit/UIKit.h> |
10 | #import <Charts/Charts-Swift.h> | 10 | #import <Charts/Charts-Swift.h> |
11 | 11 | ||
12 | #import "BaseTableViewController.h" | 12 | #import "BaseTableViewController.h" |
13 | #import "CollectionView.h" | 13 | #import "CollectionView.h" |
14 | 14 | ||
15 | #import "Entities.h" | 15 | #import "Entities.h" |
16 | 16 | ||
17 | @interface HistoryViewController : BaseTableViewController <UIScrollViewDelegate> { | 17 | @interface HistoryViewController : BaseTableViewController <UIScrollViewDelegate> { |
18 | NSDate * _startDate; | 18 | NSDate * _startDate; |
19 | NSDate * _endDate; | 19 | NSDate * _endDate; |
20 | NSArray * _curHisArray; | 20 | NSArray * _curHisArray; |
21 | NSArray * _curListArray; | 21 | NSArray * _curListArray; |
22 | } | 22 | } |
23 | @property (weak, nonatomic) IBOutlet UIView *viewHeader; | ||
23 | @property (weak, nonatomic) IBOutlet UILabel *lblDatetime; | 24 | @property (weak, nonatomic) IBOutlet UILabel *lblDatetime; |
24 | 25 | ||
25 | @property (weak, nonatomic) IBOutlet UILabel *lblCircleStep; | 26 | @property (weak, nonatomic) IBOutlet UILabel *lblCircleStep; |
26 | @property (weak, nonatomic) IBOutlet UILabel *lblCircleRemain; | 27 | @property (weak, nonatomic) IBOutlet UILabel *lblCircleRemain; |
27 | 28 | ||
28 | @property (weak, nonatomic) IBOutlet UILabel *lblStep; | 29 | @property (weak, nonatomic) IBOutlet UILabel *lblStep; |
29 | @property (weak, nonatomic) IBOutlet UILabel *lblRemaining; | 30 | @property (weak, nonatomic) IBOutlet UILabel *lblRemaining; |
30 | @property (weak, nonatomic) IBOutlet UILabel *lblPercent; | 31 | @property (weak, nonatomic) IBOutlet UILabel *lblPercent; |
31 | @property (weak, nonatomic) IBOutlet UILabel *lblCalories; | 32 | @property (weak, nonatomic) IBOutlet UILabel *lblCalories; |
32 | @property (weak, nonatomic) IBOutlet UILabel *lblDistance; | 33 | @property (weak, nonatomic) IBOutlet UILabel *lblDistance; |
33 | @property (weak, nonatomic) IBOutlet UILabel *lblTime; | 34 | @property (weak, nonatomic) IBOutlet UILabel *lblTime; |
34 | 35 | ||
35 | @property (weak, nonatomic) IBOutlet CollectionView *viewCollectionType; | 36 | @property (weak, nonatomic) IBOutlet CollectionView *viewCollectionType; |
36 | @property (weak, nonatomic) IBOutlet CollectionView *viewCollectionMode; | 37 | @property (weak, nonatomic) IBOutlet CollectionView *viewCollectionMode; |
37 | @property (weak, nonatomic) IBOutlet CollectionView *viewCollectionShare; | 38 | @property (weak, nonatomic) IBOutlet CollectionView *viewCollectionShare; |
38 | 39 | ||
39 | @property (weak, nonatomic) IBOutlet BarChartView *viewBarChart; | 40 | @property (weak, nonatomic) IBOutlet BarChartView *viewBarChart; |
40 | 41 | ||
41 | @property (weak, nonatomic) IBOutlet UIScrollView *scrollView; | 42 | @property (weak, nonatomic) IBOutlet UIScrollView *scrollView; |
42 | 43 | ||
43 | - (IBAction)swipeAction:(UISwipeGestureRecognizer *)sender; | 44 | - (IBAction)swipeAction:(UISwipeGestureRecognizer *)sender; |
44 | - (IBAction)clickBackward:(UIButton *)sender; | 45 | - (IBAction)clickBackward:(UIButton *)sender; |
45 | - (IBAction)clickForward:(UIButton *)sender; | 46 | - (IBAction)clickForward:(UIButton *)sender; |
46 | 47 | ||
47 | @end | 48 | @end |
48 | 49 |
LifeLog/LifeLog/HistoryViewController.m
1 | // | 1 | // |
2 | // HistoryViewController.m | 2 | // HistoryViewController.m |
3 | // LifeLog | 3 | // LifeLog |
4 | // | 4 | // |
5 | // Created by Nguyen Van Phong on 7/25/17. | 5 | // Created by Nguyen Van Phong on 7/25/17. |
6 | // Copyright © 2017 PhongNV. All rights reserved. | 6 | // Copyright © 2017 PhongNV. All rights reserved. |
7 | // | 7 | // |
8 | 8 | ||
9 | #import "HistoryViewController.h" | 9 | #import "HistoryViewController.h" |
10 | #import "Utilities.h" | 10 | #import "Utilities.h" |
11 | #import "ServerAPI.h" | 11 | #import "ServerAPI.h" |
12 | 12 | ||
13 | #import "HistoryListTableViewCell.h" | 13 | #import "HistoryListTableViewCell.h" |
14 | 14 | ||
15 | @interface HistoryViewController () | 15 | @interface HistoryViewController () |
16 | 16 | ||
17 | @end | 17 | @end |
18 | 18 | ||
19 | @implementation HistoryViewController | 19 | @implementation HistoryViewController |
20 | 20 | ||
21 | - (void)viewDidLoad { | 21 | - (void)viewDidLoad { |
22 | [super viewDidLoad]; | 22 | [super viewDidLoad]; |
23 | [self.view addConstraint:[NSLayoutConstraint constraintWithItem:self.bottomLayoutGuide attribute:NSLayoutAttributeTop relatedBy:NSLayoutRelationEqual toItem:self.viewCollectionMode attribute:NSLayoutAttributeBottom multiplier:1 constant:0]]; | 23 | [self.view addConstraint:[NSLayoutConstraint constraintWithItem:self.bottomLayoutGuide attribute:NSLayoutAttributeTop relatedBy:NSLayoutRelationEqual toItem:self.viewCollectionMode attribute:NSLayoutAttributeBottom multiplier:1 constant:0]]; |
24 | [self.view addConstraint:[NSLayoutConstraint constraintWithItem:self.topLayoutGuide attribute:NSLayoutAttributeBottom relatedBy:NSLayoutRelationEqual toItem:self.viewHeader attribute:NSLayoutAttributeTop multiplier:1 constant:0]]; | ||
24 | // Do any additional setup after loading the view from its nib. | 25 | // Do any additional setup after loading the view from its nib. |
25 | self.title = NSLocalizedString(@"lifelog.history.title", nil); | 26 | // self.title = NSLocalizedString(@"lifelog.history.title", nil); |
26 | 27 | ||
27 | _isDisableLoadMore = true; | 28 | _isDisableLoadMore = true; |
28 | 29 | ||
29 | [self setupView]; | 30 | [self setupView]; |
30 | [self setupChartView]; | 31 | [self setupChartView]; |
31 | 32 | ||
32 | _startDate = [NSDate date]; | 33 | _startDate = [NSDate date]; |
33 | _endDate = _startDate; | 34 | _endDate = _startDate; |
34 | 35 | ||
35 | self.lblDatetime.text = [Utilities stringFromDate:_endDate withFormat:@"YYYY年MM月dd日 EEEE" locale:@"ja_JP"]; | 36 | self.lblDatetime.text = [Utilities stringFromDate:_endDate withFormat:@"YYYY年MM月dd日 EEEE" locale:@"ja_JP"]; |
36 | 37 | ||
37 | //register nib for table view | 38 | //register nib for table view |
38 | [self.tableBase registerNib:[UINib nibWithNibName:@"HistoryListTableViewCell" bundle:nil] forCellReuseIdentifier:@"HistoryListCell"]; | 39 | [self.tableBase registerNib:[UINib nibWithNibName:@"HistoryListTableViewCell" bundle:nil] forCellReuseIdentifier:@"HistoryListCell"]; |
39 | } | 40 | } |
40 | 41 | ||
41 | - (void)viewDidAppear:(BOOL) animated | 42 | - (void)viewDidAppear:(BOOL) animated |
42 | { | 43 | { |
43 | [super viewDidAppear:animated]; | 44 | [super viewDidAppear:animated]; |
44 | self.scrollView.contentSize = CGSizeMake(self.view.frame.size.width, 400); | 45 | self.scrollView.contentSize = CGSizeMake(self.view.frame.size.width, 400); |
45 | [self.scrollView setNeedsLayout]; | 46 | [self.scrollView setNeedsLayout]; |
46 | [self.scrollView setNeedsUpdateConstraints]; | 47 | [self.scrollView setNeedsUpdateConstraints]; |
47 | [self checkRequestData]; | 48 | [self checkRequestData]; |
48 | } | 49 | } |
49 | 50 | ||
50 | - (void)didReceiveMemoryWarning { | 51 | - (void)didReceiveMemoryWarning { |
51 | [super didReceiveMemoryWarning]; | 52 | [super didReceiveMemoryWarning]; |
52 | // Dispose of any resources that can be recreated. | 53 | // Dispose of any resources that can be recreated. |
53 | } | 54 | } |
54 | 55 | ||
55 | - (void)setupView { | 56 | - (void)setupView { |
56 | 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]; | 57 | 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]; |
57 | [self.viewCollectionType setButtonNumber:typeTitle.count]; | 58 | [self.viewCollectionType setButtonNumber:typeTitle.count]; |
58 | [self.viewCollectionType setSpacing:2]; | 59 | [self.viewCollectionType setSpacing:2]; |
59 | [self.viewCollectionType setArrayTitle:typeTitle]; | 60 | [self.viewCollectionType setArrayTitle:typeTitle]; |
60 | self.viewCollectionType.changeCurrentIndex = ^(int index){ | 61 | self.viewCollectionType.changeCurrentIndex = ^(int index){ |
61 | [self changeDate]; | 62 | [self changeDate]; |
62 | }; | 63 | }; |
63 | 64 | ||
64 | NSArray *modeTitle = [NSArray arrayWithObjects:NSLocalizedString(@"lifelog.history.mode.1", nil), NSLocalizedString(@"lifelog.history.mode.2", nil), NSLocalizedString(@"lifelog.history.mode.3", nil), nil]; | 65 | NSArray *modeTitle = [NSArray arrayWithObjects:NSLocalizedString(@"lifelog.history.mode.1", nil), NSLocalizedString(@"lifelog.history.mode.2", nil), NSLocalizedString(@"lifelog.history.mode.3", nil), nil]; |
65 | [self.viewCollectionMode setButtonNumber:modeTitle.count]; | 66 | [self.viewCollectionMode setButtonNumber:modeTitle.count]; |
66 | [self.viewCollectionMode setSpacing:0]; | 67 | [self.viewCollectionMode setSpacing:0]; |
67 | [self.viewCollectionMode setSelectedIndex:1]; | 68 | [self.viewCollectionMode setSelectedIndex:1]; |
68 | [self.viewCollectionMode setCornerRadius:0]; | 69 | [self.viewCollectionMode setCornerRadius:0]; |
69 | [self.viewCollectionMode setNormalColor:[Utilities convertHecToColor:0x191919] highlightColor:[Utilities convertHecToColor:0x474747] textColor:[UIColor whiteColor]]; | 70 | [self.viewCollectionMode setNormalColor:[Utilities convertHecToColor:0x191919] highlightColor:[Utilities convertHecToColor:0x474747] textColor:[UIColor whiteColor]]; |
70 | [self.viewCollectionMode setArrayTitle:modeTitle]; | 71 | [self.viewCollectionMode setArrayTitle:modeTitle]; |
71 | self.viewCollectionMode.changeCurrentIndex = ^(int index){ | 72 | self.viewCollectionMode.changeCurrentIndex = ^(int index){ |
72 | if(self.tableBase.alpha == 0.0) { | 73 | if(self.tableBase.alpha == 0.0) { |
73 | [self updateView]; | 74 | [self updateView]; |
74 | } | 75 | } |
75 | else { | 76 | else { |
76 | NSArray * list = [_curListArray objectAtIndex:index]; | 77 | NSArray * list = [_curListArray objectAtIndex:index]; |
77 | [self updateTableData:list error:nil]; | 78 | [self updateTableData:list error:nil]; |
78 | } | 79 | } |
79 | }; | 80 | }; |
80 | 81 | ||
81 | 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]; | 82 | NSArray *shareTitle = [NSArray arrayWithObjects:@"icon_facebook", @"icon_twitter", @"icon_line", @"icon_mail", @"icon_other_send", nil]; |
82 | [self.viewCollectionShare setButtonNumber:typeTitle.count]; | 83 | [self.viewCollectionShare setButtonNumber:typeTitle.count]; |
83 | [self.viewCollectionShare setSpacing:3]; | 84 | [self.viewCollectionShare setSpacing:3]; |
84 | [self.viewCollectionShare setArrayTitle:shareTitle]; | 85 | [self.viewCollectionShare setArrayTitle:shareTitle]; |
85 | [self.viewCollectionShare disableSelection]; | 86 | [self.viewCollectionShare disableSelection]; |
86 | 87 | [self.viewCollectionShare enableImageIcon]; | |
87 | //add tap gesture for enable tap on gesture on CollectionView in ScrollView | 88 | //add tap gesture for enable tap on gesture on CollectionView in ScrollView |
88 | UITapGestureRecognizer *recognizer = [[UITapGestureRecognizer alloc] initWithTarget:self action:@selector(gestureAction:)]; | 89 | UITapGestureRecognizer *recognizer = [[UITapGestureRecognizer alloc] initWithTarget:self action:@selector(gestureAction:)]; |
89 | [recognizer setNumberOfTapsRequired:1]; | 90 | [recognizer setNumberOfTapsRequired:1]; |
90 | self.scrollView.userInteractionEnabled = YES; | 91 | self.scrollView.userInteractionEnabled = YES; |
91 | [self.scrollView addGestureRecognizer:recognizer]; | 92 | [self.scrollView addGestureRecognizer:recognizer]; |
92 | } | 93 | } |
93 | 94 | ||
94 | - (void)setupChartView { | 95 | - (void)setupChartView { |
95 | self.viewBarChart.chartDescription.enabled = NO; | 96 | self.viewBarChart.chartDescription.enabled = NO; |
96 | self.viewBarChart.leftAxis.drawGridLinesEnabled = NO; | 97 | self.viewBarChart.leftAxis.drawGridLinesEnabled = NO; |
97 | self.viewBarChart.rightAxis.drawGridLinesEnabled = NO; | 98 | self.viewBarChart.rightAxis.drawGridLinesEnabled = NO; |
98 | self.viewBarChart.legend.enabled = NO; | 99 | self.viewBarChart.legend.enabled = NO; |
99 | 100 | ||
100 | ChartXAxis *xAxis = self.viewBarChart.xAxis; | 101 | ChartXAxis *xAxis = self.viewBarChart.xAxis; |
101 | xAxis.labelPosition = XAxisLabelPositionBottom; | 102 | xAxis.labelPosition = XAxisLabelPositionBottom; |
102 | xAxis.drawGridLinesEnabled = NO; | 103 | xAxis.drawGridLinesEnabled = NO; |
103 | xAxis.drawAxisLineEnabled = NO; | 104 | xAxis.drawAxisLineEnabled = NO; |
104 | xAxis.drawLabelsEnabled = YES; | 105 | xAxis.drawLabelsEnabled = YES; |
105 | xAxis.labelPosition = XAxisLabelPositionBottom; | 106 | xAxis.labelPosition = XAxisLabelPositionBottom; |
106 | xAxis.labelFont = [UIFont systemFontOfSize:10.f]; | 107 | xAxis.labelFont = [UIFont systemFontOfSize:10.f]; |
107 | xAxis.labelTextColor = [UIColor whiteColor]; | 108 | xAxis.labelTextColor = [UIColor whiteColor]; |
108 | xAxis.granularity = 1.0; // only intervals of 1 day | 109 | xAxis.granularity = 1.0; // only intervals of 1 day |
109 | xAxis.labelCount = 8; | 110 | xAxis.labelCount = 8; |
110 | 111 | ||
111 | self.viewBarChart.leftAxis.drawAxisLineEnabled = NO; | 112 | self.viewBarChart.leftAxis.drawAxisLineEnabled = NO; |
112 | self.viewBarChart.rightAxis.drawAxisLineEnabled = NO; | 113 | self.viewBarChart.rightAxis.drawAxisLineEnabled = NO; |
113 | } | 114 | } |
114 | 115 | ||
115 | -(void) updateView { | 116 | -(void) updateView { |
116 | HistoryObject * obj = [_curHisArray objectAtIndex:self.viewCollectionMode.getCurrentIndex]; | 117 | HistoryObject * obj = [_curHisArray objectAtIndex:self.viewCollectionMode.getCurrentIndex]; |
117 | self.lblStep.text = [NSString stringWithFormat:@"%d step", obj.target]; | 118 | self.lblStep.text = [NSString stringWithFormat:@"%d step", obj.target]; |
118 | self.lblCircleStep.text = [NSString stringWithFormat:@"%d step", obj.step]; | 119 | self.lblCircleStep.text = [NSString stringWithFormat:@"%d step", obj.step]; |
119 | self.lblRemaining.text = [NSString stringWithFormat:@"%d step", obj.missing]; | 120 | self.lblRemaining.text = [NSString stringWithFormat:@"%d step", obj.missing]; |
120 | self.lblCircleRemain.text = [NSString stringWithFormat:@"目標まであと\n%d stepです", obj.missing]; | 121 | self.lblCircleRemain.text = [NSString stringWithFormat:@"目標まであと\n%d stepです", obj.missing]; |
121 | self.lblPercent.text = [NSString stringWithFormat:@"%0.2f%%", obj.percent]; | 122 | self.lblPercent.text = [NSString stringWithFormat:@"%0.2f%%", obj.percent]; |
122 | self.lblCalories.text = [NSString stringWithFormat:@"%0.2f kcal", obj.calories]; | 123 | self.lblCalories.text = [NSString stringWithFormat:@"%0.2f kcal", obj.calories]; |
123 | self.lblDistance.text = [NSString stringWithFormat:@"%0.1f KM", obj.distance]; | 124 | self.lblDistance.text = [NSString stringWithFormat:@"%0.1f KM", obj.distance]; |
124 | self.lblTime.text = [Utilities convertSecondToShortTime:obj.time]; | 125 | self.lblTime.text = [Utilities convertSecondToShortTime:obj.time]; |
125 | [self updateGraphView]; | 126 | [self updateGraphView]; |
126 | } | 127 | } |
127 | 128 | ||
128 | -(void) updateGraphView { | 129 | -(void) updateGraphView { |
129 | HistoryObject * obj = [_curHisArray objectAtIndex:self.viewCollectionMode.getCurrentIndex]; | 130 | HistoryObject * obj = [_curHisArray objectAtIndex:self.viewCollectionMode.getCurrentIndex]; |
130 | 131 | ||
131 | NSMutableArray *yVals = [[NSMutableArray alloc] init]; | 132 | NSMutableArray *yVals = [[NSMutableArray alloc] init]; |
132 | for (int i = 0; i < obj.dataGraph.count; i++) | 133 | for (int i = 0; i < obj.dataGraph.count; i++) |
133 | { | 134 | { |
134 | [yVals addObject:[[BarChartDataEntry alloc] initWithX:i y:[[obj.dataGraph objectAtIndex:i] doubleValue]]]; | 135 | [yVals addObject:[[BarChartDataEntry alloc] initWithX:i y:[[obj.dataGraph objectAtIndex:i] doubleValue]]]; |
135 | } | 136 | } |
136 | 137 | ||
137 | BarChartDataSet *set1 = nil; | 138 | BarChartDataSet *set1 = nil; |
138 | if (self.viewBarChart.data.dataSetCount > 0) | 139 | if (self.viewBarChart.data.dataSetCount > 0) |
139 | { | 140 | { |
140 | set1 = (BarChartDataSet *)self.viewBarChart.data.dataSets[0]; | 141 | set1 = (BarChartDataSet *)self.viewBarChart.data.dataSets[0]; |
141 | set1.values = yVals; | 142 | set1.values = yVals; |
142 | 143 | ||
143 | NSMutableArray *color = [[NSMutableArray alloc] init]; | 144 | NSMutableArray *color = [[NSMutableArray alloc] init]; |
144 | for(int i = 0; i < yVals.count; i++) { | 145 | for(int i = 0; i < yVals.count; i++) { |
145 | BarChartDataEntry *en = yVals[i]; | 146 | BarChartDataEntry *en = yVals[i]; |
146 | if(obj.step != 0) { | 147 | if(obj.step != 0) { |
147 | double percent = en.y / obj.step * 100; | 148 | double percent = en.y / obj.step * 100; |
148 | if(percent > 80) { | 149 | if(percent > 80) { |
149 | [color addObject:[UIColor redColor]]; | 150 | [color addObject:[UIColor redColor]]; |
150 | } | 151 | } |
151 | else if(percent > 60) { | 152 | else if(percent > 60) { |
152 | [color addObject:[UIColor yellowColor]]; | 153 | [color addObject:[UIColor yellowColor]]; |
153 | } | 154 | } |
154 | else { | 155 | else { |
155 | [color addObject:[UIColor whiteColor]]; | 156 | [color addObject:[UIColor whiteColor]]; |
156 | } | 157 | } |
157 | } | 158 | } |
158 | else { | 159 | else { |
159 | [color addObject:[UIColor whiteColor]]; | 160 | [color addObject:[UIColor whiteColor]]; |
160 | } | 161 | } |
161 | } | 162 | } |
162 | [set1 setColors:color]; | 163 | [set1 setColors:color]; |
163 | 164 | ||
164 | [self.viewBarChart.data notifyDataChanged]; | 165 | [self.viewBarChart.data notifyDataChanged]; |
165 | [self.viewBarChart notifyDataSetChanged]; | 166 | [self.viewBarChart notifyDataSetChanged]; |
166 | } | 167 | } |
167 | else | 168 | else |
168 | { | 169 | { |
169 | set1 = [[BarChartDataSet alloc] initWithValues:yVals label:@""]; | 170 | set1 = [[BarChartDataSet alloc] initWithValues:yVals label:@""]; |
170 | 171 | ||
171 | NSMutableArray *color = [[NSMutableArray alloc] init]; | 172 | NSMutableArray *color = [[NSMutableArray alloc] init]; |
172 | for(int i = 0; i < yVals.count; i++) { | 173 | for(int i = 0; i < yVals.count; i++) { |
173 | BarChartDataEntry *en = yVals[i]; | 174 | BarChartDataEntry *en = yVals[i]; |
174 | if(obj.step != 0) { | 175 | if(obj.step != 0) { |
175 | double percent = en.y / obj.step * 100; | 176 | double percent = en.y / obj.step * 100; |
176 | if(percent > 80) { | 177 | if(percent > 80) { |
177 | [color addObject:[UIColor redColor]]; | 178 | [color addObject:[UIColor redColor]]; |
178 | } | 179 | } |
179 | else if(percent > 60) { | 180 | else if(percent > 60) { |
180 | [color addObject:[UIColor yellowColor]]; | 181 | [color addObject:[UIColor yellowColor]]; |
181 | } | 182 | } |
182 | else { | 183 | else { |
183 | [color addObject:[UIColor whiteColor]]; | 184 | [color addObject:[UIColor whiteColor]]; |
184 | } | 185 | } |
185 | } | 186 | } |
186 | else { | 187 | else { |
187 | [color addObject:[UIColor whiteColor]]; | 188 | [color addObject:[UIColor whiteColor]]; |
188 | } | 189 | } |
189 | } | 190 | } |
190 | [set1 setColors:color]; | 191 | [set1 setColors:color]; |
191 | NSMutableArray *dataSets = [[NSMutableArray alloc] init]; | 192 | NSMutableArray *dataSets = [[NSMutableArray alloc] init]; |
192 | [dataSets addObject:set1]; | 193 | [dataSets addObject:set1]; |
193 | 194 | ||
194 | BarChartData *data = [[BarChartData alloc] initWithDataSets:dataSets]; | 195 | BarChartData *data = [[BarChartData alloc] initWithDataSets:dataSets]; |
195 | data.barWidth = 0.5f; | 196 | data.barWidth = 0.5f; |
196 | 197 | ||
197 | self.viewBarChart.data = data; | 198 | self.viewBarChart.data = data; |
198 | } | 199 | } |
199 | } | 200 | } |
200 | 201 | ||
201 | -(void) checkRequestData { | 202 | -(void) checkRequestData { |
202 | if(self.tableBase.alpha == 0.0) { | 203 | if(self.tableBase.alpha == 0.0) { |
203 | NSString * token = [[NSUserDefaults standardUserDefaults] stringForKey:kToken]; | 204 | NSString * token = [[NSUserDefaults standardUserDefaults] stringForKey:kToken]; |
204 | MBProgressHUD *hudView = [MBProgressHUD showHUDAddedTo:self.view animated:true]; | 205 | MBProgressHUD *hudView = [MBProgressHUD showHUDAddedTo:self.view animated:true]; |
205 | [[ServerAPI server] requestHistory:token startDate:_startDate endDate:_endDate CompletionHandler:^(NSArray *array, NSError *error) { | 206 | [[ServerAPI server] requestHistory:token startDate:_startDate endDate:_endDate CompletionHandler:^(NSArray *array, NSError *error) { |
206 | HistoryViewController __weak *weakSelf = self; | 207 | HistoryViewController __weak *weakSelf = self; |
207 | dispatch_async(dispatch_get_main_queue(), ^{ | 208 | dispatch_async(dispatch_get_main_queue(), ^{ |
208 | if(hudView != nil) { | 209 | if(hudView != nil) { |
209 | [hudView hideAnimated:true]; | 210 | [hudView hideAnimated:true]; |
210 | } | 211 | } |
211 | }); | 212 | }); |
212 | if(error == nil) { | 213 | if(error == nil) { |
213 | _curHisArray = array; | 214 | _curHisArray = array; |
214 | dispatch_async(dispatch_get_main_queue(), ^{ | 215 | dispatch_async(dispatch_get_main_queue(), ^{ |
215 | [weakSelf updateView]; | 216 | [weakSelf updateView]; |
216 | }); | 217 | }); |
217 | } | 218 | } |
218 | else { | 219 | else { |
219 | dispatch_async(dispatch_get_main_queue(), ^{ | 220 | dispatch_async(dispatch_get_main_queue(), ^{ |
220 | NSString *message = [error.userInfo objectForKey:@"message"]; | 221 | NSString *message = [error.userInfo objectForKey:@"message"]; |
221 | [Utilities showErrorMessage:message withViewController:weakSelf]; | 222 | [Utilities showErrorMessage:message withViewController:weakSelf]; |
222 | }); | 223 | }); |
223 | } | 224 | } |
224 | }]; | 225 | }]; |
225 | } | 226 | } |
226 | else { | 227 | else { |
227 | [self resetData]; | 228 | [self resetData]; |
228 | } | 229 | } |
229 | } | 230 | } |
230 | 231 | ||
231 | -(void) callRequestToUpdateData { | 232 | -(void) callRequestToUpdateData { |
232 | [super callRequestToUpdateData]; | 233 | [super callRequestToUpdateData]; |
233 | NSString * token = [[NSUserDefaults standardUserDefaults] stringForKey:kToken]; | 234 | NSString * token = [[NSUserDefaults standardUserDefaults] stringForKey:kToken]; |
234 | 235 | ||
235 | MBProgressHUD *hudView = nil; | 236 | MBProgressHUD *hudView = nil; |
236 | if(_curPage == 1 && !self.refreshControl.isRefreshing) { | 237 | if(_curPage == 1 && !self.refreshControl.isRefreshing) { |
237 | hudView = [MBProgressHUD showHUDAddedTo:self.view animated:true]; | 238 | hudView = [MBProgressHUD showHUDAddedTo:self.view animated:true]; |
238 | } | 239 | } |
239 | [[ServerAPI server] requestHistoryList:token startDate:_startDate endDate:_endDate CompletionHandler:^(NSArray *array, NSError *error) { | 240 | [[ServerAPI server] requestHistoryList:token startDate:_startDate endDate:_endDate CompletionHandler:^(NSArray *array, NSError *error) { |
240 | dispatch_async(dispatch_get_main_queue(), ^{ | 241 | dispatch_async(dispatch_get_main_queue(), ^{ |
241 | if(hudView != nil) { | 242 | if(hudView != nil) { |
242 | [hudView hideAnimated:true]; | 243 | [hudView hideAnimated:true]; |
243 | } | 244 | } |
244 | }); | 245 | }); |
245 | HistoryViewController __weak *weakSelf = self; | 246 | HistoryViewController __weak *weakSelf = self; |
246 | if(error == nil) { | 247 | if(error == nil) { |
247 | _curListArray = array; | 248 | _curListArray = array; |
248 | NSArray * list = [array objectAtIndex:weakSelf.viewCollectionMode.getCurrentIndex]; | 249 | NSArray * list = [array objectAtIndex:weakSelf.viewCollectionMode.getCurrentIndex]; |
249 | [weakSelf updateTableData:list error:error]; | 250 | [weakSelf updateTableData:list error:error]; |
250 | } | 251 | } |
251 | else { | 252 | else { |
252 | [weakSelf updateTableData:array error:error]; | 253 | [weakSelf updateTableData:array error:error]; |
253 | } | 254 | } |
254 | }]; | 255 | }]; |
255 | } | 256 | } |
256 | 257 | ||
257 | - (void) changeDate { | 258 | - (void) changeDate { |
258 | switch (self.viewCollectionType.getCurrentIndex) { | 259 | switch (self.viewCollectionType.getCurrentIndex) { |
259 | case 1: | 260 | case 1: |
260 | _startDate = [_endDate dateByAddingTimeInterval:-86400 * 7]; | 261 | _startDate = [_endDate dateByAddingTimeInterval:-86400 * 7]; |
261 | break; | 262 | break; |
262 | case 2: | 263 | case 2: |
263 | _startDate = [_endDate dateByAddingTimeInterval:-86400 * 30]; | 264 | _startDate = [_endDate dateByAddingTimeInterval:-86400 * 30]; |
264 | break; | 265 | break; |
265 | case 3: | 266 | case 3: |
266 | _startDate = [_endDate dateByAddingTimeInterval:-86400 * 30 * 3]; | 267 | _startDate = [_endDate dateByAddingTimeInterval:-86400 * 30 * 3]; |
267 | break; | 268 | break; |
268 | case 4: | 269 | case 4: |
269 | _startDate = [_endDate dateByAddingTimeInterval:-86400 * 30 * 6]; | 270 | _startDate = [_endDate dateByAddingTimeInterval:-86400 * 30 * 6]; |
270 | break; | 271 | break; |
271 | default: | 272 | default: |
272 | _startDate = _endDate; | 273 | _startDate = _endDate; |
273 | break; | 274 | break; |
274 | } | 275 | } |
275 | if(_startDate == _endDate) { | 276 | if(_startDate == _endDate) { |
276 | self.lblDatetime.text = [Utilities stringFromDate:_endDate withFormat:@"YYYY年MM月dd日 EEEE" locale:@"ja_JP"]; | 277 | self.lblDatetime.text = [Utilities stringFromDate:_endDate withFormat:@"YYYY年MM月dd日 EEEE" locale:@"ja_JP"]; |
277 | } | 278 | } |
278 | else { | 279 | else { |
279 | NSString * startDateString = [Utilities stringFromDate:_startDate withFormat:@"YYYY年MM月dd日" locale:@"ja_JP"]; | 280 | NSString * startDateString = [Utilities stringFromDate:_startDate withFormat:@"YYYY年MM月dd日" locale:@"ja_JP"]; |
280 | NSString * endDateString = [Utilities stringFromDate:_endDate withFormat:@"YYYY年MM月dd日" locale:@"ja_JP"]; | 281 | NSString * endDateString = [Utilities stringFromDate:_endDate withFormat:@"YYYY年MM月dd日" locale:@"ja_JP"]; |
281 | self.lblDatetime.text = [NSString stringWithFormat:@"%@-%@", startDateString, endDateString]; | 282 | self.lblDatetime.text = [NSString stringWithFormat:@"%@-%@", startDateString, endDateString]; |
282 | } | 283 | } |
283 | [self checkRequestData]; | 284 | [self checkRequestData]; |
284 | } | 285 | } |
285 | 286 | ||
286 | #pragma mark IBAction | 287 | #pragma mark IBAction |
287 | -(void) swipeAction:(UISwipeGestureRecognizer *)sender { | 288 | -(void) swipeAction:(UISwipeGestureRecognizer *)sender { |
288 | bool alphaValue = self.scrollView.alpha == 1.0 ? 1.0 : 0.0; | 289 | bool alphaValue = self.scrollView.alpha == 1.0 ? 1.0 : 0.0; |
289 | [UIView animateWithDuration:0.5 animations:^{ | 290 | [UIView animateWithDuration:0.5 animations:^{ |
290 | self.tableBase.alpha = alphaValue; | 291 | self.tableBase.alpha = alphaValue; |
291 | self.scrollView.alpha = 1.0 - alphaValue; | 292 | self.scrollView.alpha = 1.0 - alphaValue; |
292 | } completion:^(BOOL completed) { | 293 | } completion:^(BOOL completed) { |
293 | [self checkRequestData]; | 294 | [self checkRequestData]; |
294 | }]; | 295 | }]; |
295 | } | 296 | } |
296 | 297 | ||
297 | - (IBAction)clickBackward:(UIButton *)sender { | 298 | - (IBAction)clickBackward:(UIButton *)sender { |
298 | _endDate = [_endDate dateByAddingTimeInterval:-86400]; | 299 | _endDate = [_endDate dateByAddingTimeInterval:-86400]; |
299 | [self changeDate]; | 300 | [self changeDate]; |
300 | } | 301 | } |
301 | 302 | ||
302 | - (IBAction)clickForward:(UIButton *)sender { | 303 | - (IBAction)clickForward:(UIButton *)sender { |
303 | _endDate = [_endDate dateByAddingTimeInterval:86400]; | 304 | _endDate = [_endDate dateByAddingTimeInterval:86400]; |
304 | [self changeDate]; | 305 | [self changeDate]; |
305 | } | 306 | } |
306 | 307 | ||
307 | -(void)gestureAction:(UITapGestureRecognizer *) sender | 308 | -(void)gestureAction:(UITapGestureRecognizer *) sender |
308 | { | 309 | { |
309 | CGPoint touchLocation = [sender locationOfTouch:0 inView:self.viewCollectionShare]; | 310 | CGPoint touchLocation = [sender locationOfTouch:0 inView:self.viewCollectionShare]; |
310 | NSIndexPath *indexPath = [self.viewCollectionShare.collectionView indexPathForItemAtPoint:touchLocation]; | 311 | NSIndexPath *indexPath = [self.viewCollectionShare.collectionView indexPathForItemAtPoint:touchLocation]; |
311 | NSString * content = @"Finish 500 steps"; | 312 | NSString * content = @"Finish 500 steps"; |
312 | HistoryViewController __weak *weakSelf = self; | 313 | HistoryViewController __weak *weakSelf = self; |
313 | if(indexPath != NULL) { | 314 | if(indexPath != NULL) { |
314 | switch (indexPath.row) { | 315 | switch (indexPath.row) { |
315 | case 0: //share facebook | 316 | case 0: //share facebook |
316 | [Utilities shareFacebook:content withViewController:weakSelf]; | 317 | [Utilities shareFacebook:content withViewController:weakSelf]; |
317 | break; | 318 | break; |
318 | case 1: //share twitter | 319 | case 1: //share twitter |
319 | [Utilities shareTwitter:content withViewController:weakSelf]; | 320 | [Utilities shareTwitter:content withViewController:weakSelf]; |
320 | break; | 321 | break; |
321 | case 2 : //share line | 322 | case 2 : //share line |
322 | [Utilities shareLine:content withViewController:weakSelf]; | 323 | [Utilities shareLine:content withViewController:weakSelf]; |
323 | break; | 324 | break; |
324 | case 3: // share email | 325 | case 3: // share email |
325 | [Utilities shareEmail:content withViewController:weakSelf]; | 326 | [Utilities shareEmail:content withViewController:weakSelf]; |
326 | break; | 327 | break; |
327 | default: //share other | 328 | default: //share other |
328 | [Utilities shareOther:content withViewController:weakSelf]; | 329 | [Utilities shareOther:content withViewController:weakSelf]; |
329 | break; | 330 | break; |
330 | } | 331 | } |
331 | } | 332 | } |
332 | } | 333 | } |
333 | 334 | ||
334 | #pragma mark UITableView Delegate | 335 | #pragma mark UITableView Delegate |
335 | - (UITableViewCell *) tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath { | 336 | - (UITableViewCell *) tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath { |
336 | HistoryListTableViewCell * cell = [tableView dequeueReusableCellWithIdentifier:@"HistoryListCell"]; | 337 | HistoryListTableViewCell * cell = [tableView dequeueReusableCellWithIdentifier:@"HistoryListCell"]; |
337 | HistoryObject * obj = [_curDataList objectAtIndex:indexPath.row]; | 338 | HistoryObject * obj = [_curDataList objectAtIndex:indexPath.row]; |
338 | cell.lblTitle.text = [Utilities stringFromDate:obj.date withFormat:@"dd日 (EEEE)" locale:@"ja_JP"]; | 339 | cell.lblTitle.text = [Utilities stringFromDate:obj.date withFormat:@"dd日 (EEEE)" locale:@"ja_JP"]; |
339 | cell.lblStep.text = [NSString stringWithFormat:@"%d", obj.step]; | 340 | cell.lblStep.text = [NSString stringWithFormat:@"%d", obj.step]; |
340 | cell.lblDiff.text = [NSString stringWithFormat:@"%d", obj.step_diff]; | 341 | cell.lblDiff.text = [NSString stringWithFormat:@"%d", obj.step_diff]; |
341 | cell.imgArrow.image = (obj.step_diff > 0) ? [UIImage imageNamed:@"arrow_incre"] : [UIImage imageNamed:@"arrow_decre"]; | 342 | cell.imgArrow.image = (obj.step_diff > 0) ? [UIImage imageNamed:@"arrow_incre"] : [UIImage imageNamed:@"arrow_decre"]; |
342 | cell.lblPower.text = [NSString stringWithFormat:@"%0.2f", obj.calories]; | 343 | cell.lblPower.text = [NSString stringWithFormat:@"%0.2f", obj.calories]; |
343 | cell.lblDistance.text = [NSString stringWithFormat:@"%0.1f", obj.distance]; | 344 | cell.lblDistance.text = [NSString stringWithFormat:@"%0.1f", obj.distance]; |
344 | cell.lblDuration.text = [Utilities convertSecondToShortTime:obj.time]; | 345 | cell.lblDuration.text = [Utilities convertSecondToShortTime:obj.time]; |
345 | return cell; | 346 | return cell; |
346 | } | 347 | } |
347 | 348 | ||
348 | @end | 349 | @end |
349 | 350 |
LifeLog/LifeLog/HistoryViewController.xib
1 | <?xml version="1.0" encoding="UTF-8"?> | 1 | <?xml version="1.0" encoding="UTF-8"?> |
2 | <document type="com.apple.InterfaceBuilder3.CocoaTouch.XIB" version="3.0" toolsVersion="13529" targetRuntime="iOS.CocoaTouch" propertyAccessControl="none" useAutolayout="YES" useTraitCollections="YES" colorMatched="YES"> | 2 | <document type="com.apple.InterfaceBuilder3.CocoaTouch.XIB" version="3.0" toolsVersion="13529" targetRuntime="iOS.CocoaTouch" propertyAccessControl="none" useAutolayout="YES" useTraitCollections="YES" colorMatched="YES"> |
3 | <device id="retina4_7" orientation="portrait"> | 3 | <device id="retina4_7" orientation="portrait"> |
4 | <adaptation id="fullscreen"/> | 4 | <adaptation id="fullscreen"/> |
5 | </device> | 5 | </device> |
6 | <dependencies> | 6 | <dependencies> |
7 | <deployment identifier="iOS"/> | 7 | <deployment identifier="iOS"/> |
8 | <plugIn identifier="com.apple.InterfaceBuilder.IBCocoaTouchPlugin" version="13527"/> | 8 | <plugIn identifier="com.apple.InterfaceBuilder.IBCocoaTouchPlugin" version="13527"/> |
9 | <capability name="Aspect ratio constraints" minToolsVersion="5.1"/> | 9 | <capability name="Aspect ratio constraints" minToolsVersion="5.1"/> |
10 | <capability name="documents saved in the Xcode 8 format" minToolsVersion="8.0"/> | 10 | <capability name="documents saved in the Xcode 8 format" minToolsVersion="8.0"/> |
11 | </dependencies> | 11 | </dependencies> |
12 | <objects> | 12 | <objects> |
13 | <placeholder placeholderIdentifier="IBFilesOwner" id="-1" userLabel="File's Owner" customClass="HistoryViewController"> | 13 | <placeholder placeholderIdentifier="IBFilesOwner" id="-1" userLabel="File's Owner" customClass="HistoryViewController"> |
14 | <connections> | 14 | <connections> |
15 | <outlet property="lblCalories" destination="dAE-C8-QLr" id="WaS-S3-Qxh"/> | 15 | <outlet property="lblCalories" destination="dAE-C8-QLr" id="WaS-S3-Qxh"/> |
16 | <outlet property="lblCircleRemain" destination="Kr7-S0-Fpl" id="UQe-Bt-i0X"/> | 16 | <outlet property="lblCircleRemain" destination="Kr7-S0-Fpl" id="UQe-Bt-i0X"/> |
17 | <outlet property="lblCircleStep" destination="oWg-A8-aCr" id="Q9g-UY-hyv"/> | 17 | <outlet property="lblCircleStep" destination="oWg-A8-aCr" id="Q9g-UY-hyv"/> |
18 | <outlet property="lblDatetime" destination="EM7-vA-s1e" id="0fK-4u-TaK"/> | 18 | <outlet property="lblDatetime" destination="EM7-vA-s1e" id="0fK-4u-TaK"/> |
19 | <outlet property="lblDistance" destination="1tR-JC-pyw" id="q4s-Ru-vLO"/> | 19 | <outlet property="lblDistance" destination="1tR-JC-pyw" id="q4s-Ru-vLO"/> |
20 | <outlet property="lblPercent" destination="8Ru-Jc-Ouv" id="ZHn-Kt-0Qk"/> | 20 | <outlet property="lblPercent" destination="8Ru-Jc-Ouv" id="ZHn-Kt-0Qk"/> |
21 | <outlet property="lblRemaining" destination="1NH-b3-ST8" id="hFc-q9-b0h"/> | 21 | <outlet property="lblRemaining" destination="1NH-b3-ST8" id="hFc-q9-b0h"/> |
22 | <outlet property="lblStep" destination="0pf-fX-QXT" id="jK4-9Y-89Q"/> | 22 | <outlet property="lblStep" destination="0pf-fX-QXT" id="jK4-9Y-89Q"/> |
23 | <outlet property="lblTime" destination="PfZ-7x-LAR" id="NQv-fs-rl7"/> | 23 | <outlet property="lblTime" destination="PfZ-7x-LAR" id="NQv-fs-rl7"/> |
24 | <outlet property="scrollView" destination="rey-N3-l8b" id="s3w-fi-n5l"/> | 24 | <outlet property="scrollView" destination="rey-N3-l8b" id="s3w-fi-n5l"/> |
25 | <outlet property="tableBase" destination="FXQ-4O-sRc" id="UHy-Nk-f7u"/> | 25 | <outlet property="tableBase" destination="FXQ-4O-sRc" id="UHy-Nk-f7u"/> |
26 | <outlet property="view" destination="i5M-Pr-FkT" id="sfx-zR-JGt"/> | 26 | <outlet property="view" destination="i5M-Pr-FkT" id="sfx-zR-JGt"/> |
27 | <outlet property="viewBarChart" destination="VqD-Y3-cYQ" id="RdJ-G5-pPy"/> | 27 | <outlet property="viewBarChart" destination="VqD-Y3-cYQ" id="RdJ-G5-pPy"/> |
28 | <outlet property="viewCollectionMode" destination="BVv-qD-EHM" id="A6n-32-oxg"/> | 28 | <outlet property="viewCollectionMode" destination="BVv-qD-EHM" id="A6n-32-oxg"/> |
29 | <outlet property="viewCollectionShare" destination="Iw2-nW-e7g" id="LW3-j0-yEY"/> | 29 | <outlet property="viewCollectionShare" destination="Iw2-nW-e7g" id="LW3-j0-yEY"/> |
30 | <outlet property="viewCollectionType" destination="yxY-4d-tB6" id="K1D-Gc-kWV"/> | 30 | <outlet property="viewCollectionType" destination="yxY-4d-tB6" id="K1D-Gc-kWV"/> |
31 | <outlet property="viewHeader" destination="clL-JG-rbd" id="4NQ-RP-UeO"/> | ||
31 | </connections> | 32 | </connections> |
32 | </placeholder> | 33 | </placeholder> |
33 | <placeholder placeholderIdentifier="IBFirstResponder" id="-2" customClass="UIResponder"/> | 34 | <placeholder placeholderIdentifier="IBFirstResponder" id="-2" customClass="UIResponder"/> |
34 | <view clearsContextBeforeDrawing="NO" contentMode="scaleToFill" id="i5M-Pr-FkT"> | 35 | <view clearsContextBeforeDrawing="NO" contentMode="scaleToFill" id="i5M-Pr-FkT"> |
35 | <rect key="frame" x="0.0" y="0.0" width="375" height="667"/> | 36 | <rect key="frame" x="0.0" y="0.0" width="375" height="667"/> |
36 | <autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/> | 37 | <autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/> |
37 | <subviews> | 38 | <subviews> |
39 | <imageView userInteractionEnabled="NO" contentMode="scaleToFill" horizontalHuggingPriority="251" verticalHuggingPriority="251" image="background" translatesAutoresizingMaskIntoConstraints="NO" id="3GJ-xw-Zoa"> | ||
40 | <rect key="frame" x="0.0" y="0.0" width="375" height="667"/> | ||
41 | </imageView> | ||
38 | <view contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="clL-JG-rbd" userLabel="ViewHeader"> | 42 | <view contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="clL-JG-rbd" userLabel="ViewHeader"> |
39 | <rect key="frame" x="0.0" y="0.0" width="375" height="46"/> | 43 | <rect key="frame" x="0.0" y="0.0" width="375" height="46"/> |
40 | <subviews> | 44 | <subviews> |
41 | <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="履歴" textAlignment="center" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="Ht6-rd-JXF" customClass="AutoTransLabel"> | 45 | <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="履歴" textAlignment="center" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="Ht6-rd-JXF" customClass="AutoTransLabel"> |
42 | <rect key="frame" x="0.0" y="0.0" width="375" height="46"/> | 46 | <rect key="frame" x="0.0" y="0.0" width="375" height="46"/> |
43 | <fontDescription key="fontDescription" type="system" pointSize="17"/> | 47 | <fontDescription key="fontDescription" type="system" pointSize="17"/> |
44 | <color key="textColor" white="1" alpha="1" colorSpace="calibratedWhite"/> | 48 | <color key="textColor" white="1" alpha="1" colorSpace="calibratedWhite"/> |
45 | <nil key="highlightedColor"/> | 49 | <nil key="highlightedColor"/> |
46 | <userDefinedRuntimeAttributes> | 50 | <userDefinedRuntimeAttributes> |
47 | <userDefinedRuntimeAttribute type="string" keyPath="localizeKey" value="lifelog.history.title"/> | 51 | <userDefinedRuntimeAttribute type="string" keyPath="localizeKey" value="lifelog.history.title"/> |
48 | </userDefinedRuntimeAttributes> | 52 | </userDefinedRuntimeAttributes> |
49 | </label> | 53 | </label> |
50 | <button hidden="YES" opaque="NO" contentMode="scaleToFill" contentHorizontalAlignment="center" contentVerticalAlignment="center" lineBreakMode="middleTruncation" translatesAutoresizingMaskIntoConstraints="NO" id="ytc-zM-ZGC"> | 54 | <button hidden="YES" opaque="NO" contentMode="scaleToFill" contentHorizontalAlignment="center" contentVerticalAlignment="center" lineBreakMode="middleTruncation" translatesAutoresizingMaskIntoConstraints="NO" id="ytc-zM-ZGC"> |
51 | <rect key="frame" x="0.0" y="5" width="70" height="36"/> | 55 | <rect key="frame" x="0.0" y="5" width="70" height="36"/> |
52 | <constraints> | 56 | <constraints> |
53 | <constraint firstAttribute="width" constant="70" id="xAE-oP-WEf"/> | 57 | <constraint firstAttribute="width" constant="70" id="xAE-oP-WEf"/> |
54 | </constraints> | 58 | </constraints> |
55 | <state key="normal" image="today_back_button"/> | 59 | <state key="normal" image="today_back_button"/> |
56 | </button> | 60 | </button> |
57 | <button opaque="NO" contentMode="scaleToFill" contentHorizontalAlignment="center" contentVerticalAlignment="center" lineBreakMode="middleTruncation" translatesAutoresizingMaskIntoConstraints="NO" id="CFx-sO-MAH"> | 61 | <button opaque="NO" contentMode="scaleToFill" contentHorizontalAlignment="center" contentVerticalAlignment="center" lineBreakMode="middleTruncation" translatesAutoresizingMaskIntoConstraints="NO" id="CFx-sO-MAH"> |
58 | <rect key="frame" x="330" y="0.0" width="45" height="46"/> | 62 | <rect key="frame" x="330" y="0.0" width="45" height="46"/> |
59 | <constraints> | 63 | <constraints> |
60 | <constraint firstAttribute="width" constant="45" id="V0g-Ii-pNQ"/> | 64 | <constraint firstAttribute="width" constant="45" id="V0g-Ii-pNQ"/> |
61 | </constraints> | 65 | </constraints> |
62 | <state key="normal" image="icon_menu"/> | 66 | <state key="normal" image="icon_menu"/> |
63 | </button> | 67 | </button> |
64 | </subviews> | 68 | </subviews> |
65 | <color key="backgroundColor" red="0.098039215686274508" green="0.098039215686274508" blue="0.098039215686274508" alpha="1" colorSpace="custom" customColorSpace="sRGB"/> | 69 | <color key="backgroundColor" red="0.0" green="0.0" blue="0.2196078431372549" alpha="1" colorSpace="custom" customColorSpace="sRGB"/> |
66 | <constraints> | 70 | <constraints> |
67 | <constraint firstAttribute="trailing" secondItem="Ht6-rd-JXF" secondAttribute="trailing" id="Fr9-Yj-q5e"/> | 71 | <constraint firstAttribute="trailing" secondItem="Ht6-rd-JXF" secondAttribute="trailing" id="Fr9-Yj-q5e"/> |
68 | <constraint firstItem="ytc-zM-ZGC" firstAttribute="leading" secondItem="clL-JG-rbd" secondAttribute="leading" id="LDb-Pq-Z5k"/> | 72 | <constraint firstItem="ytc-zM-ZGC" firstAttribute="leading" secondItem="clL-JG-rbd" secondAttribute="leading" id="LDb-Pq-Z5k"/> |
69 | <constraint firstAttribute="trailing" secondItem="CFx-sO-MAH" secondAttribute="trailing" id="PTh-vI-2DI"/> | 73 | <constraint firstAttribute="trailing" secondItem="CFx-sO-MAH" secondAttribute="trailing" id="PTh-vI-2DI"/> |
70 | <constraint firstItem="Ht6-rd-JXF" firstAttribute="top" secondItem="clL-JG-rbd" secondAttribute="top" id="URG-nj-C2r"/> | 74 | <constraint firstItem="Ht6-rd-JXF" firstAttribute="top" secondItem="clL-JG-rbd" secondAttribute="top" id="URG-nj-C2r"/> |
71 | <constraint firstItem="CFx-sO-MAH" firstAttribute="top" secondItem="clL-JG-rbd" secondAttribute="top" id="Uxg-Wl-DlF"/> | 75 | <constraint firstItem="CFx-sO-MAH" firstAttribute="top" secondItem="clL-JG-rbd" secondAttribute="top" id="Uxg-Wl-DlF"/> |
72 | <constraint firstAttribute="bottom" secondItem="CFx-sO-MAH" secondAttribute="bottom" id="X9D-m3-QXF"/> | 76 | <constraint firstAttribute="bottom" secondItem="CFx-sO-MAH" secondAttribute="bottom" id="X9D-m3-QXF"/> |
73 | <constraint firstAttribute="bottom" secondItem="ytc-zM-ZGC" secondAttribute="bottom" constant="5" id="hWb-ga-1wm"/> | 77 | <constraint firstAttribute="bottom" secondItem="ytc-zM-ZGC" secondAttribute="bottom" constant="5" id="hWb-ga-1wm"/> |
74 | <constraint firstAttribute="bottom" secondItem="Ht6-rd-JXF" secondAttribute="bottom" id="iqI-Bi-QI1"/> | 78 | <constraint firstAttribute="bottom" secondItem="Ht6-rd-JXF" secondAttribute="bottom" id="iqI-Bi-QI1"/> |
75 | <constraint firstItem="Ht6-rd-JXF" firstAttribute="leading" secondItem="clL-JG-rbd" secondAttribute="leading" id="uzc-SO-7mw"/> | 79 | <constraint firstItem="Ht6-rd-JXF" firstAttribute="leading" secondItem="clL-JG-rbd" secondAttribute="leading" id="uzc-SO-7mw"/> |
76 | <constraint firstItem="ytc-zM-ZGC" firstAttribute="top" secondItem="clL-JG-rbd" secondAttribute="top" constant="5" id="vFt-FE-klC"/> | 80 | <constraint firstItem="ytc-zM-ZGC" firstAttribute="top" secondItem="clL-JG-rbd" secondAttribute="top" constant="5" id="vFt-FE-klC"/> |
77 | <constraint firstAttribute="height" constant="46" id="xGd-BD-bgs"/> | 81 | <constraint firstAttribute="height" constant="46" id="xGd-BD-bgs"/> |
78 | </constraints> | 82 | </constraints> |
79 | </view> | 83 | </view> |
80 | <view contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="Cf1-lP-zbB" userLabel="ViewTime"> | 84 | <view contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="Cf1-lP-zbB" userLabel="ViewTime"> |
81 | <rect key="frame" x="10" y="46" width="355" height="35"/> | 85 | <rect key="frame" x="10" y="46" width="355" height="35"/> |
82 | <subviews> | 86 | <subviews> |
83 | <button opaque="NO" contentMode="scaleToFill" contentHorizontalAlignment="center" contentVerticalAlignment="center" lineBreakMode="middleTruncation" translatesAutoresizingMaskIntoConstraints="NO" id="6T2-M9-9wV"> | 87 | <button opaque="NO" contentMode="scaleToFill" contentHorizontalAlignment="center" contentVerticalAlignment="center" lineBreakMode="middleTruncation" translatesAutoresizingMaskIntoConstraints="NO" id="6T2-M9-9wV"> |
84 | <rect key="frame" x="0.0" y="0.0" width="35" height="35"/> | 88 | <rect key="frame" x="0.0" y="0.0" width="35" height="35"/> |
85 | <constraints> | 89 | <constraints> |
86 | <constraint firstAttribute="width" secondItem="6T2-M9-9wV" secondAttribute="height" multiplier="1:1" id="RlM-6u-eer"/> | 90 | <constraint firstAttribute="width" secondItem="6T2-M9-9wV" secondAttribute="height" multiplier="1:1" id="RlM-6u-eer"/> |
87 | </constraints> | 91 | </constraints> |
88 | <state key="normal" backgroundImage="arrow_back"/> | 92 | <state key="normal" backgroundImage="arrow_back"/> |
89 | <connections> | 93 | <connections> |
90 | <action selector="clickBackward:" destination="-1" eventType="touchUpInside" id="pwN-yT-qyp"/> | 94 | <action selector="clickBackward:" destination="-1" eventType="touchUpInside" id="pwN-yT-qyp"/> |
91 | </connections> | 95 | </connections> |
92 | </button> | 96 | </button> |
93 | <button opaque="NO" contentMode="scaleToFill" contentHorizontalAlignment="center" contentVerticalAlignment="center" lineBreakMode="middleTruncation" translatesAutoresizingMaskIntoConstraints="NO" id="Cwb-8M-pDi"> | 97 | <button opaque="NO" contentMode="scaleToFill" contentHorizontalAlignment="center" contentVerticalAlignment="center" lineBreakMode="middleTruncation" translatesAutoresizingMaskIntoConstraints="NO" id="Cwb-8M-pDi"> |
94 | <rect key="frame" x="320" y="0.0" width="35" height="35"/> | 98 | <rect key="frame" x="320" y="0.0" width="35" height="35"/> |
95 | <color key="backgroundColor" white="1" alpha="1" colorSpace="calibratedWhite"/> | 99 | <color key="backgroundColor" white="1" alpha="1" colorSpace="calibratedWhite"/> |
96 | <state key="normal" backgroundImage="arrow_next"/> | 100 | <state key="normal" backgroundImage="arrow_next"/> |
97 | <connections> | 101 | <connections> |
98 | <action selector="clickForward:" destination="-1" eventType="touchUpInside" id="1NC-km-Lfe"/> | 102 | <action selector="clickForward:" destination="-1" eventType="touchUpInside" id="1NC-km-Lfe"/> |
99 | </connections> | 103 | </connections> |
100 | </button> | 104 | </button> |
101 | <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="2017年1月1日 日曜日" textAlignment="center" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="EM7-vA-s1e"> | 105 | <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="2017年1月1日 日曜日" textAlignment="center" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="EM7-vA-s1e"> |
102 | <rect key="frame" x="40" y="2" width="275" height="31"/> | 106 | <rect key="frame" x="40" y="2" width="275" height="31"/> |
103 | <fontDescription key="fontDescription" type="system" pointSize="15"/> | 107 | <fontDescription key="fontDescription" type="system" pointSize="15"/> |
104 | <nil key="textColor"/> | 108 | <nil key="textColor"/> |
105 | <nil key="highlightedColor"/> | 109 | <nil key="highlightedColor"/> |
106 | </label> | 110 | </label> |
107 | </subviews> | 111 | </subviews> |
108 | <color key="backgroundColor" white="1" alpha="1" colorSpace="calibratedWhite"/> | 112 | <color key="backgroundColor" white="1" alpha="1" colorSpace="calibratedWhite"/> |
109 | <constraints> | 113 | <constraints> |
110 | <constraint firstItem="Cwb-8M-pDi" firstAttribute="top" secondItem="Cf1-lP-zbB" secondAttribute="top" id="4Jr-r7-y6d"/> | 114 | <constraint firstItem="Cwb-8M-pDi" firstAttribute="top" secondItem="Cf1-lP-zbB" secondAttribute="top" id="4Jr-r7-y6d"/> |
111 | <constraint firstAttribute="bottom" secondItem="6T2-M9-9wV" secondAttribute="bottom" id="8bU-NI-m32"/> | 115 | <constraint firstAttribute="bottom" secondItem="6T2-M9-9wV" secondAttribute="bottom" id="8bU-NI-m32"/> |
112 | <constraint firstItem="EM7-vA-s1e" firstAttribute="leading" secondItem="6T2-M9-9wV" secondAttribute="trailing" constant="5" id="9G1-I6-nSV"/> | 116 | <constraint firstItem="EM7-vA-s1e" firstAttribute="leading" secondItem="6T2-M9-9wV" secondAttribute="trailing" constant="5" id="9G1-I6-nSV"/> |
113 | <constraint firstItem="EM7-vA-s1e" firstAttribute="top" secondItem="Cf1-lP-zbB" secondAttribute="top" constant="2" id="9Yk-sv-gkx"/> | 117 | <constraint firstItem="EM7-vA-s1e" firstAttribute="top" secondItem="Cf1-lP-zbB" secondAttribute="top" constant="2" id="9Yk-sv-gkx"/> |
114 | <constraint firstItem="Cwb-8M-pDi" firstAttribute="leading" secondItem="EM7-vA-s1e" secondAttribute="trailing" constant="5" id="JQI-18-cWP"/> | 118 | <constraint firstItem="Cwb-8M-pDi" firstAttribute="leading" secondItem="EM7-vA-s1e" secondAttribute="trailing" constant="5" id="JQI-18-cWP"/> |
115 | <constraint firstAttribute="height" constant="35" id="Pdg-IR-g8y"/> | 119 | <constraint firstAttribute="height" constant="35" id="Pdg-IR-g8y"/> |
116 | <constraint firstItem="6T2-M9-9wV" firstAttribute="leading" secondItem="Cf1-lP-zbB" secondAttribute="leading" id="Pgh-zZ-vrG"/> | 120 | <constraint firstItem="6T2-M9-9wV" firstAttribute="leading" secondItem="Cf1-lP-zbB" secondAttribute="leading" id="Pgh-zZ-vrG"/> |
117 | <constraint firstAttribute="bottom" secondItem="Cwb-8M-pDi" secondAttribute="bottom" id="WWs-Ey-osm"/> | 121 | <constraint firstAttribute="bottom" secondItem="Cwb-8M-pDi" secondAttribute="bottom" id="WWs-Ey-osm"/> |
118 | <constraint firstItem="Cwb-8M-pDi" firstAttribute="width" secondItem="Cwb-8M-pDi" secondAttribute="height" multiplier="1:1" id="YHa-MU-GKi"/> | 122 | <constraint firstItem="Cwb-8M-pDi" firstAttribute="width" secondItem="Cwb-8M-pDi" secondAttribute="height" multiplier="1:1" id="YHa-MU-GKi"/> |
119 | <constraint firstItem="6T2-M9-9wV" firstAttribute="top" secondItem="Cf1-lP-zbB" secondAttribute="top" id="fiM-o3-Us0"/> | 123 | <constraint firstItem="6T2-M9-9wV" firstAttribute="top" secondItem="Cf1-lP-zbB" secondAttribute="top" id="fiM-o3-Us0"/> |
120 | <constraint firstAttribute="trailing" secondItem="Cwb-8M-pDi" secondAttribute="trailing" id="oCE-RP-EmX"/> | 124 | <constraint firstAttribute="trailing" secondItem="Cwb-8M-pDi" secondAttribute="trailing" id="oCE-RP-EmX"/> |
121 | <constraint firstAttribute="bottom" secondItem="EM7-vA-s1e" secondAttribute="bottom" constant="2" id="oOd-ip-MZy"/> | 125 | <constraint firstAttribute="bottom" secondItem="EM7-vA-s1e" secondAttribute="bottom" constant="2" id="oOd-ip-MZy"/> |
122 | </constraints> | 126 | </constraints> |
123 | </view> | 127 | </view> |
124 | <view contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="yxY-4d-tB6" customClass="CollectionView"> | 128 | <view contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="yxY-4d-tB6" customClass="CollectionView"> |
125 | <rect key="frame" x="2" y="96" width="371" height="40"/> | 129 | <rect key="frame" x="2" y="96" width="371" height="40"/> |
126 | <color key="backgroundColor" white="0.0" alpha="0.0" colorSpace="calibratedWhite"/> | 130 | <color key="backgroundColor" white="0.0" alpha="0.0" colorSpace="calibratedWhite"/> |
127 | <constraints> | 131 | <constraints> |
128 | <constraint firstAttribute="height" constant="40" id="U7Q-wa-CDi"/> | 132 | <constraint firstAttribute="height" constant="40" id="U7Q-wa-CDi"/> |
129 | </constraints> | 133 | </constraints> |
130 | </view> | 134 | </view> |
131 | <view contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="BVv-qD-EHM" customClass="CollectionView"> | 135 | <view contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="BVv-qD-EHM" customClass="CollectionView"> |
132 | <rect key="frame" x="0.0" y="577" width="375" height="40"/> | 136 | <rect key="frame" x="0.0" y="577" width="375" height="40"/> |
133 | <color key="backgroundColor" white="0.0" alpha="0.0" colorSpace="calibratedWhite"/> | 137 | <color key="backgroundColor" white="0.0" alpha="0.0" colorSpace="calibratedWhite"/> |
134 | <constraints> | 138 | <constraints> |
135 | <constraint firstAttribute="height" constant="40" id="6wc-NQ-UAH"/> | 139 | <constraint firstAttribute="height" constant="40" id="6wc-NQ-UAH"/> |
136 | </constraints> | 140 | </constraints> |
137 | </view> | 141 | </view> |
138 | <view contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="FLa-rV-Aas" userLabel="ViewContent"> | 142 | <view contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="FLa-rV-Aas" userLabel="ViewContent"> |
139 | <rect key="frame" x="0.0" y="151" width="375" height="421"/> | 143 | <rect key="frame" x="0.0" y="151" width="375" height="421"/> |
140 | <subviews> | 144 | <subviews> |
141 | <tableView clipsSubviews="YES" alpha="0.0" contentMode="scaleToFill" alwaysBounceVertical="YES" style="plain" separatorStyle="none" rowHeight="100" sectionHeaderHeight="28" sectionFooterHeight="28" translatesAutoresizingMaskIntoConstraints="NO" id="FXQ-4O-sRc"> | 145 | <tableView clipsSubviews="YES" alpha="0.0" contentMode="scaleToFill" alwaysBounceVertical="YES" style="plain" separatorStyle="none" rowHeight="100" sectionHeaderHeight="28" sectionFooterHeight="28" translatesAutoresizingMaskIntoConstraints="NO" id="FXQ-4O-sRc"> |
142 | <rect key="frame" x="5" y="0.0" width="365" height="421"/> | 146 | <rect key="frame" x="5" y="0.0" width="365" height="421"/> |
143 | <color key="backgroundColor" white="0.0" alpha="0.0" colorSpace="calibratedWhite"/> | 147 | <color key="backgroundColor" white="0.0" alpha="0.0" colorSpace="calibratedWhite"/> |
144 | <connections> | 148 | <connections> |
145 | <outlet property="dataSource" destination="-1" id="GQy-lg-1Af"/> | 149 | <outlet property="dataSource" destination="-1" id="GQy-lg-1Af"/> |
146 | <outlet property="delegate" destination="-1" id="Jka-Ij-zNq"/> | 150 | <outlet property="delegate" destination="-1" id="Jka-Ij-zNq"/> |
147 | </connections> | 151 | </connections> |
148 | </tableView> | 152 | </tableView> |
149 | <scrollView clipsSubviews="YES" multipleTouchEnabled="YES" contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="rey-N3-l8b"> | 153 | <scrollView clipsSubviews="YES" multipleTouchEnabled="YES" contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="rey-N3-l8b"> |
150 | <rect key="frame" x="0.0" y="0.0" width="375" height="421"/> | 154 | <rect key="frame" x="0.0" y="0.0" width="375" height="421"/> |
151 | <subviews> | 155 | <subviews> |
152 | <view contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="Cam-ML-IEO"> | 156 | <view contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="Cam-ML-IEO"> |
153 | <rect key="frame" x="0.0" y="0.0" width="375" height="421"/> | 157 | <rect key="frame" x="0.0" y="0.0" width="375" height="421"/> |
154 | <subviews> | 158 | <subviews> |
155 | <view contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="Kzk-mN-AOf"> | 159 | <view contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="Kzk-mN-AOf"> |
156 | <rect key="frame" x="20" y="30" width="120" height="120"/> | 160 | <rect key="frame" x="20" y="30" width="120" height="120"/> |
157 | <subviews> | 161 | <subviews> |
158 | <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="0 step" textAlignment="center" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="oWg-A8-aCr"> | 162 | <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="0 step" textAlignment="center" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="oWg-A8-aCr"> |
159 | <rect key="frame" x="18" y="35" width="82" height="21"/> | 163 | <rect key="frame" x="18" y="35" width="82" height="21"/> |
160 | <constraints> | 164 | <constraints> |
161 | <constraint firstAttribute="height" constant="21" id="zOX-0d-IVv"/> | 165 | <constraint firstAttribute="height" constant="21" id="zOX-0d-IVv"/> |
162 | </constraints> | 166 | </constraints> |
163 | <fontDescription key="fontDescription" type="system" pointSize="17"/> | 167 | <fontDescription key="fontDescription" type="system" pointSize="17"/> |
164 | <nil key="textColor"/> | 168 | <nil key="textColor"/> |
165 | <nil key="highlightedColor"/> | 169 | <nil key="highlightedColor"/> |
166 | </label> | 170 | </label> |
167 | <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" textAlignment="center" lineBreakMode="tailTruncation" numberOfLines="0" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="Kr7-S0-Fpl"> | 171 | <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" textAlignment="center" lineBreakMode="tailTruncation" numberOfLines="0" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="Kr7-S0-Fpl"> |
168 | <rect key="frame" x="20" y="61" width="80" height="42"/> | 172 | <rect key="frame" x="20" y="61" width="80" height="42"/> |
169 | <constraints> | 173 | <constraints> |
170 | <constraint firstAttribute="width" constant="80" id="IOc-sB-dA2"/> | 174 | <constraint firstAttribute="width" constant="80" id="IOc-sB-dA2"/> |
171 | <constraint firstAttribute="height" constant="42" id="zRP-Fu-qZ9"/> | 175 | <constraint firstAttribute="height" constant="42" id="zRP-Fu-qZ9"/> |
172 | </constraints> | 176 | </constraints> |
173 | <string key="text">目標まであと | 177 | <string key="text">目標まであと |
174 | 0 stepです</string> | 178 | 0 stepです</string> |
175 | <fontDescription key="fontDescription" type="system" pointSize="11"/> | 179 | <fontDescription key="fontDescription" type="system" pointSize="11"/> |
176 | <nil key="textColor"/> | 180 | <nil key="textColor"/> |
177 | <nil key="highlightedColor"/> | 181 | <nil key="highlightedColor"/> |
178 | </label> | 182 | </label> |
179 | </subviews> | 183 | </subviews> |
180 | <color key="backgroundColor" white="1" alpha="1" colorSpace="calibratedWhite"/> | 184 | <color key="backgroundColor" white="1" alpha="1" colorSpace="calibratedWhite"/> |
181 | <constraints> | 185 | <constraints> |
182 | <constraint firstItem="Kr7-S0-Fpl" firstAttribute="top" secondItem="oWg-A8-aCr" secondAttribute="bottom" constant="5" id="2KK-Lm-h74"/> | 186 | <constraint firstItem="Kr7-S0-Fpl" firstAttribute="top" secondItem="oWg-A8-aCr" secondAttribute="bottom" constant="5" id="2KK-Lm-h74"/> |
183 | <constraint firstItem="oWg-A8-aCr" firstAttribute="leading" secondItem="Kzk-mN-AOf" secondAttribute="leading" constant="18" id="CdG-qa-ud5"/> | 187 | <constraint firstItem="oWg-A8-aCr" firstAttribute="leading" secondItem="Kzk-mN-AOf" secondAttribute="leading" constant="18" id="CdG-qa-ud5"/> |
184 | <constraint firstAttribute="width" constant="120" id="E48-cC-dsc"/> | 188 | <constraint firstAttribute="width" constant="120" id="E48-cC-dsc"/> |
185 | <constraint firstAttribute="height" constant="120" id="SlY-sr-tR9"/> | 189 | <constraint firstAttribute="height" constant="120" id="SlY-sr-tR9"/> |
186 | <constraint firstItem="Kr7-S0-Fpl" firstAttribute="centerX" secondItem="Kzk-mN-AOf" secondAttribute="centerX" id="jJV-RH-pk1"/> | 190 | <constraint firstItem="Kr7-S0-Fpl" firstAttribute="centerX" secondItem="Kzk-mN-AOf" secondAttribute="centerX" id="jJV-RH-pk1"/> |
187 | <constraint firstItem="oWg-A8-aCr" firstAttribute="top" secondItem="Kzk-mN-AOf" secondAttribute="top" constant="35" id="oBl-zo-td5"/> | 191 | <constraint firstItem="oWg-A8-aCr" firstAttribute="top" secondItem="Kzk-mN-AOf" secondAttribute="top" constant="35" id="oBl-zo-td5"/> |
188 | <constraint firstAttribute="trailing" secondItem="oWg-A8-aCr" secondAttribute="trailing" constant="20" id="xgh-d4-jOF"/> | 192 | <constraint firstAttribute="trailing" secondItem="oWg-A8-aCr" secondAttribute="trailing" constant="20" id="xgh-d4-jOF"/> |
189 | </constraints> | 193 | </constraints> |
190 | <userDefinedRuntimeAttributes> | 194 | <userDefinedRuntimeAttributes> |
191 | <userDefinedRuntimeAttribute type="number" keyPath="layer.cornerRadius"> | 195 | <userDefinedRuntimeAttribute type="number" keyPath="layer.cornerRadius"> |
192 | <integer key="value" value="60"/> | 196 | <integer key="value" value="60"/> |
193 | </userDefinedRuntimeAttribute> | 197 | </userDefinedRuntimeAttribute> |
194 | </userDefinedRuntimeAttributes> | 198 | </userDefinedRuntimeAttributes> |
195 | </view> | 199 | </view> |
196 | <view contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="4ix-HE-d9T"> | 200 | <view contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="4ix-HE-d9T"> |
197 | <rect key="frame" x="148" y="30" width="219" height="120"/> | 201 | <rect key="frame" x="148" y="30" width="219" height="120"/> |
198 | <subviews> | 202 | <subviews> |
199 | <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="目標" textAlignment="natural" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="YE6-wh-77T" customClass="AutoTransLabel"> | 203 | <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="目標" textAlignment="natural" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="YE6-wh-77T" customClass="AutoTransLabel"> |
200 | <rect key="frame" x="10" y="38" width="45" height="15"/> | 204 | <rect key="frame" x="10" y="38" width="45" height="15"/> |
201 | <constraints> | 205 | <constraints> |
202 | <constraint firstAttribute="width" constant="45" id="6Ce-YE-wbx"/> | 206 | <constraint firstAttribute="width" constant="45" id="6Ce-YE-wbx"/> |
203 | <constraint firstAttribute="height" constant="15" id="eFR-Ao-75U"/> | 207 | <constraint firstAttribute="height" constant="15" id="eFR-Ao-75U"/> |
204 | </constraints> | 208 | </constraints> |
205 | <fontDescription key="fontDescription" type="system" pointSize="12"/> | 209 | <fontDescription key="fontDescription" type="system" pointSize="12"/> |
206 | <color key="textColor" white="1" alpha="1" colorSpace="calibratedWhite"/> | 210 | <color key="textColor" white="1" alpha="1" colorSpace="calibratedWhite"/> |
207 | <nil key="highlightedColor"/> | 211 | <nil key="highlightedColor"/> |
208 | <userDefinedRuntimeAttributes> | 212 | <userDefinedRuntimeAttributes> |
209 | <userDefinedRuntimeAttribute type="string" keyPath="localizeKey" value="lifelog.history.title.total"/> | 213 | <userDefinedRuntimeAttribute type="string" keyPath="localizeKey" value="lifelog.history.title.total"/> |
210 | </userDefinedRuntimeAttributes> | 214 | </userDefinedRuntimeAttributes> |
211 | </label> | 215 | </label> |
212 | <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="残歩数" textAlignment="natural" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="HOl-Tj-xiT" customClass="AutoTransLabel"> | 216 | <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="残歩数" textAlignment="natural" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="HOl-Tj-xiT" customClass="AutoTransLabel"> |
213 | <rect key="frame" x="10" y="53" width="45" height="15"/> | 217 | <rect key="frame" x="10" y="53" width="45" height="15"/> |
214 | <fontDescription key="fontDescription" type="system" pointSize="12"/> | 218 | <fontDescription key="fontDescription" type="system" pointSize="12"/> |
215 | <color key="textColor" white="1" alpha="1" colorSpace="calibratedWhite"/> | 219 | <color key="textColor" white="1" alpha="1" colorSpace="calibratedWhite"/> |
216 | <nil key="highlightedColor"/> | 220 | <nil key="highlightedColor"/> |
217 | <userDefinedRuntimeAttributes> | 221 | <userDefinedRuntimeAttributes> |
218 | <userDefinedRuntimeAttribute type="string" keyPath="localizeKey" value="lifelog.history.title.remaining"/> | 222 | <userDefinedRuntimeAttribute type="string" keyPath="localizeKey" value="lifelog.history.title.remaining"/> |
219 | </userDefinedRuntimeAttributes> | 223 | </userDefinedRuntimeAttributes> |
220 | </label> | 224 | </label> |
221 | <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="達成率" textAlignment="natural" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="l0h-qA-2Ai" customClass="AutoTransLabel"> | 225 | <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="達成率" textAlignment="natural" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="l0h-qA-2Ai" customClass="AutoTransLabel"> |
222 | <rect key="frame" x="10" y="68" width="45" height="15"/> | 226 | <rect key="frame" x="10" y="68" width="45" height="15"/> |
223 | <fontDescription key="fontDescription" type="system" pointSize="12"/> | 227 | <fontDescription key="fontDescription" type="system" pointSize="12"/> |
224 | <color key="textColor" white="1" alpha="1" colorSpace="calibratedWhite"/> | 228 | <color key="textColor" white="1" alpha="1" colorSpace="calibratedWhite"/> |
225 | <nil key="highlightedColor"/> | 229 | <nil key="highlightedColor"/> |
226 | <userDefinedRuntimeAttributes> | 230 | <userDefinedRuntimeAttributes> |
227 | <userDefinedRuntimeAttribute type="string" keyPath="localizeKey" value="lifelog.history.title.percent"/> | 231 | <userDefinedRuntimeAttribute type="string" keyPath="localizeKey" value="lifelog.history.title.percent"/> |
228 | </userDefinedRuntimeAttributes> | 232 | </userDefinedRuntimeAttributes> |
229 | </label> | 233 | </label> |
230 | <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="0 step" textAlignment="natural" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="0pf-fX-QXT"> | 234 | <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="0 step" textAlignment="natural" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="0pf-fX-QXT"> |
231 | <rect key="frame" x="63" y="38" width="118" height="15"/> | 235 | <rect key="frame" x="63" y="38" width="118" height="15"/> |
232 | <constraints> | 236 | <constraints> |
233 | <constraint firstAttribute="height" constant="15" id="Z6o-LI-Eu9"/> | 237 | <constraint firstAttribute="height" constant="15" id="Z6o-LI-Eu9"/> |
234 | </constraints> | 238 | </constraints> |
235 | <fontDescription key="fontDescription" type="system" pointSize="12"/> | 239 | <fontDescription key="fontDescription" type="system" pointSize="12"/> |
236 | <color key="textColor" white="1" alpha="1" colorSpace="calibratedWhite"/> | 240 | <color key="textColor" white="1" alpha="1" colorSpace="calibratedWhite"/> |
237 | <nil key="highlightedColor"/> | 241 | <nil key="highlightedColor"/> |
238 | </label> | 242 | </label> |
239 | <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="0 step" textAlignment="natural" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="1NH-b3-ST8"> | 243 | <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="0 step" textAlignment="natural" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="1NH-b3-ST8"> |
240 | <rect key="frame" x="63" y="53" width="118" height="15"/> | 244 | <rect key="frame" x="63" y="53" width="118" height="15"/> |
241 | <fontDescription key="fontDescription" type="system" pointSize="12"/> | 245 | <fontDescription key="fontDescription" type="system" pointSize="12"/> |
242 | <color key="textColor" white="1" alpha="1" colorSpace="calibratedWhite"/> | 246 | <color key="textColor" white="1" alpha="1" colorSpace="calibratedWhite"/> |
243 | <nil key="highlightedColor"/> | 247 | <nil key="highlightedColor"/> |
244 | </label> | 248 | </label> |
245 | <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="0 %" textAlignment="natural" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="8Ru-Jc-Ouv"> | 249 | <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="0 %" textAlignment="natural" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="8Ru-Jc-Ouv"> |
246 | <rect key="frame" x="63" y="68" width="118" height="15"/> | 250 | <rect key="frame" x="63" y="68" width="118" height="15"/> |
247 | <fontDescription key="fontDescription" type="system" pointSize="12"/> | 251 | <fontDescription key="fontDescription" type="system" pointSize="12"/> |
248 | <color key="textColor" white="1" alpha="1" colorSpace="calibratedWhite"/> | 252 | <color key="textColor" white="1" alpha="1" colorSpace="calibratedWhite"/> |
249 | <nil key="highlightedColor"/> | 253 | <nil key="highlightedColor"/> |
250 | </label> | 254 | </label> |
251 | </subviews> | 255 | </subviews> |
252 | <color key="backgroundColor" white="0.0" alpha="0.0" colorSpace="calibratedWhite"/> | 256 | <color key="backgroundColor" white="0.0" alpha="0.0" colorSpace="calibratedWhite"/> |
253 | <constraints> | 257 | <constraints> |
254 | <constraint firstItem="l0h-qA-2Ai" firstAttribute="top" secondItem="HOl-Tj-xiT" secondAttribute="bottom" id="0dv-3h-eHs"/> | 258 | <constraint firstItem="l0h-qA-2Ai" firstAttribute="top" secondItem="HOl-Tj-xiT" secondAttribute="bottom" id="0dv-3h-eHs"/> |
255 | <constraint firstItem="l0h-qA-2Ai" firstAttribute="leading" secondItem="YE6-wh-77T" secondAttribute="leading" id="7z3-ph-BM4"/> | 259 | <constraint firstItem="l0h-qA-2Ai" firstAttribute="leading" secondItem="YE6-wh-77T" secondAttribute="leading" id="7z3-ph-BM4"/> |
256 | <constraint firstItem="1NH-b3-ST8" firstAttribute="leading" secondItem="0pf-fX-QXT" secondAttribute="leading" id="ACu-BV-ieg"/> | 260 | <constraint firstItem="1NH-b3-ST8" firstAttribute="leading" secondItem="0pf-fX-QXT" secondAttribute="leading" id="ACu-BV-ieg"/> |
257 | <constraint firstItem="8Ru-Jc-Ouv" firstAttribute="top" secondItem="1NH-b3-ST8" secondAttribute="bottom" id="Abh-FK-4X7"/> | 261 | <constraint firstItem="8Ru-Jc-Ouv" firstAttribute="top" secondItem="1NH-b3-ST8" secondAttribute="bottom" id="Abh-FK-4X7"/> |
258 | <constraint firstItem="1NH-b3-ST8" firstAttribute="top" secondItem="0pf-fX-QXT" secondAttribute="bottom" id="B3I-n2-Oks"/> | 262 | <constraint firstItem="1NH-b3-ST8" firstAttribute="top" secondItem="0pf-fX-QXT" secondAttribute="bottom" id="B3I-n2-Oks"/> |
259 | <constraint firstItem="1NH-b3-ST8" firstAttribute="height" secondItem="0pf-fX-QXT" secondAttribute="height" id="BAn-7O-jBX"/> | 263 | <constraint firstItem="1NH-b3-ST8" firstAttribute="height" secondItem="0pf-fX-QXT" secondAttribute="height" id="BAn-7O-jBX"/> |
260 | <constraint firstItem="0pf-fX-QXT" firstAttribute="leading" secondItem="YE6-wh-77T" secondAttribute="trailing" constant="8" id="G20-xx-HEH"/> | 264 | <constraint firstItem="0pf-fX-QXT" firstAttribute="leading" secondItem="YE6-wh-77T" secondAttribute="trailing" constant="8" id="G20-xx-HEH"/> |
261 | <constraint firstItem="8Ru-Jc-Ouv" firstAttribute="leading" secondItem="0pf-fX-QXT" secondAttribute="leading" id="NIm-Zw-fnf"/> | 265 | <constraint firstItem="8Ru-Jc-Ouv" firstAttribute="leading" secondItem="0pf-fX-QXT" secondAttribute="leading" id="NIm-Zw-fnf"/> |
262 | <constraint firstItem="8Ru-Jc-Ouv" firstAttribute="height" secondItem="0pf-fX-QXT" secondAttribute="height" id="PdQ-qd-Sqc"/> | 266 | <constraint firstItem="8Ru-Jc-Ouv" firstAttribute="height" secondItem="0pf-fX-QXT" secondAttribute="height" id="PdQ-qd-Sqc"/> |
263 | <constraint firstItem="HOl-Tj-xiT" firstAttribute="width" secondItem="YE6-wh-77T" secondAttribute="width" id="WpC-o9-bDa"/> | 267 | <constraint firstItem="HOl-Tj-xiT" firstAttribute="width" secondItem="YE6-wh-77T" secondAttribute="width" id="WpC-o9-bDa"/> |
264 | <constraint firstItem="l0h-qA-2Ai" firstAttribute="height" secondItem="YE6-wh-77T" secondAttribute="height" id="bR8-Ki-lS1"/> | 268 | <constraint firstItem="l0h-qA-2Ai" firstAttribute="height" secondItem="YE6-wh-77T" secondAttribute="height" id="bR8-Ki-lS1"/> |
265 | <constraint firstItem="HOl-Tj-xiT" firstAttribute="height" secondItem="YE6-wh-77T" secondAttribute="height" id="c0u-hz-5O9"/> | 269 | <constraint firstItem="HOl-Tj-xiT" firstAttribute="height" secondItem="YE6-wh-77T" secondAttribute="height" id="c0u-hz-5O9"/> |
266 | <constraint firstItem="1NH-b3-ST8" firstAttribute="leading" secondItem="0pf-fX-QXT" secondAttribute="leading" id="chf-kb-ClX"/> | 270 | <constraint firstItem="1NH-b3-ST8" firstAttribute="leading" secondItem="0pf-fX-QXT" secondAttribute="leading" id="chf-kb-ClX"/> |
267 | <constraint firstItem="8Ru-Jc-Ouv" firstAttribute="leading" secondItem="0pf-fX-QXT" secondAttribute="leading" id="din-4T-V5w"/> | 271 | <constraint firstItem="8Ru-Jc-Ouv" firstAttribute="leading" secondItem="0pf-fX-QXT" secondAttribute="leading" id="din-4T-V5w"/> |
268 | <constraint firstItem="l0h-qA-2Ai" firstAttribute="width" secondItem="YE6-wh-77T" secondAttribute="width" id="eo0-xw-d1f"/> | 272 | <constraint firstItem="l0h-qA-2Ai" firstAttribute="width" secondItem="YE6-wh-77T" secondAttribute="width" id="eo0-xw-d1f"/> |
269 | <constraint firstItem="8Ru-Jc-Ouv" firstAttribute="width" secondItem="0pf-fX-QXT" secondAttribute="width" id="gjt-3e-Pkx"/> | 273 | <constraint firstItem="8Ru-Jc-Ouv" firstAttribute="width" secondItem="0pf-fX-QXT" secondAttribute="width" id="gjt-3e-Pkx"/> |
270 | <constraint firstItem="1NH-b3-ST8" firstAttribute="width" secondItem="0pf-fX-QXT" secondAttribute="width" id="kOM-6S-Amv"/> | 274 | <constraint firstItem="1NH-b3-ST8" firstAttribute="width" secondItem="0pf-fX-QXT" secondAttribute="width" id="kOM-6S-Amv"/> |
271 | <constraint firstItem="HOl-Tj-xiT" firstAttribute="leading" secondItem="YE6-wh-77T" secondAttribute="leading" id="oOc-TB-k4j"/> | 275 | <constraint firstItem="HOl-Tj-xiT" firstAttribute="leading" secondItem="YE6-wh-77T" secondAttribute="leading" id="oOc-TB-k4j"/> |
272 | <constraint firstItem="1NH-b3-ST8" firstAttribute="centerY" secondItem="HOl-Tj-xiT" secondAttribute="centerY" id="pGW-dw-56G"/> | 276 | <constraint firstItem="1NH-b3-ST8" firstAttribute="centerY" secondItem="HOl-Tj-xiT" secondAttribute="centerY" id="pGW-dw-56G"/> |
273 | <constraint firstItem="HOl-Tj-xiT" firstAttribute="top" secondItem="YE6-wh-77T" secondAttribute="bottom" id="s6n-mU-Sp6"/> | 277 | <constraint firstItem="HOl-Tj-xiT" firstAttribute="top" secondItem="YE6-wh-77T" secondAttribute="bottom" id="s6n-mU-Sp6"/> |
274 | <constraint firstItem="HOl-Tj-xiT" firstAttribute="centerY" secondItem="4ix-HE-d9T" secondAttribute="centerY" id="vB9-RR-pao"/> | 278 | <constraint firstItem="HOl-Tj-xiT" firstAttribute="centerY" secondItem="4ix-HE-d9T" secondAttribute="centerY" id="vB9-RR-pao"/> |
275 | <constraint firstAttribute="trailing" secondItem="0pf-fX-QXT" secondAttribute="trailing" constant="38" id="xiP-fg-Ozi"/> | 279 | <constraint firstAttribute="trailing" secondItem="0pf-fX-QXT" secondAttribute="trailing" constant="38" id="xiP-fg-Ozi"/> |
276 | <constraint firstItem="YE6-wh-77T" firstAttribute="leading" secondItem="4ix-HE-d9T" secondAttribute="leading" constant="10" id="xj6-In-ihz"/> | 280 | <constraint firstItem="YE6-wh-77T" firstAttribute="leading" secondItem="4ix-HE-d9T" secondAttribute="leading" constant="10" id="xj6-In-ihz"/> |
277 | </constraints> | 281 | </constraints> |
278 | </view> | 282 | </view> |
279 | <view contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="iEh-Ze-suq"> | 283 | <view contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="iEh-Ze-suq"> |
280 | <rect key="frame" x="20" y="158" width="335" height="35"/> | 284 | <rect key="frame" x="20" y="158" width="335" height="35"/> |
281 | <subviews> | 285 | <subviews> |
282 | <view contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="UwA-5Q-gdv"> | 286 | <view contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="UwA-5Q-gdv"> |
283 | <rect key="frame" x="0.0" y="0.0" width="111.5" height="35"/> | 287 | <rect key="frame" x="0.0" y="0.0" width="111.5" height="35"/> |
284 | <subviews> | 288 | <subviews> |
285 | <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="消費カロリー" textAlignment="natural" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="zRU-L6-Ed4" customClass="AutoTransLabel"> | 289 | <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="消費カロリー" textAlignment="natural" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="zRU-L6-Ed4" customClass="AutoTransLabel"> |
286 | <rect key="frame" x="0.0" y="0.0" width="111.5" height="18"/> | 290 | <rect key="frame" x="0.0" y="0.0" width="111.5" height="18"/> |
287 | <constraints> | 291 | <constraints> |
288 | <constraint firstAttribute="height" constant="18" id="Ywp-RA-6am"/> | 292 | <constraint firstAttribute="height" constant="18" id="Ywp-RA-6am"/> |
289 | </constraints> | 293 | </constraints> |
290 | <fontDescription key="fontDescription" type="system" pointSize="12"/> | 294 | <fontDescription key="fontDescription" type="system" pointSize="12"/> |
291 | <color key="textColor" white="1" alpha="1" colorSpace="calibratedWhite"/> | 295 | <color key="textColor" white="1" alpha="1" colorSpace="calibratedWhite"/> |
292 | <nil key="highlightedColor"/> | 296 | <nil key="highlightedColor"/> |
293 | <userDefinedRuntimeAttributes> | 297 | <userDefinedRuntimeAttributes> |
294 | <userDefinedRuntimeAttribute type="string" keyPath="localizeKey" value="lifelog.history.title.calories"/> | 298 | <userDefinedRuntimeAttribute type="string" keyPath="localizeKey" value="lifelog.history.title.calories"/> |
295 | </userDefinedRuntimeAttributes> | 299 | </userDefinedRuntimeAttributes> |
296 | </label> | 300 | </label> |
297 | <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="0 kcal" textAlignment="natural" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="dAE-C8-QLr"> | 301 | <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="0 kcal" textAlignment="natural" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="dAE-C8-QLr"> |
298 | <rect key="frame" x="0.0" y="17" width="111.5" height="18"/> | 302 | <rect key="frame" x="0.0" y="17" width="111.5" height="18"/> |
299 | <constraints> | 303 | <constraints> |
300 | <constraint firstAttribute="height" constant="18" id="r0d-xi-3u7"/> | 304 | <constraint firstAttribute="height" constant="18" id="r0d-xi-3u7"/> |
301 | </constraints> | 305 | </constraints> |
302 | <fontDescription key="fontDescription" type="system" pointSize="12"/> | 306 | <fontDescription key="fontDescription" type="system" pointSize="12"/> |
303 | <color key="textColor" white="1" alpha="1" colorSpace="calibratedWhite"/> | 307 | <color key="textColor" white="1" alpha="1" colorSpace="calibratedWhite"/> |
304 | <nil key="highlightedColor"/> | 308 | <nil key="highlightedColor"/> |
305 | </label> | 309 | </label> |
306 | </subviews> | 310 | </subviews> |
307 | <color key="backgroundColor" white="0.0" alpha="0.0" colorSpace="calibratedWhite"/> | 311 | <color key="backgroundColor" white="0.0" alpha="0.0" colorSpace="calibratedWhite"/> |
308 | <constraints> | 312 | <constraints> |
309 | <constraint firstItem="zRU-L6-Ed4" firstAttribute="leading" secondItem="UwA-5Q-gdv" secondAttribute="leading" id="Zbe-7f-cuR"/> | 313 | <constraint firstItem="zRU-L6-Ed4" firstAttribute="leading" secondItem="UwA-5Q-gdv" secondAttribute="leading" id="Zbe-7f-cuR"/> |
310 | <constraint firstAttribute="bottom" secondItem="dAE-C8-QLr" secondAttribute="bottom" id="aZH-zh-M1V"/> | 314 | <constraint firstAttribute="bottom" secondItem="dAE-C8-QLr" secondAttribute="bottom" id="aZH-zh-M1V"/> |
311 | <constraint firstItem="zRU-L6-Ed4" firstAttribute="top" secondItem="UwA-5Q-gdv" secondAttribute="top" id="bsw-KU-Tcu"/> | 315 | <constraint firstItem="zRU-L6-Ed4" firstAttribute="top" secondItem="UwA-5Q-gdv" secondAttribute="top" id="bsw-KU-Tcu"/> |
312 | <constraint firstAttribute="trailing" secondItem="zRU-L6-Ed4" secondAttribute="trailing" id="iMB-ch-u4B"/> | 316 | <constraint firstAttribute="trailing" secondItem="zRU-L6-Ed4" secondAttribute="trailing" id="iMB-ch-u4B"/> |
313 | <constraint firstItem="dAE-C8-QLr" firstAttribute="leading" secondItem="UwA-5Q-gdv" secondAttribute="leading" id="qNu-WH-Jjj"/> | 317 | <constraint firstItem="dAE-C8-QLr" firstAttribute="leading" secondItem="UwA-5Q-gdv" secondAttribute="leading" id="qNu-WH-Jjj"/> |
314 | <constraint firstAttribute="trailing" secondItem="dAE-C8-QLr" secondAttribute="trailing" id="wRF-1x-XC1"/> | 318 | <constraint firstAttribute="trailing" secondItem="dAE-C8-QLr" secondAttribute="trailing" id="wRF-1x-XC1"/> |
315 | </constraints> | 319 | </constraints> |
316 | </view> | 320 | </view> |
317 | <view contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="BVs-KG-fDF"> | 321 | <view contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="BVs-KG-fDF"> |
318 | <rect key="frame" x="111.5" y="0.0" width="112" height="35"/> | 322 | <rect key="frame" x="111.5" y="0.0" width="112" height="35"/> |
319 | <subviews> | 323 | <subviews> |
320 | <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="距離" textAlignment="natural" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="XGt-pc-sd7" customClass="AutoTransLabel"> | 324 | <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="距離" textAlignment="natural" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="XGt-pc-sd7" customClass="AutoTransLabel"> |
321 | <rect key="frame" x="0.0" y="0.0" width="112" height="18"/> | 325 | <rect key="frame" x="0.0" y="0.0" width="112" height="18"/> |
322 | <constraints> | 326 | <constraints> |
323 | <constraint firstAttribute="height" constant="18" id="tct-pY-7wo"/> | 327 | <constraint firstAttribute="height" constant="18" id="tct-pY-7wo"/> |
324 | </constraints> | 328 | </constraints> |
325 | <fontDescription key="fontDescription" type="system" pointSize="12"/> | 329 | <fontDescription key="fontDescription" type="system" pointSize="12"/> |
326 | <color key="textColor" white="1" alpha="1" colorSpace="calibratedWhite"/> | 330 | <color key="textColor" white="1" alpha="1" colorSpace="calibratedWhite"/> |
327 | <nil key="highlightedColor"/> | 331 | <nil key="highlightedColor"/> |
328 | <userDefinedRuntimeAttributes> | 332 | <userDefinedRuntimeAttributes> |
329 | <userDefinedRuntimeAttribute type="string" keyPath="localizeKey" value="lifelog.history.title.distance"/> | 333 | <userDefinedRuntimeAttribute type="string" keyPath="localizeKey" value="lifelog.history.title.distance"/> |
330 | </userDefinedRuntimeAttributes> | 334 | </userDefinedRuntimeAttributes> |
331 | </label> | 335 | </label> |
332 | <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="0.0 KM" textAlignment="natural" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="1tR-JC-pyw"> | 336 | <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="0.0 KM" textAlignment="natural" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="1tR-JC-pyw"> |
333 | <rect key="frame" x="0.0" y="17" width="112" height="18"/> | 337 | <rect key="frame" x="0.0" y="17" width="112" height="18"/> |
334 | <constraints> | 338 | <constraints> |
335 | <constraint firstAttribute="height" constant="18" id="sNT-xl-BKH"/> | 339 | <constraint firstAttribute="height" constant="18" id="sNT-xl-BKH"/> |
336 | </constraints> | 340 | </constraints> |
337 | <fontDescription key="fontDescription" type="system" pointSize="12"/> | 341 | <fontDescription key="fontDescription" type="system" pointSize="12"/> |
338 | <color key="textColor" white="1" alpha="1" colorSpace="calibratedWhite"/> | 342 | <color key="textColor" white="1" alpha="1" colorSpace="calibratedWhite"/> |
339 | <nil key="highlightedColor"/> | 343 | <nil key="highlightedColor"/> |
340 | </label> | 344 | </label> |
341 | </subviews> | 345 | </subviews> |
342 | <color key="backgroundColor" white="0.0" alpha="0.0" colorSpace="calibratedWhite"/> | 346 | <color key="backgroundColor" white="0.0" alpha="0.0" colorSpace="calibratedWhite"/> |
343 | <constraints> | 347 | <constraints> |
344 | <constraint firstItem="XGt-pc-sd7" firstAttribute="leading" secondItem="BVs-KG-fDF" secondAttribute="leading" id="Bd8-ZX-shc"/> | 348 | <constraint firstItem="XGt-pc-sd7" firstAttribute="leading" secondItem="BVs-KG-fDF" secondAttribute="leading" id="Bd8-ZX-shc"/> |
345 | <constraint firstAttribute="trailing" secondItem="1tR-JC-pyw" secondAttribute="trailing" id="Mrw-gb-r3n"/> | 349 | <constraint firstAttribute="trailing" secondItem="1tR-JC-pyw" secondAttribute="trailing" id="Mrw-gb-r3n"/> |
346 | <constraint firstAttribute="trailing" secondItem="XGt-pc-sd7" secondAttribute="trailing" id="cTc-te-Pc1"/> | 350 | <constraint firstAttribute="trailing" secondItem="XGt-pc-sd7" secondAttribute="trailing" id="cTc-te-Pc1"/> |
347 | <constraint firstItem="XGt-pc-sd7" firstAttribute="top" secondItem="BVs-KG-fDF" secondAttribute="top" id="cs1-A7-e5C"/> | 351 | <constraint firstItem="XGt-pc-sd7" firstAttribute="top" secondItem="BVs-KG-fDF" secondAttribute="top" id="cs1-A7-e5C"/> |
348 | <constraint firstAttribute="bottom" secondItem="1tR-JC-pyw" secondAttribute="bottom" id="vsZ-FE-X5m"/> | 352 | <constraint firstAttribute="bottom" secondItem="1tR-JC-pyw" secondAttribute="bottom" id="vsZ-FE-X5m"/> |
349 | <constraint firstItem="1tR-JC-pyw" firstAttribute="leading" secondItem="BVs-KG-fDF" secondAttribute="leading" id="xOd-ZK-rZn"/> | 353 | <constraint firstItem="1tR-JC-pyw" firstAttribute="leading" secondItem="BVs-KG-fDF" secondAttribute="leading" id="xOd-ZK-rZn"/> |
350 | </constraints> | 354 | </constraints> |
351 | </view> | 355 | </view> |
352 | <view contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="j5h-QD-Igf"> | 356 | <view contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="j5h-QD-Igf"> |
353 | <rect key="frame" x="223.5" y="0.0" width="111.5" height="35"/> | 357 | <rect key="frame" x="223.5" y="0.0" width="111.5" height="35"/> |
354 | <subviews> | 358 | <subviews> |
355 | <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="時間" textAlignment="natural" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="OEO-l8-Ibg" customClass="AutoTransLabel"> | 359 | <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="時間" textAlignment="natural" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="OEO-l8-Ibg" customClass="AutoTransLabel"> |
356 | <rect key="frame" x="0.0" y="0.0" width="111.5" height="18"/> | 360 | <rect key="frame" x="0.0" y="0.0" width="111.5" height="18"/> |
357 | <constraints> | 361 | <constraints> |
358 | <constraint firstAttribute="height" constant="18" id="EVe-qW-qqp"/> | 362 | <constraint firstAttribute="height" constant="18" id="EVe-qW-qqp"/> |
359 | </constraints> | 363 | </constraints> |
360 | <fontDescription key="fontDescription" type="system" pointSize="12"/> | 364 | <fontDescription key="fontDescription" type="system" pointSize="12"/> |
361 | <color key="textColor" white="1" alpha="1" colorSpace="calibratedWhite"/> | 365 | <color key="textColor" white="1" alpha="1" colorSpace="calibratedWhite"/> |
362 | <nil key="highlightedColor"/> | 366 | <nil key="highlightedColor"/> |
363 | <userDefinedRuntimeAttributes> | 367 | <userDefinedRuntimeAttributes> |
364 | <userDefinedRuntimeAttribute type="string" keyPath="localizeKey" value="lifelog.history.title.time"/> | 368 | <userDefinedRuntimeAttribute type="string" keyPath="localizeKey" value="lifelog.history.title.time"/> |
365 | </userDefinedRuntimeAttributes> | 369 | </userDefinedRuntimeAttributes> |
366 | </label> | 370 | </label> |
367 | <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="00:00" textAlignment="natural" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="PfZ-7x-LAR"> | 371 | <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="00:00" textAlignment="natural" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="PfZ-7x-LAR"> |
368 | <rect key="frame" x="0.0" y="17" width="111.5" height="18"/> | 372 | <rect key="frame" x="0.0" y="17" width="111.5" height="18"/> |
369 | <constraints> | 373 | <constraints> |
370 | <constraint firstAttribute="height" constant="18" id="lno-Dx-ZNm"/> | 374 | <constraint firstAttribute="height" constant="18" id="lno-Dx-ZNm"/> |
371 | </constraints> | 375 | </constraints> |
372 | <fontDescription key="fontDescription" type="system" pointSize="12"/> | 376 | <fontDescription key="fontDescription" type="system" pointSize="12"/> |
373 | <color key="textColor" white="1" alpha="1" colorSpace="calibratedWhite"/> | 377 | <color key="textColor" white="1" alpha="1" colorSpace="calibratedWhite"/> |
374 | <nil key="highlightedColor"/> | 378 | <nil key="highlightedColor"/> |
375 | </label> | 379 | </label> |
376 | </subviews> | 380 | </subviews> |
377 | <color key="backgroundColor" white="0.0" alpha="0.0" colorSpace="calibratedWhite"/> | 381 | <color key="backgroundColor" white="0.0" alpha="0.0" colorSpace="calibratedWhite"/> |
378 | <constraints> | 382 | <constraints> |
379 | <constraint firstAttribute="trailing" secondItem="PfZ-7x-LAR" secondAttribute="trailing" id="3Ir-mZ-xmI"/> | 383 | <constraint firstAttribute="trailing" secondItem="PfZ-7x-LAR" secondAttribute="trailing" id="3Ir-mZ-xmI"/> |
380 | <constraint firstItem="OEO-l8-Ibg" firstAttribute="leading" secondItem="j5h-QD-Igf" secondAttribute="leading" id="5oW-CQ-vWi"/> | 384 | <constraint firstItem="OEO-l8-Ibg" firstAttribute="leading" secondItem="j5h-QD-Igf" secondAttribute="leading" id="5oW-CQ-vWi"/> |
381 | <constraint firstItem="PfZ-7x-LAR" firstAttribute="leading" secondItem="j5h-QD-Igf" secondAttribute="leading" id="Qur-SO-10d"/> | 385 | <constraint firstItem="PfZ-7x-LAR" firstAttribute="leading" secondItem="j5h-QD-Igf" secondAttribute="leading" id="Qur-SO-10d"/> |
382 | <constraint firstAttribute="trailing" secondItem="OEO-l8-Ibg" secondAttribute="trailing" id="WQn-Gv-plQ"/> | 386 | <constraint firstAttribute="trailing" secondItem="OEO-l8-Ibg" secondAttribute="trailing" id="WQn-Gv-plQ"/> |
383 | <constraint firstItem="OEO-l8-Ibg" firstAttribute="top" secondItem="j5h-QD-Igf" secondAttribute="top" id="lt7-Qt-rBM"/> | 387 | <constraint firstItem="OEO-l8-Ibg" firstAttribute="top" secondItem="j5h-QD-Igf" secondAttribute="top" id="lt7-Qt-rBM"/> |
384 | <constraint firstAttribute="bottom" secondItem="PfZ-7x-LAR" secondAttribute="bottom" id="qcA-M9-NYS"/> | 388 | <constraint firstAttribute="bottom" secondItem="PfZ-7x-LAR" secondAttribute="bottom" id="qcA-M9-NYS"/> |
385 | </constraints> | 389 | </constraints> |
386 | </view> | 390 | </view> |
387 | </subviews> | 391 | </subviews> |
388 | <color key="backgroundColor" white="0.0" alpha="0.0" colorSpace="calibratedWhite"/> | 392 | <color key="backgroundColor" white="0.0" alpha="0.0" colorSpace="calibratedWhite"/> |
389 | <constraints> | 393 | <constraints> |
390 | <constraint firstAttribute="bottom" secondItem="j5h-QD-Igf" secondAttribute="bottom" id="IsO-UX-w9t"/> | 394 | <constraint firstAttribute="bottom" secondItem="j5h-QD-Igf" secondAttribute="bottom" id="IsO-UX-w9t"/> |
391 | <constraint firstItem="j5h-QD-Igf" firstAttribute="top" secondItem="iEh-Ze-suq" secondAttribute="top" id="Msr-oS-nFH"/> | 395 | <constraint firstItem="j5h-QD-Igf" firstAttribute="top" secondItem="iEh-Ze-suq" secondAttribute="top" id="Msr-oS-nFH"/> |
392 | <constraint firstItem="BVs-KG-fDF" firstAttribute="top" secondItem="iEh-Ze-suq" secondAttribute="top" id="Ohk-mJ-oCK"/> | 396 | <constraint firstItem="BVs-KG-fDF" firstAttribute="top" secondItem="iEh-Ze-suq" secondAttribute="top" id="Ohk-mJ-oCK"/> |
393 | <constraint firstItem="UwA-5Q-gdv" firstAttribute="top" secondItem="iEh-Ze-suq" secondAttribute="top" id="Pue-sC-wfB"/> | 397 | <constraint firstItem="UwA-5Q-gdv" firstAttribute="top" secondItem="iEh-Ze-suq" secondAttribute="top" id="Pue-sC-wfB"/> |
394 | <constraint firstAttribute="height" constant="35" id="WDe-uC-4Qb"/> | 398 | <constraint firstAttribute="height" constant="35" id="WDe-uC-4Qb"/> |
395 | <constraint firstItem="BVs-KG-fDF" firstAttribute="leading" secondItem="UwA-5Q-gdv" secondAttribute="trailing" id="f8Q-F0-hjc"/> | 399 | <constraint firstItem="BVs-KG-fDF" firstAttribute="leading" secondItem="UwA-5Q-gdv" secondAttribute="trailing" id="f8Q-F0-hjc"/> |
396 | <constraint firstItem="BVs-KG-fDF" firstAttribute="width" secondItem="UwA-5Q-gdv" secondAttribute="width" id="fdz-YH-1kJ"/> | 400 | <constraint firstItem="BVs-KG-fDF" firstAttribute="width" secondItem="UwA-5Q-gdv" secondAttribute="width" id="fdz-YH-1kJ"/> |
397 | <constraint firstAttribute="bottom" secondItem="UwA-5Q-gdv" secondAttribute="bottom" id="gxD-wy-TgL"/> | 401 | <constraint firstAttribute="bottom" secondItem="UwA-5Q-gdv" secondAttribute="bottom" id="gxD-wy-TgL"/> |
398 | <constraint firstItem="j5h-QD-Igf" firstAttribute="width" secondItem="UwA-5Q-gdv" secondAttribute="width" id="i3o-n4-fZN"/> | 402 | <constraint firstItem="j5h-QD-Igf" firstAttribute="width" secondItem="UwA-5Q-gdv" secondAttribute="width" id="i3o-n4-fZN"/> |
399 | <constraint firstAttribute="trailing" secondItem="j5h-QD-Igf" secondAttribute="trailing" id="nT6-nS-H9z"/> | 403 | <constraint firstAttribute="trailing" secondItem="j5h-QD-Igf" secondAttribute="trailing" id="nT6-nS-H9z"/> |
400 | <constraint firstAttribute="bottom" secondItem="BVs-KG-fDF" secondAttribute="bottom" id="nqB-N3-F3F"/> | 404 | <constraint firstAttribute="bottom" secondItem="BVs-KG-fDF" secondAttribute="bottom" id="nqB-N3-F3F"/> |
401 | <constraint firstItem="UwA-5Q-gdv" firstAttribute="leading" secondItem="iEh-Ze-suq" secondAttribute="leading" id="oV9-IH-tYC"/> | 405 | <constraint firstItem="UwA-5Q-gdv" firstAttribute="leading" secondItem="iEh-Ze-suq" secondAttribute="leading" id="oV9-IH-tYC"/> |
402 | <constraint firstItem="j5h-QD-Igf" firstAttribute="leading" secondItem="BVs-KG-fDF" secondAttribute="trailing" id="zOb-WE-3CI"/> | 406 | <constraint firstItem="j5h-QD-Igf" firstAttribute="leading" secondItem="BVs-KG-fDF" secondAttribute="trailing" id="zOb-WE-3CI"/> |
403 | </constraints> | 407 | </constraints> |
404 | </view> | 408 | </view> |
405 | <view contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="VqD-Y3-cYQ" customClass="BarChartView" customModule="Charts"> | 409 | <view contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="VqD-Y3-cYQ" customClass="BarChartView" customModule="Charts"> |
406 | <rect key="frame" x="0.0" y="201" width="375" height="100"/> | 410 | <rect key="frame" x="0.0" y="201" width="375" height="100"/> |
407 | <color key="backgroundColor" white="0.0" alpha="0.0" colorSpace="calibratedWhite"/> | 411 | <color key="backgroundColor" white="0.0" alpha="0.0" colorSpace="calibratedWhite"/> |
408 | <constraints> | 412 | <constraints> |
409 | <constraint firstAttribute="height" constant="100" id="aQR-hf-MhR"/> | 413 | <constraint firstAttribute="height" constant="100" id="aQR-hf-MhR"/> |
410 | </constraints> | 414 | </constraints> |
411 | </view> | 415 | </view> |
412 | <view contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="Iw2-nW-e7g" customClass="CollectionView"> | 416 | <view contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="Iw2-nW-e7g" customClass="CollectionView"> |
413 | <rect key="frame" x="20" y="316" width="335" height="50"/> | 417 | <rect key="frame" x="20" y="316" width="335" height="50"/> |
414 | <color key="backgroundColor" white="0.0" alpha="0.0" colorSpace="calibratedWhite"/> | 418 | <color key="backgroundColor" white="0.0" alpha="0.0" colorSpace="calibratedWhite"/> |
415 | <constraints> | 419 | <constraints> |
416 | <constraint firstAttribute="height" constant="50" id="Yzh-hD-r0n"/> | 420 | <constraint firstAttribute="height" constant="50" id="Yzh-hD-r0n"/> |
417 | </constraints> | 421 | </constraints> |
418 | </view> | 422 | </view> |
419 | </subviews> | 423 | </subviews> |
420 | <color key="backgroundColor" white="0.0" alpha="0.0" colorSpace="calibratedWhite"/> | 424 | <color key="backgroundColor" white="0.0" alpha="0.0" colorSpace="calibratedWhite"/> |
421 | <constraints> | 425 | <constraints> |
422 | <constraint firstItem="VqD-Y3-cYQ" firstAttribute="top" secondItem="iEh-Ze-suq" secondAttribute="bottom" constant="8" id="0BA-6p-JLT"/> | 426 | <constraint firstItem="VqD-Y3-cYQ" firstAttribute="top" secondItem="iEh-Ze-suq" secondAttribute="bottom" constant="8" id="0BA-6p-JLT"/> |
423 | <constraint firstItem="Iw2-nW-e7g" firstAttribute="leading" secondItem="Cam-ML-IEO" secondAttribute="leading" constant="20" id="2lH-sF-Mp0"/> | 427 | <constraint firstItem="Iw2-nW-e7g" firstAttribute="leading" secondItem="Cam-ML-IEO" secondAttribute="leading" constant="20" id="2lH-sF-Mp0"/> |
424 | <constraint firstItem="iEh-Ze-suq" firstAttribute="top" secondItem="4ix-HE-d9T" secondAttribute="bottom" constant="8" id="9Sm-IQ-feL"/> | 428 | <constraint firstItem="iEh-Ze-suq" firstAttribute="top" secondItem="4ix-HE-d9T" secondAttribute="bottom" constant="8" id="9Sm-IQ-feL"/> |
425 | <constraint firstItem="VqD-Y3-cYQ" firstAttribute="leading" secondItem="Cam-ML-IEO" secondAttribute="leading" id="Gbd-bD-rFf"/> | 429 | <constraint firstItem="VqD-Y3-cYQ" firstAttribute="leading" secondItem="Cam-ML-IEO" secondAttribute="leading" id="Gbd-bD-rFf"/> |
426 | <constraint firstItem="4ix-HE-d9T" firstAttribute="top" secondItem="Cam-ML-IEO" secondAttribute="top" constant="30" id="JyQ-KD-MhR"/> | 430 | <constraint firstItem="4ix-HE-d9T" firstAttribute="top" secondItem="Cam-ML-IEO" secondAttribute="top" constant="30" id="JyQ-KD-MhR"/> |
427 | <constraint firstAttribute="trailing" secondItem="iEh-Ze-suq" secondAttribute="trailing" constant="20" id="RcZ-yN-56e"/> | 431 | <constraint firstAttribute="trailing" secondItem="iEh-Ze-suq" secondAttribute="trailing" constant="20" id="RcZ-yN-56e"/> |
428 | <constraint firstAttribute="trailing" secondItem="Iw2-nW-e7g" secondAttribute="trailing" constant="20" id="Xso-Or-Fgf"/> | 432 | <constraint firstAttribute="trailing" secondItem="Iw2-nW-e7g" secondAttribute="trailing" constant="20" id="Xso-Or-Fgf"/> |
429 | <constraint firstItem="Kzk-mN-AOf" firstAttribute="top" secondItem="Cam-ML-IEO" secondAttribute="top" constant="30" id="YzU-Mb-veC"/> | 433 | <constraint firstItem="Kzk-mN-AOf" firstAttribute="top" secondItem="Cam-ML-IEO" secondAttribute="top" constant="30" id="YzU-Mb-veC"/> |
430 | <constraint firstAttribute="trailing" secondItem="4ix-HE-d9T" secondAttribute="trailing" constant="8" id="del-xz-Tos"/> | 434 | <constraint firstAttribute="trailing" secondItem="4ix-HE-d9T" secondAttribute="trailing" constant="8" id="del-xz-Tos"/> |
431 | <constraint firstItem="4ix-HE-d9T" firstAttribute="height" secondItem="Kzk-mN-AOf" secondAttribute="height" id="duV-wT-9wp"/> | 435 | <constraint firstItem="4ix-HE-d9T" firstAttribute="height" secondItem="Kzk-mN-AOf" secondAttribute="height" id="duV-wT-9wp"/> |
432 | <constraint firstItem="Iw2-nW-e7g" firstAttribute="top" secondItem="VqD-Y3-cYQ" secondAttribute="bottom" constant="15" id="ekR-kS-L5v"/> | 436 | <constraint firstItem="Iw2-nW-e7g" firstAttribute="top" secondItem="VqD-Y3-cYQ" secondAttribute="bottom" constant="15" id="ekR-kS-L5v"/> |
433 | <constraint firstItem="Kzk-mN-AOf" firstAttribute="leading" secondItem="Cam-ML-IEO" secondAttribute="leading" constant="20" id="hFq-WM-gLq"/> | 437 | <constraint firstItem="Kzk-mN-AOf" firstAttribute="leading" secondItem="Cam-ML-IEO" secondAttribute="leading" constant="20" id="hFq-WM-gLq"/> |
434 | <constraint firstItem="4ix-HE-d9T" firstAttribute="leading" secondItem="Kzk-mN-AOf" secondAttribute="trailing" constant="8" id="hzO-hA-cNG"/> | 438 | <constraint firstItem="4ix-HE-d9T" firstAttribute="leading" secondItem="Kzk-mN-AOf" secondAttribute="trailing" constant="8" id="hzO-hA-cNG"/> |
435 | <constraint firstAttribute="trailing" secondItem="VqD-Y3-cYQ" secondAttribute="trailing" id="ptF-2O-CNR"/> | 439 | <constraint firstAttribute="trailing" secondItem="VqD-Y3-cYQ" secondAttribute="trailing" id="ptF-2O-CNR"/> |
436 | <constraint firstItem="iEh-Ze-suq" firstAttribute="leading" secondItem="Cam-ML-IEO" secondAttribute="leading" constant="20" id="u5o-P4-qkL"/> | 440 | <constraint firstItem="iEh-Ze-suq" firstAttribute="leading" secondItem="Cam-ML-IEO" secondAttribute="leading" constant="20" id="u5o-P4-qkL"/> |
437 | </constraints> | 441 | </constraints> |
438 | </view> | 442 | </view> |
439 | </subviews> | 443 | </subviews> |
440 | <color key="backgroundColor" white="0.0" alpha="0.0" colorSpace="calibratedWhite"/> | 444 | <color key="backgroundColor" white="0.0" alpha="0.0" colorSpace="calibratedWhite"/> |
441 | <constraints> | 445 | <constraints> |
442 | <constraint firstItem="Cam-ML-IEO" firstAttribute="centerY" secondItem="rey-N3-l8b" secondAttribute="centerY" id="0WD-1q-SWm"/> | 446 | <constraint firstItem="Cam-ML-IEO" firstAttribute="centerY" secondItem="rey-N3-l8b" secondAttribute="centerY" id="0WD-1q-SWm"/> |
443 | <constraint firstItem="Cam-ML-IEO" firstAttribute="width" secondItem="rey-N3-l8b" secondAttribute="width" id="LbF-3h-cxa"/> | 447 | <constraint firstItem="Cam-ML-IEO" firstAttribute="width" secondItem="rey-N3-l8b" secondAttribute="width" id="LbF-3h-cxa"/> |
444 | <constraint firstAttribute="trailing" secondItem="Cam-ML-IEO" secondAttribute="trailing" id="UHb-6d-wF8"/> | 448 | <constraint firstAttribute="trailing" secondItem="Cam-ML-IEO" secondAttribute="trailing" id="UHb-6d-wF8"/> |
445 | <constraint firstItem="Cam-ML-IEO" firstAttribute="leading" secondItem="rey-N3-l8b" secondAttribute="leading" id="Y4U-kD-V28"/> | 449 | <constraint firstItem="Cam-ML-IEO" firstAttribute="leading" secondItem="rey-N3-l8b" secondAttribute="leading" id="Y4U-kD-V28"/> |
446 | <constraint firstItem="Cam-ML-IEO" firstAttribute="top" secondItem="rey-N3-l8b" secondAttribute="top" id="ohS-iH-IIM"/> | 450 | <constraint firstItem="Cam-ML-IEO" firstAttribute="top" secondItem="rey-N3-l8b" secondAttribute="top" id="ohS-iH-IIM"/> |
447 | <constraint firstAttribute="bottom" secondItem="Cam-ML-IEO" secondAttribute="bottom" id="th8-dH-zv1"/> | 451 | <constraint firstAttribute="bottom" secondItem="Cam-ML-IEO" secondAttribute="bottom" id="th8-dH-zv1"/> |
448 | </constraints> | 452 | </constraints> |
449 | <connections> | 453 | <connections> |
450 | <outlet property="delegate" destination="-1" id="3Fl-Qy-gjm"/> | 454 | <outlet property="delegate" destination="-1" id="3Fl-Qy-gjm"/> |
451 | </connections> | 455 | </connections> |
452 | </scrollView> | 456 | </scrollView> |
453 | </subviews> | 457 | </subviews> |
454 | <color key="backgroundColor" white="0.0" alpha="0.0" colorSpace="calibratedWhite"/> | 458 | <color key="backgroundColor" white="0.0" alpha="0.0" colorSpace="calibratedWhite"/> |
455 | <constraints> | 459 | <constraints> |
456 | <constraint firstAttribute="trailing" secondItem="FXQ-4O-sRc" secondAttribute="trailing" constant="5" id="5y0-NC-rHp"/> | 460 | <constraint firstAttribute="trailing" secondItem="FXQ-4O-sRc" secondAttribute="trailing" constant="5" id="5y0-NC-rHp"/> |
457 | <constraint firstItem="FXQ-4O-sRc" firstAttribute="leading" secondItem="FLa-rV-Aas" secondAttribute="leading" constant="5" id="C0U-21-SKl"/> | 461 | <constraint firstItem="FXQ-4O-sRc" firstAttribute="leading" secondItem="FLa-rV-Aas" secondAttribute="leading" constant="5" id="C0U-21-SKl"/> |
458 | <constraint firstItem="FXQ-4O-sRc" firstAttribute="top" secondItem="FLa-rV-Aas" secondAttribute="top" id="CB0-VD-h5m"/> | 462 | <constraint firstItem="FXQ-4O-sRc" firstAttribute="top" secondItem="FLa-rV-Aas" secondAttribute="top" id="CB0-VD-h5m"/> |
459 | <constraint firstAttribute="bottom" secondItem="FXQ-4O-sRc" secondAttribute="bottom" id="FbP-FY-h1E"/> | 463 | <constraint firstAttribute="bottom" secondItem="FXQ-4O-sRc" secondAttribute="bottom" id="FbP-FY-h1E"/> |
460 | <constraint firstAttribute="trailing" secondItem="rey-N3-l8b" secondAttribute="trailing" id="KFD-f5-xci"/> | 464 | <constraint firstAttribute="trailing" secondItem="rey-N3-l8b" secondAttribute="trailing" id="KFD-f5-xci"/> |
461 | <constraint firstItem="rey-N3-l8b" firstAttribute="top" secondItem="FLa-rV-Aas" secondAttribute="top" id="SpB-31-H3a"/> | 465 | <constraint firstItem="rey-N3-l8b" firstAttribute="top" secondItem="FLa-rV-Aas" secondAttribute="top" id="SpB-31-H3a"/> |
462 | <constraint firstItem="rey-N3-l8b" firstAttribute="leading" secondItem="FLa-rV-Aas" secondAttribute="leading" id="YvS-I2-8Dg"/> | 466 | <constraint firstItem="rey-N3-l8b" firstAttribute="leading" secondItem="FLa-rV-Aas" secondAttribute="leading" id="YvS-I2-8Dg"/> |
463 | <constraint firstAttribute="bottom" secondItem="rey-N3-l8b" secondAttribute="bottom" id="enX-7g-Eib"/> | 467 | <constraint firstAttribute="bottom" secondItem="rey-N3-l8b" secondAttribute="bottom" id="enX-7g-Eib"/> |
464 | </constraints> | 468 | </constraints> |
465 | <connections> | 469 | <connections> |
466 | <outletCollection property="gestureRecognizers" destination="Qjg-St-rCc" appends="YES" id="egt-sX-aBC"/> | 470 | <outletCollection property="gestureRecognizers" destination="Qjg-St-rCc" appends="YES" id="egt-sX-aBC"/> |
467 | <outletCollection property="gestureRecognizers" destination="VSZ-i0-Jhb" appends="YES" id="UKr-c3-9pp"/> | 471 | <outletCollection property="gestureRecognizers" destination="VSZ-i0-Jhb" appends="YES" id="UKr-c3-9pp"/> |
468 | </connections> | 472 | </connections> |
469 | </view> | 473 | </view> |
470 | </subviews> | 474 | </subviews> |
471 | <color key="backgroundColor" white="0.0" alpha="1" colorSpace="calibratedWhite"/> | 475 | <color key="backgroundColor" white="0.0" alpha="1" colorSpace="calibratedWhite"/> |
472 | <gestureRecognizers/> | 476 | <gestureRecognizers/> |
473 | <constraints> | 477 | <constraints> |
474 | <constraint firstAttribute="trailing" secondItem="Cf1-lP-zbB" secondAttribute="trailing" constant="10" id="20C-UL-MCu"/> | 478 | <constraint firstAttribute="trailing" secondItem="Cf1-lP-zbB" secondAttribute="trailing" constant="10" id="20C-UL-MCu"/> |
475 | <constraint firstItem="clL-JG-rbd" firstAttribute="leading" secondItem="i5M-Pr-FkT" secondAttribute="leading" id="3tf-ab-v41"/> | 479 | <constraint firstItem="clL-JG-rbd" firstAttribute="leading" secondItem="i5M-Pr-FkT" secondAttribute="leading" id="3tf-ab-v41"/> |
476 | <constraint firstItem="Cf1-lP-zbB" firstAttribute="top" secondItem="clL-JG-rbd" secondAttribute="bottom" id="5vy-x5-G38"/> | 480 | <constraint firstItem="Cf1-lP-zbB" firstAttribute="top" secondItem="clL-JG-rbd" secondAttribute="bottom" id="5vy-x5-G38"/> |
477 | <constraint firstItem="Cf1-lP-zbB" firstAttribute="leading" secondItem="i5M-Pr-FkT" secondAttribute="leading" constant="10" id="974-wJ-aRb"/> | 481 | <constraint firstItem="Cf1-lP-zbB" firstAttribute="leading" secondItem="i5M-Pr-FkT" secondAttribute="leading" constant="10" id="974-wJ-aRb"/> |
482 | <constraint firstItem="3GJ-xw-Zoa" firstAttribute="top" secondItem="i5M-Pr-FkT" secondAttribute="top" id="HBx-Na-cDr"/> | ||
478 | <constraint firstItem="yxY-4d-tB6" firstAttribute="leading" secondItem="i5M-Pr-FkT" secondAttribute="leading" constant="2" id="Jqg-nE-6dv"/> | 483 | <constraint firstItem="yxY-4d-tB6" firstAttribute="leading" secondItem="i5M-Pr-FkT" secondAttribute="leading" constant="2" id="Jqg-nE-6dv"/> |
479 | <constraint firstAttribute="trailing" secondItem="BVv-qD-EHM" secondAttribute="trailing" id="MCi-Tl-hSp"/> | 484 | <constraint firstAttribute="trailing" secondItem="BVv-qD-EHM" secondAttribute="trailing" id="MCi-Tl-hSp"/> |
485 | <constraint firstAttribute="trailing" secondItem="3GJ-xw-Zoa" secondAttribute="trailing" id="Moq-8p-WQZ"/> | ||
480 | <constraint firstAttribute="trailing" secondItem="yxY-4d-tB6" secondAttribute="trailing" constant="2" id="Qs5-ky-nmB"/> | 486 | <constraint firstAttribute="trailing" secondItem="yxY-4d-tB6" secondAttribute="trailing" constant="2" id="Qs5-ky-nmB"/> |
481 | <constraint firstAttribute="bottom" secondItem="BVv-qD-EHM" secondAttribute="bottom" constant="50" placeholder="YES" id="SbT-PG-8MJ"/> | 487 | <constraint firstAttribute="bottom" secondItem="BVv-qD-EHM" secondAttribute="bottom" constant="50" placeholder="YES" id="SbT-PG-8MJ"/> |
482 | <constraint firstItem="BVv-qD-EHM" firstAttribute="leading" secondItem="i5M-Pr-FkT" secondAttribute="leading" id="SqH-AA-Z2K"/> | 488 | <constraint firstItem="BVv-qD-EHM" firstAttribute="leading" secondItem="i5M-Pr-FkT" secondAttribute="leading" id="SqH-AA-Z2K"/> |
489 | <constraint firstItem="3GJ-xw-Zoa" firstAttribute="leading" secondItem="i5M-Pr-FkT" secondAttribute="leading" id="bcl-n4-1Vp"/> | ||
483 | <constraint firstItem="FLa-rV-Aas" firstAttribute="top" secondItem="yxY-4d-tB6" secondAttribute="bottom" constant="15" id="cWw-RX-1Kp"/> | 490 | <constraint firstItem="FLa-rV-Aas" firstAttribute="top" secondItem="yxY-4d-tB6" secondAttribute="bottom" constant="15" id="cWw-RX-1Kp"/> |
484 | <constraint firstItem="yxY-4d-tB6" firstAttribute="top" secondItem="Cf1-lP-zbB" secondAttribute="bottom" constant="15" id="dSN-ey-gQ7"/> | 491 | <constraint firstItem="yxY-4d-tB6" firstAttribute="top" secondItem="Cf1-lP-zbB" secondAttribute="bottom" constant="15" id="dSN-ey-gQ7"/> |
485 | <constraint firstItem="clL-JG-rbd" firstAttribute="top" secondItem="i5M-Pr-FkT" secondAttribute="top" id="i5Z-XR-Msb"/> | 492 | <constraint firstItem="clL-JG-rbd" firstAttribute="top" secondItem="i5M-Pr-FkT" secondAttribute="top" priority="750" id="i5Z-XR-Msb"/> |
486 | <constraint firstItem="FLa-rV-Aas" firstAttribute="leading" secondItem="i5M-Pr-FkT" secondAttribute="leading" id="iiN-Zj-1uu"/> | 493 | <constraint firstItem="FLa-rV-Aas" firstAttribute="leading" secondItem="i5M-Pr-FkT" secondAttribute="leading" id="iiN-Zj-1uu"/> |
487 | <constraint firstAttribute="trailing" secondItem="FLa-rV-Aas" secondAttribute="trailing" id="jme-cz-cFt"/> | 494 | <constraint firstAttribute="trailing" secondItem="FLa-rV-Aas" secondAttribute="trailing" id="jme-cz-cFt"/> |
488 | <constraint firstItem="BVv-qD-EHM" firstAttribute="top" secondItem="FLa-rV-Aas" secondAttribute="bottom" constant="5" id="qbT-yT-phN"/> | 495 | <constraint firstItem="BVv-qD-EHM" firstAttribute="top" secondItem="FLa-rV-Aas" secondAttribute="bottom" constant="5" id="qbT-yT-phN"/> |
489 | <constraint firstAttribute="trailing" secondItem="clL-JG-rbd" secondAttribute="trailing" id="ri5-LG-xJH"/> | 496 | <constraint firstAttribute="trailing" secondItem="clL-JG-rbd" secondAttribute="trailing" id="ri5-LG-xJH"/> |
497 | <constraint firstAttribute="bottom" secondItem="3GJ-xw-Zoa" secondAttribute="bottom" id="uCd-co-Zew"/> | ||
490 | </constraints> | 498 | </constraints> |
491 | <point key="canvasLocation" x="26.5" y="52.5"/> | 499 | <point key="canvasLocation" x="26.5" y="52.5"/> |
492 | </view> | 500 | </view> |
493 | <swipeGestureRecognizer cancelsTouchesInView="NO" direction="left" id="Qjg-St-rCc"> | 501 | <swipeGestureRecognizer cancelsTouchesInView="NO" direction="left" id="Qjg-St-rCc"> |
494 | <connections> | 502 | <connections> |
495 | <action selector="swipeAction:" destination="-1" id="2Vl-bM-Ta7"/> | 503 | <action selector="swipeAction:" destination="-1" id="2Vl-bM-Ta7"/> |
496 | </connections> | 504 | </connections> |
497 | </swipeGestureRecognizer> | 505 | </swipeGestureRecognizer> |
498 | <swipeGestureRecognizer cancelsTouchesInView="NO" direction="right" id="VSZ-i0-Jhb"> | 506 | <swipeGestureRecognizer cancelsTouchesInView="NO" direction="right" id="VSZ-i0-Jhb"> |
499 | <connections> | 507 | <connections> |
500 | <action selector="swipeAction:" destination="-1" id="hoY-6M-DoS"/> | 508 | <action selector="swipeAction:" destination="-1" id="hoY-6M-DoS"/> |
501 | </connections> | 509 | </connections> |
502 | </swipeGestureRecognizer> | 510 | </swipeGestureRecognizer> |
503 | </objects> | 511 | </objects> |
504 | <resources> | 512 | <resources> |
505 | <image name="arrow_back" width="22" height="22"/> | 513 | <image name="arrow_back" width="22" height="22"/> |
506 | <image name="arrow_next" width="22" height="22"/> | 514 | <image name="arrow_next" width="22" height="22"/> |
515 | <image name="background" width="1563" height="2778"/> | ||
507 | <image name="icon_menu" width="30" height="30"/> | 516 | <image name="icon_menu" width="30" height="30"/> |
508 | <image name="today_back_button" width="73" height="37"/> | 517 | <image name="today_back_button" width="73" height="37"/> |
509 | </resources> | 518 | </resources> |
510 | </document> | 519 | </document> |
511 | 520 |
LifeLog/LifeLog/HomeViewConb troller.m
1 | // | File was deleted | |
2 | // HomeViewController.m | ||
3 | // LifeLog | ||
4 | // | ||
5 | // Created by Nguyen Van Phong on 7/25/17. | ||
6 | // Copyright © 2017 PhongNV. All rights reserved. | ||
7 | // | ||
8 | |||
9 | #import "HomeViewController.h" | ||
10 | #import "NSDate+helper.h" | ||
11 | #import <CoreMotion/CoreMotion.h> | ||
12 | #import "CMMotionActivityExtra.h" | ||
13 | #import "TodayViewController.h" | ||
14 | #import "Utilities.h" | ||
15 | #import <MBProgressHUD/MBProgressHUD.h> | ||
16 | #import "ServerAPI.h" | ||
17 | |||
18 | static NSInteger maxRequest = 20; | ||
19 | static NSInteger numberTotal = 10000; | ||
20 | |||
21 | @interface HomeViewController () | ||
22 | { | ||
23 | MBProgressHUD *progressHud; | ||
24 | NSInteger targetStep; | ||
25 | } | ||
26 | @property (nonatomic, weak) IBOutlet UILabel *lblTitle; | ||
27 | @property (nonatomic, weak) IBOutlet UIImageView *avatar; | ||
28 | @property (nonatomic, weak) IBOutlet UILabel *lblDateCurrent; | ||
29 | @property (nonatomic, weak) IBOutlet UILabel *lblValueStep; | ||
30 | @property (nonatomic, weak) IBOutlet UILabel *lblUnitStep; | ||
31 | @property (nonatomic, weak) IBOutlet UILabel *lblValueStepOther; | ||
32 | @property (nonatomic, weak) IBOutlet UILabel *lblPercent; | ||
33 | @property (nonatomic, weak) IBOutlet UILabel *lblNotice; | ||
34 | @property (weak, nonatomic) IBOutlet UISegmentedControl *segmentHome; | ||
35 | @property (weak, nonatomic) IBOutlet UITextView *tvNotice; | ||
36 | |||
37 | @property (nonatomic, strong) CMPedometer *pedometer; | ||
38 | @property (nonatomic, strong) CMMotionActivityManager *motionActivityManager; | ||
39 | @property (nonatomic, strong) NSOperationQueue *operationQueue; | ||
40 | @property (nonatomic, strong) NSTimer *timer; | ||
41 | @property (nonatomic, assign) NSInteger bike; | ||
42 | @property (nonatomic, assign) NSInteger walking; | ||
43 | @property (nonatomic, assign) NSInteger running; | ||
44 | @property (nonatomic, strong) NSDate *dateCurrent; | ||
45 | |||
46 | @property (nonatomic, assign) int totalRequest; | ||
47 | @property (nonatomic, assign) int countComplete; | ||
48 | @property (nonatomic, assign) int currentIndex; | ||
49 | |||
50 | @end | ||
51 | |||
52 | @implementation HomeViewController | ||
53 | |||
54 | - (void)viewDidLoad { | ||
55 | [super viewDidLoad]; | ||
56 | |||
57 | self.lblTitle.text = NSLocalizedString(@"lifelog.home.title", nil); | ||
58 | |||
59 | [self.view addConstraint:[NSLayoutConstraint constraintWithItem:self.topLayoutGuide attribute:NSLayoutAttributeBottom relatedBy:NSLayoutRelationEqual toItem:self.lblTitle attribute:NSLayoutAttributeTop multiplier:1 constant:0]]; | ||
60 | [self.view addConstraint:[NSLayoutConstraint constraintWithItem:self.bottomLayoutGuide attribute:NSLayoutAttributeTop relatedBy:NSLayoutRelationEqual toItem:self.segmentHome attribute:NSLayoutAttributeBottom multiplier:1 constant:20]]; | ||
61 | |||
62 | self.avatar.backgroundColor = [UIColor whiteColor]; | ||
63 | self.avatar.layer.borderWidth = 2.0f; | ||
64 | self.avatar.layer.borderColor = [[UIColor whiteColor] CGColor]; | ||
65 | self.avatar.layer.cornerRadius = self.avatar.frame.size.width/2.0f; | ||
66 | self.avatar.layer.masksToBounds = YES; | ||
67 | NSData *data = [[NSUserDefaults standardUserDefaults] objectForKey:kUser]; | ||
68 | User *user = (User *)[NSKeyedUnarchiver unarchiveObjectWithData:data]; | ||
69 | if (user != nil) { | ||
70 | NSString *linkImage = [NSString stringWithFormat:@"%@%@", kServerAddress, user.profile_image]; | ||
71 | NSURL *urlImage = [NSURL URLWithString:linkImage]; | ||
72 | NSURLSessionConfiguration *sessionConfig = [NSURLSessionConfiguration defaultSessionConfiguration]; | ||
73 | sessionConfig.timeoutIntervalForRequest = 30.0; | ||
74 | sessionConfig.timeoutIntervalForResource = 60.0; | ||
75 | sessionConfig.HTTPMaximumConnectionsPerHost = 20; | ||
76 | sessionConfig.allowsCellularAccess = YES; | ||
77 | HomeViewController __weak *weakSelf = self; | ||
78 | NSURLSession *session = [NSURLSession sessionWithConfiguration:sessionConfig]; | ||
79 | NSURLSessionDataTask *downloadPhotoTask = [session | ||
80 | dataTaskWithURL:urlImage completionHandler:^(NSData *data, NSURLResponse *response, NSError *error) { | ||
81 | if (weakSelf == nil) | ||
82 | { | ||
83 | return; | ||
84 | } | ||
85 | if (error == nil) { | ||
86 | UIImage *image = [[UIImage alloc] initWithData:data]; | ||
87 | [[NSOperationQueue mainQueue] addOperationWithBlock:^{ | ||
88 | weakSelf.avatar.image = image; | ||
89 | }]; | ||
90 | } | ||
91 | }]; | ||
92 | [downloadPhotoTask resume]; | ||
93 | } | ||
94 | |||
95 | self.lblNotice.text = NSLocalizedString(@"lifelog.home.notice", nil); | ||
96 | |||
97 | _dateCurrent = [NSDate date]; | ||
98 | self.lblDateCurrent.text = [NSString stringWithFormat:@"%ld%@%ld%@%ld%@", (long)[_dateCurrent getYear], NSLocalizedString(@"lifelog.common.year", nil), (long)[_dateCurrent getMonth], NSLocalizedString(@"lifelog.common.month", nil), (long)[_dateCurrent getDay], NSLocalizedString(@"lifelog.common.day", nil)]; | ||
99 | |||
100 | self.lblUnitStep.text = NSLocalizedString(@"lifelog.home.unit.step", nil); | ||
101 | |||
102 | if ([CMPedometer isStepCountingAvailable]) { | ||
103 | _pedometer = [[CMPedometer alloc] init]; | ||
104 | } | ||
105 | if ([CMMotionActivityManager isActivityAvailable]) { | ||
106 | _motionActivityManager = [[CMMotionActivityManager alloc] init]; | ||
107 | } | ||
108 | _operationQueue = [[NSOperationQueue alloc] init]; | ||
109 | _bike = 0; | ||
110 | _walking = 0; | ||
111 | _running = 0; | ||
112 | _segmentHome.selectedSegmentIndex = 1; | ||
113 | _totalRequest = 0; | ||
114 | _countComplete = 0; | ||
115 | |||
116 | progressHud = [MBProgressHUD showHUDAddedTo:self.view animated:YES]; | ||
117 | progressHud.mode = MBProgressHUDModeIndeterminate; | ||
118 | progressHud.detailsLabel.text = NSLocalizedString(@"lifelog.home.progressHud.title", nil); | ||
119 | // [self saveDataStep7LastDay]; | ||
120 | targetStep = numberTotal; | ||
121 | [self requestNotice]; | ||
122 | } | ||
123 | |||
124 | - (void)requestNotice | ||
125 | { | ||
126 | NSDateFormatter *dateFormatter = [[NSDateFormatter alloc] init]; | ||
127 | [dateFormatter setDateFormat:@"yyyy-MM-dd"]; | ||
128 | NSString *dateString = [dateFormatter stringFromDate:_dateCurrent]; | ||
129 | HomeViewController __weak *weakSelf = self; | ||
130 | dispatch_async(dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT, 0), ^{ | ||
131 | //Do background work | ||
132 | [[ServerAPI server] getNoticeByDate:dateString CompletionHandler:^(NSArray *arrResults, NSError *error) { | ||
133 | if(weakSelf == nil) { | ||
134 | return ; | ||
135 | } | ||
136 | if (error == nil) { | ||
137 | // NSLog(@"List Notices: %@", arrResults); | ||
138 | dispatch_async(dispatch_get_main_queue(), ^{ | ||
139 | NSString *stringNotice = @""; | ||
140 | for (NSString *noticeInfor in arrResults) { | ||
141 | NSString *noticeString = [NSString stringWithFormat:@"%@\n", noticeInfor]; | ||
142 | stringNotice = [stringNotice stringByAppendingString:noticeString]; | ||
143 | } | ||
144 | weakSelf.tvNotice.text = stringNotice; | ||
145 | }); | ||
146 | } | ||
147 | else { | ||
148 | dispatch_async(dispatch_get_main_queue(), ^{ | ||
149 | weakSelf.tvNotice.text = @""; | ||
150 | /* | ||
151 | NSString *message = [error.userInfo objectForKey:@"message"]; | ||
152 | [Utilities showErrorMessage:message withViewController:weakSelf]; | ||
153 | */ | ||
154 | }); | ||
155 | } | ||
156 | }]; | ||
157 | }); | ||
158 | } | ||
159 | |||
160 | - (void)viewWillAppear:(BOOL)animated { | ||
161 | [super viewWillAppear:animated]; | ||
162 | NSDate *dateNow = [NSDate date]; | ||
163 | [self saveStepForDay:dateNow]; | ||
164 | } | ||
165 | |||
166 | - (void)requestTopByDate:(NSDate *)date { | ||
167 | NSDateFormatter *dateFormatter = [[NSDateFormatter alloc] init]; | ||
168 | [dateFormatter setDateFormat:@"yyyy-MM-dd"]; | ||
169 | NSString *dateString = [dateFormatter stringFromDate:date]; | ||
170 | [progressHud showAnimated:YES]; | ||
171 | [progressHud setHidden:NO]; | ||
172 | HomeViewController __weak *weakSelf = self; | ||
173 | int mode = 1; | ||
174 | switch (_segmentHome.selectedSegmentIndex) { | ||
175 | case 0: | ||
176 | mode = 3; | ||
177 | break; | ||
178 | |||
179 | case 1: | ||
180 | mode = 1; | ||
181 | break; | ||
182 | |||
183 | case 2: | ||
184 | mode = 2; | ||
185 | break; | ||
186 | |||
187 | default: | ||
188 | break; | ||
189 | } | ||
190 | [[ServerAPI server] requestTopWithMode:mode andDate:dateString CompletionHandler:^(TopObject *topObject, NSError *error) { | ||
191 | if(weakSelf == nil) { | ||
192 | return ; | ||
193 | } | ||
194 | if (error == nil) { | ||
195 | NSLog(@"TopObject: %@", topObject); | ||
196 | dispatch_async(dispatch_get_main_queue(), ^{ | ||
197 | [weakSelf updateStepUI:topObject.targetInfor]; | ||
198 | }); | ||
199 | } | ||
200 | else { | ||
201 | dispatch_async(dispatch_get_main_queue(), ^{ | ||
202 | NSString *message = [error.userInfo objectForKey:@"message"]; | ||
203 | [Utilities showErrorMessage:message withViewController:weakSelf]; | ||
204 | }); | ||
205 | } | ||
206 | dispatch_async(dispatch_get_main_queue(), ^{ | ||
207 | [progressHud setHidden:YES]; | ||
208 | }); | ||
209 | }]; | ||
210 | /* | ||
211 | [[ServerAPI server] requestHomeWithMode:mode andDate:dateString CompletionHandler:^(HomeObject *homeObject, NSError *error) { | ||
212 | if(weakSelf == nil) { | ||
213 | return ; | ||
214 | } | ||
215 | if (error == nil) { | ||
216 | NSLog(@"List Notices: %@", homeObject.listNotice); | ||
217 | for (NoticeInfor *noticeInfor in homeObject.listNotice) { | ||
218 | NSLog(@"noticeInfor: %@", noticeInfor.notice_content); | ||
219 | } | ||
220 | dispatch_async(dispatch_get_main_queue(), ^{ | ||
221 | [weakSelf updateNoticeUI:homeObject]; | ||
222 | }); | ||
223 | } | ||
224 | else { | ||
225 | dispatch_async(dispatch_get_main_queue(), ^{ | ||
226 | NSString *message = [error.userInfo objectForKey:@"message"]; | ||
227 | [Utilities showErrorMessage:message withViewController:weakSelf]; | ||
228 | }); | ||
229 | } | ||
230 | dispatch_async(dispatch_get_main_queue(), ^{ | ||
231 | [progressHud setHidden:YES]; | ||
232 | }); | ||
233 | }]; | ||
234 | */ | ||
235 | } | ||
236 | |||
237 | - (void)viewWillDisappear:(BOOL)animated { | ||
238 | [super viewWillDisappear:animated]; | ||
239 | } | ||
240 | |||
241 | - (void)didReceiveMemoryWarning { | ||
242 | [super didReceiveMemoryWarning]; | ||
243 | // Dispose of any resources that can be recreated. | ||
244 | } | ||
245 | |||
246 | #pragma mark - IBAction | ||
247 | - (IBAction)menuButtonTouchUpInside:(id)sender | ||
248 | { | ||
249 | |||
250 | } | ||
251 | |||
252 | - (IBAction)todayButtonTouchUpInside:(id)sender | ||
253 | { | ||
254 | TodayViewController *todayVC = [[TodayViewController alloc] initWithNibName:@"TodayViewController" bundle:nil]; | ||
255 | todayVC.targetStep = targetStep; | ||
256 | [self.navigationController pushViewController:todayVC animated:YES]; | ||
257 | } | ||
258 | |||
259 | - (IBAction)leftButtonTouchUpInside:(id)sender | ||
260 | { | ||
261 | self.dateCurrent = [self.dateCurrent dateByAddingTimeInterval:-(24*60*60)]; | ||
262 | self.lblDateCurrent.text = [NSString stringWithFormat:@"%ld%@%ld%@%ld%@", (long)[_dateCurrent getYear], NSLocalizedString(@"lifelog.common.year", nil), (long)[_dateCurrent getMonth], NSLocalizedString(@"lifelog.common.month", nil), (long)[_dateCurrent getDay], NSLocalizedString(@"lifelog.common.day", nil)]; | ||
263 | [self resetStepUI]; | ||
264 | [self saveStepForDay:self.dateCurrent]; | ||
265 | [self requestNotice]; | ||
266 | } | ||
267 | |||
268 | - (IBAction)rightButtonTouchUpInside:(id)sender | ||
269 | { | ||
270 | self.dateCurrent = [self.dateCurrent dateByAddingTimeInterval:24*60*60]; | ||
271 | self.lblDateCurrent.text = [NSString stringWithFormat:@"%ld%@%ld%@%ld%@", (long)[_dateCurrent getYear], NSLocalizedString(@"lifelog.common.year", nil), (long)[_dateCurrent getMonth], NSLocalizedString(@"lifelog.common.month", nil), (long)[_dateCurrent getDay], NSLocalizedString(@"lifelog.common.day", nil)]; | ||
272 | [self resetStepUI]; | ||
273 | //[self saveStepForDay:self.dateCurrent]; | ||
274 | [self requestTopByDate:self.dateCurrent]; | ||
275 | [self requestNotice]; | ||
276 | } | ||
277 | |||
278 | - (IBAction)segmentValueChange:(id)sender { | ||
279 | [self resetStepUI]; | ||
280 | [self requestTopByDate:self.dateCurrent]; | ||
281 | } | ||
282 | |||
283 | #pragma mark - Functions Private | ||
284 | - (void)saveStepForDay:(NSDate *)date | ||
285 | { | ||
286 | if ([CMMotionActivityManager isActivityAvailable] == YES) { | ||
287 | [progressHud showAnimated:YES]; | ||
288 | [progressHud setHidden:NO]; | ||
289 | self.bike = 0; | ||
290 | self.walking = 0; | ||
291 | self.running = 0; | ||
292 | NSDate *startDate = [date beginningAtMidnightOfDay]; | ||
293 | NSDate *endDate = [startDate dateByAddingTimeInterval:(24*60*60 - 1)]; | ||
294 | |||
295 | HomeViewController __weak *weakSelf = self; | ||
296 | dispatch_queue_t myQueue = dispatch_queue_create("mobileworld.jp.lifelog.forDay", NULL); | ||
297 | dispatch_async(myQueue, ^{ | ||
298 | if (weakSelf == nil) { | ||
299 | return ; | ||
300 | } | ||
301 | |||
302 | [weakSelf.motionActivityManager queryActivityStartingFromDate:startDate toDate:endDate toQueue:_operationQueue withHandler:^(NSArray<CMMotionActivity *> * _Nullable activities, NSError * _Nullable error) { | ||
303 | if (error || activities.count <= 0) { | ||
304 | dispatch_async(dispatch_get_main_queue(), ^{ | ||
305 | [weakSelf updateStepUI]; | ||
306 | }); | ||
307 | return ; | ||
308 | } | ||
309 | // set EndDate | ||
310 | NSMutableArray *arrayActivities = [[NSMutableArray alloc] init]; | ||
311 | for (int i = 0; i < activities.count; i++) { | ||
312 | CMMotionActivity *activity = [activities objectAtIndex:i]; | ||
313 | CMMotionActivityExtra *activityExtra = [[CMMotionActivityExtra alloc] init]; | ||
314 | activityExtra.activity = activity; | ||
315 | if (i == activities.count - 1) { | ||
316 | activityExtra.endDate = endDate; | ||
317 | } | ||
318 | else { | ||
319 | CMMotionActivity *activityNext = [activities objectAtIndex:i+1]; | ||
320 | // activityExtra.endDate = [activityNext.startDate dateByAddingTimeInterval:-1]; | ||
321 | activityExtra.endDate = activityNext.startDate; | ||
322 | } | ||
323 | [arrayActivities addObject:activityExtra]; | ||
324 | } | ||
325 | // PhongNV | ||
326 | weakSelf.currentIndex = 0; | ||
327 | [weakSelf save20objectOfActivityExtras:arrayActivities]; | ||
328 | }]; | ||
329 | }); | ||
330 | } | ||
331 | else { | ||
332 | [self updateStepUI]; | ||
333 | } | ||
334 | } | ||
335 | |||
336 | - (void)complete20Request:(NSArray *)activities { | ||
337 | if (self.totalRequest == self.countComplete) { | ||
338 | self.totalRequest = 0; | ||
339 | self.countComplete = 0; | ||
340 | self.currentIndex++; | ||
341 | [self save20objectOfActivityExtras:activities]; | ||
342 | } | ||
343 | } | ||
344 | - (void)save20objectOfActivityExtras:(NSArray *)activities | ||
345 | { | ||
346 | int result = floor(activities.count / maxRequest); | ||
347 | if (activities.count <= 0 || self.currentIndex > result) { | ||
348 | self.totalRequest = 0; | ||
349 | self.countComplete = 0; | ||
350 | self.currentIndex = 0; | ||
351 | dispatch_async(dispatch_get_main_queue(), ^{ | ||
352 | [self updateStepUI]; | ||
353 | }); | ||
354 | return; | ||
355 | } | ||
356 | |||
357 | HomeViewController __weak *weakSelf = self; | ||
358 | for (NSInteger index = self.currentIndex*maxRequest; index < self.currentIndex*maxRequest + maxRequest; index++) { | ||
359 | if ((self.currentIndex*maxRequest + maxRequest) >= activities.count) { | ||
360 | self.totalRequest = (int)(activities.count - self.currentIndex*maxRequest); | ||
361 | if (self.totalRequest <= 0) { | ||
362 | [weakSelf complete20Request:activities]; | ||
363 | } | ||
364 | } | ||
365 | else { | ||
366 | self.totalRequest = (int)maxRequest; | ||
367 | } | ||
368 | if (index < activities.count) { | ||
369 | CMMotionActivityExtra *activityExtra = [activities objectAtIndex:index]; | ||
370 | [self.pedometer queryPedometerDataFromDate:activityExtra.activity.startDate toDate:activityExtra.endDate withHandler:^(CMPedometerData * _Nullable pedometerData, NSError * _Nullable error) { | ||
371 | if (weakSelf == nil) { | ||
372 | return ; | ||
373 | } | ||
374 | NSInteger numberStep = [pedometerData.numberOfSteps integerValue]; | ||
375 | int mode = 1; | ||
376 | if (activityExtra.activity.cycling) { | ||
377 | mode = 3; | ||
378 | } | ||
379 | else if (activityExtra.activity.walking) { | ||
380 | mode = 1; | ||
381 | } | ||
382 | else if (activityExtra.activity.running) { | ||
383 | mode = 2; | ||
384 | } | ||
385 | else { | ||
386 | // unknown | ||
387 | } | ||
388 | // save step to server | ||
389 | if (numberStep > 0) { | ||
390 | NSDateFormatter *dateFormatter = [[NSDateFormatter alloc] init]; | ||
391 | [dateFormatter setDateFormat:@"yyyy-MM-dd HH:mm:ss"]; | ||
392 | NSString *dateBegin = [dateFormatter stringFromDate:activityExtra.activity.startDate]; | ||
393 | NSString *dateEnd = [dateFormatter stringFromDate:activityExtra.endDate]; | ||
394 | // NSLog(@"dateBegin: %@ | dateEnd: %@ | numberStep: %li", dateBegin, dateEnd, numberStep); | ||
395 | [[ServerAPI server] requestCreateLog:mode withStep:(int)numberStep startDate:dateBegin endDate:dateEnd CompletionHandler:^(NSError *error) { | ||
396 | if (error) { | ||
397 | NSLog(@"Error: %@", error); | ||
398 | } | ||
399 | weakSelf.countComplete++; | ||
400 | [weakSelf complete20Request:activities]; | ||
401 | }]; | ||
402 | } | ||
403 | else { | ||
404 | weakSelf.countComplete++; | ||
405 | [weakSelf complete20Request:activities]; | ||
406 | } | ||
407 | }]; | ||
408 | } | ||
409 | } | ||
410 | } | ||
411 | |||
412 | - (void)updateStepUI | ||
413 | { | ||
414 | [self requestTopByDate:self.dateCurrent]; | ||
415 | } | ||
416 | |||
417 | - (void)saveDataStep7LastDay | ||
418 | { | ||
419 | NSDate *dateNow = [NSDate date]; | ||
420 | for (int index = 0; index < 7; index++) { | ||
421 | dateNow = [dateNow dateByAddingTimeInterval:-(24*60*60)]; | ||
422 | [self saveStepByDate:dateNow]; | ||
423 | } | ||
424 | } | ||
425 | |||
426 | - (void)saveStepByDate:(NSDate *)date | ||
427 | { | ||
428 | if ([CMMotionActivityManager isActivityAvailable]) { | ||
429 | NSDate *startDate = [date beginningAtMidnightOfDay]; | ||
430 | NSDate *endDate = [startDate dateByAddingTimeInterval:(24*60*60 - 1)]; | ||
431 | |||
432 | HomeViewController __weak *weakSelf = self; | ||
433 | dispatch_queue_t myQueue = dispatch_queue_create("mobileworld.jp.lifelog.7lastday", NULL); | ||
434 | dispatch_async(myQueue, ^{ | ||
435 | if (weakSelf == nil) { | ||
436 | return ; | ||
437 | } | ||
438 | |||
439 | [weakSelf.motionActivityManager queryActivityStartingFromDate:startDate toDate:endDate toQueue:_operationQueue withHandler:^(NSArray<CMMotionActivity *> * _Nullable activities, NSError * _Nullable error) { | ||
440 | if (error || activities.count <= 0) { | ||
441 | return ; | ||
442 | } | ||
443 | // set EndDate | ||
444 | NSMutableArray *arrayActivities = [[NSMutableArray alloc] init]; | ||
445 | for (int i = 0; i < activities.count; i++) { | ||
446 | CMMotionActivity *activity = [activities objectAtIndex:i]; | ||
447 | CMMotionActivityExtra *activityExtra = [[CMMotionActivityExtra alloc] init]; | ||
448 | activityExtra.activity = activity; | ||
449 | if (i == activities.count - 1) { | ||
450 | activityExtra.endDate = endDate; | ||
451 | } | ||
452 | else { | ||
453 | CMMotionActivity *activityNext = [activities objectAtIndex:i+1]; | ||
454 | activityExtra.endDate = [activityNext.startDate dateByAddingTimeInterval:-1]; | ||
455 | } | ||
456 | [arrayActivities addObject:activityExtra]; | ||
457 | } | ||
458 | |||
459 | for (CMMotionActivityExtra *activityExtra in arrayActivities) { | ||
460 | [weakSelf.pedometer queryPedometerDataFromDate:activityExtra.activity.startDate toDate:activityExtra.endDate withHandler:^(CMPedometerData * _Nullable pedometerData, NSError * _Nullable error) { | ||
461 | NSInteger numberStep = [pedometerData.numberOfSteps integerValue]; | ||
462 | int mode = 1; | ||
463 | if (activityExtra.activity.cycling) { | ||
464 | mode = 3; | ||
465 | } | ||
466 | else if (activityExtra.activity.walking) { | ||
467 | mode = 1; | ||
468 | } | ||
469 | else if (activityExtra.activity.running) { | ||
470 | mode = 2; | ||
471 | } | ||
472 | else { | ||
473 | // unknown | ||
474 | } | ||
475 | |||
476 | // save step to server | ||
477 | if (numberStep > 0) { | ||
478 | NSDateFormatter *dateFormatter = [[NSDateFormatter alloc] init]; | ||
479 | [dateFormatter setDateFormat:@"yyyy-MM-dd HH:mm:ss"]; | ||
480 | NSString *dateBegin = [dateFormatter stringFromDate:activityExtra.activity.startDate]; | ||
481 | NSString *dateEnd = [dateFormatter stringFromDate:activityExtra.endDate]; | ||
482 | [[ServerAPI server] requestCreateLog:mode withStep:(int)numberStep startDate:dateBegin endDate:dateEnd CompletionHandler:^(NSError *error) { | ||
483 | if (error) { | ||
484 | NSLog(@"Error: %@", error); | ||
485 | } | ||
486 | }]; | ||
487 | } | ||
488 | }]; | ||
489 | } | ||
490 | }]; | ||
491 | }); | ||
492 | } | ||
493 | } | ||
494 | |||
495 | - (void)updateStepUI:(TargetInfor *)targetInfor | ||
496 | { | ||
497 | NSString *stringTargetStep = [targetInfor.target_step stringByReplacingOccurrencesOfString:@"," withString:@""]; | ||
498 | targetStep = [stringTargetStep integerValue]; | ||
499 | self.lblValueStep.text = targetInfor.num_step; | ||
500 | self.lblValueStepOther.text = [NSString stringWithFormat:@"%@ %@", NSLocalizedString(@"lifelog.today.remaining.other", nil), targetInfor.remaining_step]; | ||
501 | self.lblPercent.text = [NSString stringWithFormat:@"%@ %i%@", NSLocalizedString(@"lifelog.today.text.percent", nil), [targetInfor.complete_percent intValue], NSLocalizedString(@"lifelog.today.percent", nil)]; | ||
502 | } | ||
503 | |||
504 | - (void)updateNoticeUI:(HomeObject *)homeObject | ||
505 | { | ||
506 | NSString *stringNotice = @""; | ||
507 | for (NoticeInfor *notice in homeObject.listNotice) { | ||
508 | NSString *noticeString = [NSString stringWithFormat:@"%@\n", notice.notice_content]; | ||
509 | stringNotice = [stringNotice stringByAppendingString:noticeString]; | ||
510 | } | ||
511 | _tvNotice.text = stringNotice; | ||
512 | } | ||
513 | |||
514 | - (void)resetStepUI | ||
515 | { | ||
516 | self.lblValueStep.text = @""; | ||
517 | self.lblValueStepOther.text = @""; | ||
518 | self.lblPercent.text = @""; | ||
519 | } | ||
520 | |||
521 | @end | ||
522 | 1 | // |
LifeLog/LifeLog/HomeViewController.m
File was created | 1 | // | |
2 | // HomeViewController.m | ||
3 | // LifeLog | ||
4 | // | ||
5 | // Created by Nguyen Van Phong on 7/25/17. | ||
6 | // Copyright © 2017 PhongNV. All rights reserved. | ||
7 | // | ||
8 | |||
9 | #import "HomeViewController.h" | ||
10 | #import "NSDate+helper.h" | ||
11 | #import <CoreMotion/CoreMotion.h> | ||
12 | #import "CMMotionActivityExtra.h" | ||
13 | #import "TodayViewController.h" | ||
14 | #import "Utilities.h" | ||
15 | #import <MBProgressHUD/MBProgressHUD.h> | ||
16 | #import "ServerAPI.h" | ||
17 | |||
18 | static NSInteger maxRequest = 20; | ||
19 | static NSInteger numberTotal = 10000; | ||
20 | |||
21 | @interface HomeViewController () | ||
22 | { | ||
23 | MBProgressHUD *progressHud; | ||
24 | NSInteger targetStep; | ||
25 | } | ||
26 | @property (nonatomic, weak) IBOutlet UILabel *lblTitle; | ||
27 | @property (nonatomic, weak) IBOutlet UIImageView *avatar; | ||
28 | @property (nonatomic, weak) IBOutlet UILabel *lblDateCurrent; | ||
29 | @property (nonatomic, weak) IBOutlet UILabel *lblValueStep; | ||
30 | @property (nonatomic, weak) IBOutlet UILabel *lblUnitStep; | ||
31 | @property (nonatomic, weak) IBOutlet UILabel *lblValueStepOther; | ||
32 | @property (nonatomic, weak) IBOutlet UILabel *lblPercent; | ||
33 | @property (nonatomic, weak) IBOutlet UILabel *lblNotice; | ||
34 | @property (weak, nonatomic) IBOutlet UISegmentedControl *segmentHome; | ||
35 | @property (weak, nonatomic) IBOutlet UITextView *tvNotice; | ||
36 | |||
37 | @property (nonatomic, strong) CMPedometer *pedometer; | ||
38 | @property (nonatomic, strong) CMMotionActivityManager *motionActivityManager; | ||
39 | @property (nonatomic, strong) NSOperationQueue *operationQueue; | ||
40 | @property (nonatomic, strong) NSTimer *timer; | ||
41 | @property (nonatomic, assign) NSInteger bike; | ||
42 | @property (nonatomic, assign) NSInteger walking; | ||
43 | @property (nonatomic, assign) NSInteger running; | ||
44 | @property (nonatomic, strong) NSDate *dateCurrent; | ||
45 | |||
46 | @property (nonatomic, assign) int totalRequest; | ||
47 | @property (nonatomic, assign) int countComplete; | ||
48 | @property (nonatomic, assign) int currentIndex; | ||
49 | |||
50 | @end | ||
51 | |||
52 | @implementation HomeViewController | ||
53 | |||
54 | - (void)viewDidLoad { | ||
55 | [super viewDidLoad]; | ||
56 | |||
57 | self.lblTitle.text = NSLocalizedString(@"lifelog.home.title", nil); | ||
58 | |||
59 | [self.view addConstraint:[NSLayoutConstraint constraintWithItem:self.topLayoutGuide attribute:NSLayoutAttributeBottom relatedBy:NSLayoutRelationEqual toItem:self.lblTitle attribute:NSLayoutAttributeTop multiplier:1 constant:0]]; | ||
60 | [self.view addConstraint:[NSLayoutConstraint constraintWithItem:self.bottomLayoutGuide attribute:NSLayoutAttributeTop relatedBy:NSLayoutRelationEqual toItem:self.segmentHome attribute:NSLayoutAttributeBottom multiplier:1 constant:20]]; | ||
61 | |||
62 | self.avatar.backgroundColor = [UIColor whiteColor]; | ||
63 | self.avatar.layer.borderWidth = 2.0f; | ||
64 | self.avatar.layer.borderColor = [[UIColor whiteColor] CGColor]; | ||
65 | self.avatar.layer.cornerRadius = self.avatar.frame.size.width/2.0f; | ||
66 | self.avatar.layer.masksToBounds = YES; | ||
67 | NSData *data = [[NSUserDefaults standardUserDefaults] objectForKey:kUser]; | ||
68 | User *user = (User *)[NSKeyedUnarchiver unarchiveObjectWithData:data]; | ||
69 | if (user != nil) { | ||
70 | NSString *linkImage = [NSString stringWithFormat:@"%@%@", kServerAddress, user.profile_image]; | ||
71 | NSURL *urlImage = [NSURL URLWithString:linkImage]; | ||
72 | NSURLSessionConfiguration *sessionConfig = [NSURLSessionConfiguration defaultSessionConfiguration]; | ||
73 | sessionConfig.timeoutIntervalForRequest = 30.0; | ||
74 | sessionConfig.timeoutIntervalForResource = 60.0; | ||
75 | sessionConfig.HTTPMaximumConnectionsPerHost = 20; | ||
76 | sessionConfig.allowsCellularAccess = YES; | ||
77 | HomeViewController __weak *weakSelf = self; | ||
78 | NSURLSession *session = [NSURLSession sessionWithConfiguration:sessionConfig]; | ||
79 | NSURLSessionDataTask *downloadPhotoTask = [session | ||
80 | dataTaskWithURL:urlImage completionHandler:^(NSData *data, NSURLResponse *response, NSError *error) { | ||
81 | if (weakSelf == nil) | ||
82 | { | ||
83 | return; | ||
84 | } | ||
85 | if (error == nil) { | ||
86 | UIImage *image = [[UIImage alloc] initWithData:data]; | ||
87 | [[NSOperationQueue mainQueue] addOperationWithBlock:^{ | ||
88 | weakSelf.avatar.image = image; | ||
89 | }]; | ||
90 | } | ||
91 | }]; | ||
92 | [downloadPhotoTask resume]; | ||
93 | } | ||
94 | |||
95 | self.lblNotice.text = NSLocalizedString(@"lifelog.home.notice", nil); | ||
96 | |||
97 | _dateCurrent = [NSDate date]; | ||
98 | self.lblDateCurrent.text = [NSString stringWithFormat:@"%ld%@%ld%@%ld%@", (long)[_dateCurrent getYear], NSLocalizedString(@"lifelog.common.year", nil), (long)[_dateCurrent getMonth], NSLocalizedString(@"lifelog.common.month", nil), (long)[_dateCurrent getDay], NSLocalizedString(@"lifelog.common.day", nil)]; | ||
99 | |||
100 | self.lblUnitStep.text = NSLocalizedString(@"lifelog.home.unit.step", nil); | ||
101 | |||
102 | if ([CMPedometer isStepCountingAvailable]) { | ||
103 | _pedometer = [[CMPedometer alloc] init]; | ||
104 | } | ||
105 | if ([CMMotionActivityManager isActivityAvailable]) { | ||
106 | _motionActivityManager = [[CMMotionActivityManager alloc] init]; | ||
107 | } | ||
108 | _operationQueue = [[NSOperationQueue alloc] init]; | ||
109 | _bike = 0; | ||
110 | _walking = 0; | ||
111 | _running = 0; | ||
112 | _segmentHome.selectedSegmentIndex = 1; | ||
113 | _totalRequest = 0; | ||
114 | _countComplete = 0; | ||
115 | |||
116 | progressHud = [MBProgressHUD showHUDAddedTo:self.view animated:YES]; | ||
117 | progressHud.mode = MBProgressHUDModeIndeterminate; | ||
118 | progressHud.detailsLabel.text = NSLocalizedString(@"lifelog.home.progressHud.title", nil); | ||
119 | // [self saveDataStep7LastDay]; | ||
120 | targetStep = numberTotal; | ||
121 | [self requestNotice]; | ||
122 | } | ||
123 | |||
124 | - (void)requestNotice | ||
125 | { | ||
126 | NSDateFormatter *dateFormatter = [[NSDateFormatter alloc] init]; | ||
127 | [dateFormatter setDateFormat:@"yyyy-MM-dd"]; | ||
128 | NSString *dateString = [dateFormatter stringFromDate:_dateCurrent]; | ||
129 | HomeViewController __weak *weakSelf = self; | ||
130 | dispatch_async(dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT, 0), ^{ | ||
131 | //Do background work | ||
132 | [[ServerAPI server] getNoticeByDate:dateString CompletionHandler:^(NSArray *arrResults, NSError *error) { | ||
133 | if(weakSelf == nil) { | ||
134 | return ; | ||
135 | } | ||
136 | if (error == nil) { | ||
137 | // NSLog(@"List Notices: %@", arrResults); | ||
138 | dispatch_async(dispatch_get_main_queue(), ^{ | ||
139 | NSString *stringNotice = @""; | ||
140 | for (NSString *noticeInfor in arrResults) { | ||
141 | NSString *noticeString = [NSString stringWithFormat:@"%@\n", noticeInfor]; | ||
142 | stringNotice = [stringNotice stringByAppendingString:noticeString]; | ||
143 | } | ||
144 | weakSelf.tvNotice.text = stringNotice; | ||
145 | }); | ||
146 | } | ||
147 | else { | ||
148 | dispatch_async(dispatch_get_main_queue(), ^{ | ||
149 | weakSelf.tvNotice.text = @""; | ||
150 | /* | ||
151 | NSString *message = [error.userInfo objectForKey:@"message"]; | ||
152 | [Utilities showErrorMessage:message withViewController:weakSelf]; | ||
153 | */ | ||
154 | }); | ||
155 | } | ||
156 | }]; | ||
157 | }); | ||
158 | } | ||
159 | |||
160 | - (void)viewWillAppear:(BOOL)animated { | ||
161 | [super viewWillAppear:animated]; | ||
162 | NSDate *dateNow = [NSDate date]; | ||
163 | [self saveStepForDay:dateNow]; | ||
164 | } | ||
165 | |||
166 | - (void)requestTopByDate:(NSDate *)date { | ||
167 | NSDateFormatter *dateFormatter = [[NSDateFormatter alloc] init]; | ||
168 | [dateFormatter setDateFormat:@"yyyy-MM-dd"]; | ||
169 | NSString *dateString = [dateFormatter stringFromDate:date]; | ||
170 | [progressHud showAnimated:YES]; | ||
171 | [progressHud setHidden:NO]; | ||
172 | HomeViewController __weak *weakSelf = self; | ||
173 | int mode = 1; | ||
174 | switch (_segmentHome.selectedSegmentIndex) { | ||
175 | case 0: | ||
176 | mode = 3; | ||
177 | break; | ||
178 | |||
179 | case 1: | ||
180 | mode = 1; | ||
181 | break; | ||
182 | |||
183 | case 2: | ||
184 | mode = 2; | ||
185 | break; | ||
186 | |||
187 | default: | ||
188 | break; | ||
189 | } | ||
190 | [[ServerAPI server] requestTopWithMode:mode andDate:dateString CompletionHandler:^(TopObject *topObject, NSError *error) { | ||
191 | if(weakSelf == nil) { | ||
192 | return ; | ||
193 | } | ||
194 | if (error == nil) { | ||
195 | NSLog(@"TopObject: %@", topObject); | ||
196 | dispatch_async(dispatch_get_main_queue(), ^{ | ||
197 | [weakSelf updateStepUI:topObject.targetInfor]; | ||
198 | }); | ||
199 | } | ||
200 | else { | ||
201 | dispatch_async(dispatch_get_main_queue(), ^{ | ||
202 | NSString *message = [error.userInfo objectForKey:@"message"]; | ||
203 | [Utilities showErrorMessage:message withViewController:weakSelf]; | ||
204 | }); | ||
205 | } | ||
206 | dispatch_async(dispatch_get_main_queue(), ^{ | ||
207 | [progressHud setHidden:YES]; | ||
208 | }); | ||
209 | }]; | ||
210 | /* | ||
211 | [[ServerAPI server] requestHomeWithMode:mode andDate:dateString CompletionHandler:^(HomeObject *homeObject, NSError *error) { | ||
212 | if(weakSelf == nil) { | ||
213 | return ; | ||
214 | } | ||
215 | if (error == nil) { | ||
216 | NSLog(@"List Notices: %@", homeObject.listNotice); | ||
217 | for (NoticeInfor *noticeInfor in homeObject.listNotice) { | ||
218 | NSLog(@"noticeInfor: %@", noticeInfor.notice_content); | ||
219 | } | ||
220 | dispatch_async(dispatch_get_main_queue(), ^{ | ||
221 | [weakSelf updateNoticeUI:homeObject]; | ||
222 | }); | ||
223 | } | ||
224 | else { | ||
225 | dispatch_async(dispatch_get_main_queue(), ^{ | ||
226 | NSString *message = [error.userInfo objectForKey:@"message"]; | ||
227 | [Utilities showErrorMessage:message withViewController:weakSelf]; | ||
228 | }); | ||
229 | } | ||
230 | dispatch_async(dispatch_get_main_queue(), ^{ | ||
231 | [progressHud setHidden:YES]; | ||
232 | }); | ||
233 | }]; | ||
234 | */ | ||
235 | } | ||
236 | |||
237 | - (void)viewWillDisappear:(BOOL)animated { | ||
238 | [super viewWillDisappear:animated]; | ||
239 | } | ||
240 | |||
241 | - (void)didReceiveMemoryWarning { | ||
242 | [super didReceiveMemoryWarning]; | ||
243 | // Dispose of any resources that can be recreated. | ||
244 | } | ||
245 | |||
246 | #pragma mark - IBAction | ||
247 | - (IBAction)menuButtonTouchUpInside:(id)sender | ||
248 | { | ||
249 | |||
250 | } | ||
251 | |||
252 | - (IBAction)todayButtonTouchUpInside:(id)sender | ||
253 | { | ||
254 | TodayViewController *todayVC = [[TodayViewController alloc] initWithNibName:@"TodayViewController" bundle:nil]; | ||
255 | todayVC.targetStep = targetStep; | ||
256 | [self.navigationController pushViewController:todayVC animated:YES]; | ||
257 | } | ||
258 | |||
259 | - (IBAction)leftButtonTouchUpInside:(id)sender | ||
260 | { | ||
261 | self.dateCurrent = [self.dateCurrent dateByAddingTimeInterval:-(24*60*60)]; | ||
262 | self.lblDateCurrent.text = [NSString stringWithFormat:@"%ld%@%ld%@%ld%@", (long)[_dateCurrent getYear], NSLocalizedString(@"lifelog.common.year", nil), (long)[_dateCurrent getMonth], NSLocalizedString(@"lifelog.common.month", nil), (long)[_dateCurrent getDay], NSLocalizedString(@"lifelog.common.day", nil)]; | ||
263 | [self resetStepUI]; | ||
264 | [self saveStepForDay:self.dateCurrent]; | ||
265 | [self requestNotice]; | ||
266 | } | ||
267 | |||
268 | - (IBAction)rightButtonTouchUpInside:(id)sender | ||
269 | { | ||
270 | self.dateCurrent = [self.dateCurrent dateByAddingTimeInterval:24*60*60]; | ||
271 | self.lblDateCurrent.text = [NSString stringWithFormat:@"%ld%@%ld%@%ld%@", (long)[_dateCurrent getYear], NSLocalizedString(@"lifelog.common.year", nil), (long)[_dateCurrent getMonth], NSLocalizedString(@"lifelog.common.month", nil), (long)[_dateCurrent getDay], NSLocalizedString(@"lifelog.common.day", nil)]; | ||
272 | [self resetStepUI]; | ||
273 | //[self saveStepForDay:self.dateCurrent]; | ||
274 | [self requestTopByDate:self.dateCurrent]; | ||
275 | [self requestNotice]; | ||
276 | } | ||
277 | |||
278 | - (IBAction)segmentValueChange:(id)sender { | ||
279 | [self resetStepUI]; | ||
280 | [self requestTopByDate:self.dateCurrent]; | ||
281 | } | ||
282 | |||
283 | #pragma mark - Functions Private | ||
284 | - (void)saveStepForDay:(NSDate *)date | ||
285 | { | ||
286 | if ([CMMotionActivityManager isActivityAvailable] == YES) { | ||
287 | [progressHud showAnimated:YES]; | ||
288 | [progressHud setHidden:NO]; | ||
289 | self.bike = 0; | ||
290 | self.walking = 0; | ||
291 | self.running = 0; | ||
292 | NSDate *startDate = [date beginningAtMidnightOfDay]; | ||
293 | NSDate *endDate = [startDate dateByAddingTimeInterval:(24*60*60 - 1)]; | ||
294 | |||
295 | HomeViewController __weak *weakSelf = self; | ||
296 | dispatch_queue_t myQueue = dispatch_queue_create("mobileworld.jp.lifelog.forDay", NULL); | ||
297 | dispatch_async(myQueue, ^{ | ||
298 | if (weakSelf == nil) { | ||
299 | return ; | ||
300 | } | ||
301 | |||
302 | [weakSelf.motionActivityManager queryActivityStartingFromDate:startDate toDate:endDate toQueue:_operationQueue withHandler:^(NSArray<CMMotionActivity *> * _Nullable activities, NSError * _Nullable error) { | ||
303 | if (error || activities.count <= 0) { | ||
304 | dispatch_async(dispatch_get_main_queue(), ^{ | ||
305 | [weakSelf updateStepUI]; | ||
306 | }); | ||
307 | return ; | ||
308 | } | ||
309 | // set EndDate | ||
310 | NSMutableArray *arrayActivities = [[NSMutableArray alloc] init]; | ||
311 | for (int i = 0; i < activities.count; i++) { | ||
312 | CMMotionActivity *activity = [activities objectAtIndex:i]; | ||
313 | CMMotionActivityExtra *activityExtra = [[CMMotionActivityExtra alloc] init]; | ||
314 | activityExtra.activity = activity; | ||
315 | if (i == activities.count - 1) { | ||
316 | activityExtra.endDate = endDate; | ||
317 | } | ||
318 | else { | ||
319 | CMMotionActivity *activityNext = [activities objectAtIndex:i+1]; | ||
320 | // activityExtra.endDate = [activityNext.startDate dateByAddingTimeInterval:-1]; | ||
321 | activityExtra.endDate = activityNext.startDate; | ||
322 | } | ||
323 | [arrayActivities addObject:activityExtra]; | ||
324 | } | ||
325 | // PhongNV | ||
326 | weakSelf.currentIndex = 0; | ||
327 | [weakSelf save20objectOfActivityExtras:arrayActivities]; | ||
328 | }]; | ||
329 | }); | ||
330 | } | ||
331 | else { | ||
332 | [self updateStepUI]; | ||
333 | } | ||
334 | } | ||
335 | |||
336 | - (void)complete20Request:(NSArray *)activities { | ||
337 | if (self.totalRequest == self.countComplete) { | ||
338 | self.totalRequest = 0; | ||
339 | self.countComplete = 0; | ||
340 | self.currentIndex++; | ||
341 | [self save20objectOfActivityExtras:activities]; | ||
342 | } | ||
343 | } | ||
344 | - (void)save20objectOfActivityExtras:(NSArray *)activities | ||
345 | { | ||
346 | int result = floor(activities.count / maxRequest); | ||
347 | if (activities.count <= 0 || self.currentIndex > result) { | ||
348 | self.totalRequest = 0; | ||
349 | self.countComplete = 0; | ||
350 | self.currentIndex = 0; | ||
351 | dispatch_async(dispatch_get_main_queue(), ^{ | ||
352 | [self updateStepUI]; | ||
353 | }); | ||
354 | return; | ||
355 | } | ||
356 | |||
357 | HomeViewController __weak *weakSelf = self; | ||
358 | for (NSInteger index = self.currentIndex*maxRequest; index < self.currentIndex*maxRequest + maxRequest; index++) { | ||
359 | if ((self.currentIndex*maxRequest + maxRequest) >= activities.count) { | ||
360 | self.totalRequest = (int)(activities.count - self.currentIndex*maxRequest); | ||
361 | if (self.totalRequest <= 0) { | ||
362 | [weakSelf complete20Request:activities]; | ||
363 | } | ||
364 | } | ||
365 | else { | ||
366 | self.totalRequest = (int)maxRequest; | ||
367 | } | ||
368 | if (index < activities.count) { | ||
369 | CMMotionActivityExtra *activityExtra = [activities objectAtIndex:index]; | ||
370 | [self.pedometer queryPedometerDataFromDate:activityExtra.activity.startDate toDate:activityExtra.endDate withHandler:^(CMPedometerData * _Nullable pedometerData, NSError * _Nullable error) { | ||
371 | if (weakSelf == nil) { | ||
372 | return ; | ||
373 | } | ||
374 | NSInteger numberStep = [pedometerData.numberOfSteps integerValue]; | ||
375 | int mode = 1; | ||
376 | if (activityExtra.activity.cycling) { | ||
377 | mode = 3; | ||
378 | } | ||
379 | else if (activityExtra.activity.walking) { | ||
380 | mode = 1; | ||
381 | } | ||
382 | else if (activityExtra.activity.running) { | ||
383 | mode = 2; | ||
384 | } | ||
385 | else { | ||
386 | // unknown | ||
387 | } | ||
388 | // save step to server | ||
389 | if (numberStep > 0) { | ||
390 | NSDateFormatter *dateFormatter = [[NSDateFormatter alloc] init]; | ||
391 | [dateFormatter setDateFormat:@"yyyy-MM-dd HH:mm:ss"]; | ||
392 | NSString *dateBegin = [dateFormatter stringFromDate:activityExtra.activity.startDate]; | ||
393 | NSString *dateEnd = [dateFormatter stringFromDate:activityExtra.endDate]; | ||
394 | // NSLog(@"dateBegin: %@ | dateEnd: %@ | numberStep: %li", dateBegin, dateEnd, numberStep); | ||
395 | [[ServerAPI server] requestCreateLog:mode withStep:(int)numberStep startDate:dateBegin endDate:dateEnd CompletionHandler:^(NSError *error) { | ||
396 | if (error) { | ||
397 | NSLog(@"Error: %@", error); | ||
398 | } | ||
399 | weakSelf.countComplete++; | ||
400 | [weakSelf complete20Request:activities]; | ||
401 | }]; | ||
402 | } | ||
403 | else { | ||
404 | weakSelf.countComplete++; | ||
405 | [weakSelf complete20Request:activities]; | ||
406 | } | ||
407 | }]; | ||
408 | } | ||
409 | } | ||
410 | } | ||
411 | |||
412 | - (void)updateStepUI | ||
413 | { | ||
414 | [self requestTopByDate:self.dateCurrent]; | ||
415 | } | ||
416 | |||
417 | - (void)saveDataStep7LastDay | ||
418 | { | ||
419 | NSDate *dateNow = [NSDate date]; | ||
420 | for (int index = 0; index < 7; index++) { | ||
421 | dateNow = [dateNow dateByAddingTimeInterval:-(24*60*60)]; | ||
422 | [self saveStepByDate:dateNow]; | ||
423 | } | ||
424 | } | ||
425 | |||
426 | - (void)saveStepByDate:(NSDate *)date | ||
427 | { | ||
428 | if ([CMMotionActivityManager isActivityAvailable]) { | ||
429 | NSDate *startDate = [date beginningAtMidnightOfDay]; | ||
430 | NSDate *endDate = [startDate dateByAddingTimeInterval:(24*60*60 - 1)]; | ||
431 | |||
432 | HomeViewController __weak *weakSelf = self; | ||
433 | dispatch_queue_t myQueue = dispatch_queue_create("mobileworld.jp.lifelog.7lastday", NULL); | ||
434 | dispatch_async(myQueue, ^{ | ||
435 | if (weakSelf == nil) { | ||
436 | return ; | ||
437 | } | ||
438 | |||
439 | [weakSelf.motionActivityManager queryActivityStartingFromDate:startDate toDate:endDate toQueue:_operationQueue withHandler:^(NSArray<CMMotionActivity *> * _Nullable activities, NSError * _Nullable error) { | ||
440 | if (error || activities.count <= 0) { | ||
441 | return ; | ||
442 | } | ||
443 | // set EndDate | ||
444 | NSMutableArray *arrayActivities = [[NSMutableArray alloc] init]; | ||
445 | for (int i = 0; i < activities.count; i++) { | ||
446 | CMMotionActivity *activity = [activities objectAtIndex:i]; | ||
447 | CMMotionActivityExtra *activityExtra = [[CMMotionActivityExtra alloc] init]; | ||
448 | activityExtra.activity = activity; | ||
449 | if (i == activities.count - 1) { | ||
450 | activityExtra.endDate = endDate; | ||
451 | } | ||
452 | else { | ||
453 | CMMotionActivity *activityNext = [activities objectAtIndex:i+1]; | ||
454 | activityExtra.endDate = [activityNext.startDate dateByAddingTimeInterval:-1]; | ||
455 | } | ||
456 | [arrayActivities addObject:activityExtra]; | ||
457 | } | ||
458 | |||
459 | for (CMMotionActivityExtra *activityExtra in arrayActivities) { | ||
460 | [weakSelf.pedometer queryPedometerDataFromDate:activityExtra.activity.startDate toDate:activityExtra.endDate withHandler:^(CMPedometerData * _Nullable pedometerData, NSError * _Nullable error) { | ||
461 | NSInteger numberStep = [pedometerData.numberOfSteps integerValue]; | ||
462 | int mode = 1; | ||
463 | if (activityExtra.activity.cycling) { | ||
464 | mode = 3; | ||
465 | } | ||
466 | else if (activityExtra.activity.walking) { | ||
467 | mode = 1; | ||
468 | } | ||
469 | else if (activityExtra.activity.running) { | ||
470 | mode = 2; | ||
471 | } | ||
472 | else { | ||
473 | // unknown | ||
474 | } | ||
475 | |||
476 | // save step to server | ||
477 | if (numberStep > 0) { | ||
478 | NSDateFormatter *dateFormatter = [[NSDateFormatter alloc] init]; | ||
479 | [dateFormatter setDateFormat:@"yyyy-MM-dd HH:mm:ss"]; | ||
480 | NSString *dateBegin = [dateFormatter stringFromDate:activityExtra.activity.startDate]; | ||
481 | NSString *dateEnd = [dateFormatter stringFromDate:activityExtra.endDate]; | ||
482 | [[ServerAPI server] requestCreateLog:mode withStep:(int)numberStep startDate:dateBegin endDate:dateEnd CompletionHandler:^(NSError *error) { | ||
483 | if (error) { | ||
484 | NSLog(@"Error: %@", error); | ||
485 | } | ||
486 | }]; | ||
487 | } | ||
488 | }]; | ||
489 | } | ||
490 | }]; | ||
491 | }); | ||
492 | } | ||
493 | } | ||
494 | |||
495 | - (void)updateStepUI:(TargetInfor *)targetInfor | ||
496 | { | ||
497 | NSString *stringTargetStep = [targetInfor.target_step stringByReplacingOccurrencesOfString:@"," withString:@""]; | ||
498 | targetStep = [stringTargetStep integerValue]; | ||
499 | self.lblValueStep.text = targetInfor.num_step; | ||
500 | self.lblValueStepOther.text = [NSString stringWithFormat:@"%@ %@", NSLocalizedString(@"lifelog.today.remaining.other", nil), targetInfor.remaining_step]; | ||
501 | self.lblPercent.text = [NSString stringWithFormat:@"%@ %i%@", NSLocalizedString(@"lifelog.today.text.percent", nil), [targetInfor.complete_percent intValue], NSLocalizedString(@"lifelog.today.percent", nil)]; | ||
502 | } | ||
503 | |||
504 | - (void)updateNoticeUI:(HomeObject *)homeObject | ||
505 | { | ||
506 | NSString *stringNotice = @""; | ||
507 | for (NoticeInfor *notice in homeObject.listNotice) { | ||
508 | NSString *noticeString = [NSString stringWithFormat:@"%@\n", notice.notice_content]; | ||
509 | stringNotice = [stringNotice stringByAppendingString:noticeString]; | ||
510 | } | ||
511 | _tvNotice.text = stringNotice; | ||
512 | } | ||
513 | |||
514 | - (void)resetStepUI | ||
515 | { | ||
516 | self.lblValueStep.text = @""; | ||
517 | self.lblValueStepOther.text = @""; | ||
518 | self.lblPercent.text = @""; | ||
519 | } | ||
520 | |||
521 | @end | ||
522 |
LifeLog/LifeLog/HomeViewController.xib
1 | <?xml version="1.0" encoding="UTF-8"?> | 1 | <?xml version="1.0" encoding="UTF-8"?> |
2 | <document type="com.apple.InterfaceBuilder3.CocoaTouch.XIB" version="3.0" toolsVersion="13529" targetRuntime="iOS.CocoaTouch" propertyAccessControl="none" useAutolayout="YES" useTraitCollections="YES" colorMatched="YES"> | 2 | <document type="com.apple.InterfaceBuilder3.CocoaTouch.XIB" version="3.0" toolsVersion="13529" targetRuntime="iOS.CocoaTouch" propertyAccessControl="none" useAutolayout="YES" useTraitCollections="YES" colorMatched="YES"> |
3 | <device id="retina4_7" orientation="portrait"> | 3 | <device id="retina4_7" orientation="portrait"> |
4 | <adaptation id="fullscreen"/> | 4 | <adaptation id="fullscreen"/> |
5 | </device> | 5 | </device> |
6 | <dependencies> | 6 | <dependencies> |
7 | <deployment identifier="iOS"/> | 7 | <deployment identifier="iOS"/> |
8 | <plugIn identifier="com.apple.InterfaceBuilder.IBCocoaTouchPlugin" version="13527"/> | 8 | <plugIn identifier="com.apple.InterfaceBuilder.IBCocoaTouchPlugin" version="13527"/> |
9 | <capability name="Aspect ratio constraints" minToolsVersion="5.1"/> | 9 | <capability name="Aspect ratio constraints" minToolsVersion="5.1"/> |
10 | <capability name="documents saved in the Xcode 8 format" minToolsVersion="8.0"/> | 10 | <capability name="documents saved in the Xcode 8 format" minToolsVersion="8.0"/> |
11 | </dependencies> | 11 | </dependencies> |
12 | <objects> | 12 | <objects> |
13 | <placeholder placeholderIdentifier="IBFilesOwner" id="-1" userLabel="File's Owner" customClass="HomeViewController"> | 13 | <placeholder placeholderIdentifier="IBFilesOwner" id="-1" userLabel="File's Owner" customClass="HomeViewController"> |
14 | <connections> | 14 | <connections> |
15 | <outlet property="avatar" destination="J2A-tf-wH0" id="FdR-Zg-4ye"/> | 15 | <outlet property="avatar" destination="J2A-tf-wH0" id="FdR-Zg-4ye"/> |
16 | <outlet property="lblDateCurrent" destination="IaR-IO-4RA" id="nVS-KW-X4d"/> | 16 | <outlet property="lblDateCurrent" destination="IaR-IO-4RA" id="nVS-KW-X4d"/> |
17 | <outlet property="lblNotice" destination="lnt-4H-Ao8" id="aoM-JS-VHg"/> | 17 | <outlet property="lblNotice" destination="lnt-4H-Ao8" id="aoM-JS-VHg"/> |
18 | <outlet property="lblPercent" destination="DuE-Dh-nEe" id="Yz4-VO-P2h"/> | 18 | <outlet property="lblPercent" destination="DuE-Dh-nEe" id="Yz4-VO-P2h"/> |
19 | <outlet property="lblTitle" destination="u3S-9u-GMZ" id="7C6-gv-vPu"/> | 19 | <outlet property="lblTitle" destination="u3S-9u-GMZ" id="7C6-gv-vPu"/> |
20 | <outlet property="lblUnitStep" destination="wfu-aB-xXm" id="4Ms-pS-D2m"/> | 20 | <outlet property="lblUnitStep" destination="wfu-aB-xXm" id="4Ms-pS-D2m"/> |
21 | <outlet property="lblValueStep" destination="TUf-Tp-93t" id="qAh-fl-oW4"/> | 21 | <outlet property="lblValueStep" destination="TUf-Tp-93t" id="qAh-fl-oW4"/> |
22 | <outlet property="lblValueStepOther" destination="3Xj-IB-96h" id="yXj-HA-fDR"/> | 22 | <outlet property="lblValueStepOther" destination="3Xj-IB-96h" id="yXj-HA-fDR"/> |
23 | <outlet property="segmentHome" destination="ibb-Yl-iqu" id="lE6-pr-GgT"/> | 23 | <outlet property="segmentHome" destination="ibb-Yl-iqu" id="lE6-pr-GgT"/> |
24 | <outlet property="tvNotice" destination="kdD-rj-BtX" id="t6k-l8-l2N"/> | 24 | <outlet property="tvNotice" destination="kdD-rj-BtX" id="t6k-l8-l2N"/> |
25 | <outlet property="view" destination="i5M-Pr-FkT" id="sfx-zR-JGt"/> | 25 | <outlet property="view" destination="i5M-Pr-FkT" id="sfx-zR-JGt"/> |
26 | </connections> | 26 | </connections> |
27 | </placeholder> | 27 | </placeholder> |
28 | <placeholder placeholderIdentifier="IBFirstResponder" id="-2" customClass="UIResponder"/> | 28 | <placeholder placeholderIdentifier="IBFirstResponder" id="-2" customClass="UIResponder"/> |
29 | <view clearsContextBeforeDrawing="NO" contentMode="scaleToFill" id="i5M-Pr-FkT"> | 29 | <view clearsContextBeforeDrawing="NO" contentMode="scaleToFill" id="i5M-Pr-FkT"> |
30 | <rect key="frame" x="0.0" y="0.0" width="375" height="667"/> | 30 | <rect key="frame" x="0.0" y="0.0" width="375" height="667"/> |
31 | <autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/> | 31 | <autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/> |
32 | <subviews> | 32 | <subviews> |
33 | <imageView userInteractionEnabled="NO" contentMode="scaleToFill" horizontalHuggingPriority="251" verticalHuggingPriority="251" image="background" translatesAutoresizingMaskIntoConstraints="NO" id="1z5-6l-aht"> | ||
34 | <rect key="frame" x="0.0" y="0.0" width="375" height="667"/> | ||
35 | </imageView> | ||
33 | <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="HOME" textAlignment="center" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="u3S-9u-GMZ" userLabel="LabelTitle"> | 36 | <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="HOME" textAlignment="center" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="u3S-9u-GMZ" userLabel="LabelTitle"> |
34 | <rect key="frame" x="0.0" y="0.0" width="375" height="44"/> | 37 | <rect key="frame" x="0.0" y="0.0" width="375" height="44"/> |
35 | <color key="backgroundColor" red="0.098039215686274508" green="0.098039215686274508" blue="0.098039215686274508" alpha="1" colorSpace="custom" customColorSpace="sRGB"/> | 38 | <color key="backgroundColor" red="0.0" green="0.0" blue="0.2196078431372549" alpha="1" colorSpace="custom" customColorSpace="sRGB"/> |
36 | <constraints> | 39 | <constraints> |
37 | <constraint firstAttribute="height" constant="44" id="8z2-GM-1iE"/> | 40 | <constraint firstAttribute="height" constant="44" id="8z2-GM-1iE"/> |
38 | </constraints> | 41 | </constraints> |
39 | <fontDescription key="fontDescription" type="system" pointSize="23"/> | 42 | <fontDescription key="fontDescription" type="system" pointSize="23"/> |
40 | <color key="textColor" white="1" alpha="1" colorSpace="calibratedWhite"/> | 43 | <color key="textColor" white="1" alpha="1" colorSpace="calibratedWhite"/> |
41 | <nil key="highlightedColor"/> | 44 | <nil key="highlightedColor"/> |
42 | </label> | 45 | </label> |
43 | <button opaque="NO" contentMode="scaleToFill" contentHorizontalAlignment="center" contentVerticalAlignment="center" lineBreakMode="middleTruncation" translatesAutoresizingMaskIntoConstraints="NO" id="LPY-Zl-cOp" userLabel="ButtonMenu"> | 46 | <button opaque="NO" contentMode="scaleToFill" contentHorizontalAlignment="center" contentVerticalAlignment="center" lineBreakMode="middleTruncation" translatesAutoresizingMaskIntoConstraints="NO" id="LPY-Zl-cOp" userLabel="ButtonMenu"> |
44 | <rect key="frame" x="335" y="7" width="30" height="30"/> | 47 | <rect key="frame" x="335" y="7" width="30" height="30"/> |
45 | <constraints> | 48 | <constraints> |
46 | <constraint firstAttribute="width" constant="30" id="5Ve-P6-6G7"/> | 49 | <constraint firstAttribute="width" constant="30" id="5Ve-P6-6G7"/> |
47 | <constraint firstAttribute="width" secondItem="LPY-Zl-cOp" secondAttribute="height" multiplier="1:1" id="6V0-0o-71r"/> | 50 | <constraint firstAttribute="width" secondItem="LPY-Zl-cOp" secondAttribute="height" multiplier="1:1" id="6V0-0o-71r"/> |
48 | </constraints> | 51 | </constraints> |
49 | <state key="normal" image="icon_menu"/> | 52 | <state key="normal" image="icon_menu"/> |
50 | <connections> | 53 | <connections> |
51 | <action selector="menuButtonTouchUpInside:" destination="-1" eventType="touchUpInside" id="HrU-er-jwh"/> | 54 | <action selector="menuButtonTouchUpInside:" destination="-1" eventType="touchUpInside" id="HrU-er-jwh"/> |
52 | </connections> | 55 | </connections> |
53 | </button> | 56 | </button> |
54 | <imageView userInteractionEnabled="NO" contentMode="scaleToFill" horizontalHuggingPriority="251" verticalHuggingPriority="251" image="avatar_default" translatesAutoresizingMaskIntoConstraints="NO" id="J2A-tf-wH0" userLabel="avatar"> | 57 | <imageView userInteractionEnabled="NO" contentMode="scaleToFill" horizontalHuggingPriority="251" verticalHuggingPriority="251" image="avatar_default" translatesAutoresizingMaskIntoConstraints="NO" id="J2A-tf-wH0" userLabel="avatar"> |
55 | <rect key="frame" x="8" y="54" width="80" height="80"/> | 58 | <rect key="frame" x="8" y="54" width="80" height="80"/> |
56 | <constraints> | 59 | <constraints> |
57 | <constraint firstAttribute="width" secondItem="J2A-tf-wH0" secondAttribute="height" multiplier="1:1" id="TVn-eB-Jhs"/> | 60 | <constraint firstAttribute="width" secondItem="J2A-tf-wH0" secondAttribute="height" multiplier="1:1" id="TVn-eB-Jhs"/> |
58 | <constraint firstAttribute="width" constant="80" id="YGa-LO-1Mu"/> | 61 | <constraint firstAttribute="width" constant="80" id="YGa-LO-1Mu"/> |
59 | </constraints> | 62 | </constraints> |
60 | </imageView> | 63 | </imageView> |
61 | <imageView userInteractionEnabled="NO" contentMode="scaleToFill" horizontalHuggingPriority="251" verticalHuggingPriority="251" image="icon_left" translatesAutoresizingMaskIntoConstraints="NO" id="vRa-cr-YTe" userLabel="icon_left"> | 64 | <imageView userInteractionEnabled="NO" contentMode="scaleToFill" horizontalHuggingPriority="251" verticalHuggingPriority="251" image="icon_left" translatesAutoresizingMaskIntoConstraints="NO" id="vRa-cr-YTe" userLabel="icon_left"> |
62 | <rect key="frame" x="98" y="79" width="30" height="30"/> | 65 | <rect key="frame" x="98" y="79" width="30" height="30"/> |
63 | <constraints> | 66 | <constraints> |
64 | <constraint firstAttribute="width" constant="30" id="UZi-wZ-The"/> | 67 | <constraint firstAttribute="width" constant="30" id="UZi-wZ-The"/> |
65 | <constraint firstAttribute="width" secondItem="vRa-cr-YTe" secondAttribute="height" multiplier="1:1" id="itE-d2-PsT"/> | 68 | <constraint firstAttribute="width" secondItem="vRa-cr-YTe" secondAttribute="height" multiplier="1:1" id="itE-d2-PsT"/> |
66 | </constraints> | 69 | </constraints> |
67 | </imageView> | 70 | </imageView> |
68 | <button opaque="NO" contentMode="scaleToFill" contentHorizontalAlignment="center" contentVerticalAlignment="center" buttonType="roundedRect" lineBreakMode="middleTruncation" translatesAutoresizingMaskIntoConstraints="NO" id="b6V-Bi-4oz" userLabel="ButtonLeft"> | 71 | <button opaque="NO" contentMode="scaleToFill" contentHorizontalAlignment="center" contentVerticalAlignment="center" buttonType="roundedRect" lineBreakMode="middleTruncation" translatesAutoresizingMaskIntoConstraints="NO" id="b6V-Bi-4oz" userLabel="ButtonLeft"> |
69 | <rect key="frame" x="88" y="69" width="50" height="50"/> | 72 | <rect key="frame" x="88" y="69" width="50" height="50"/> |
70 | <color key="backgroundColor" white="0.0" alpha="0.0" colorSpace="calibratedWhite"/> | 73 | <color key="backgroundColor" white="0.0" alpha="0.0" colorSpace="calibratedWhite"/> |
71 | <constraints> | 74 | <constraints> |
72 | <constraint firstAttribute="width" secondItem="b6V-Bi-4oz" secondAttribute="height" multiplier="1:1" id="GYG-2B-e1R"/> | 75 | <constraint firstAttribute="width" secondItem="b6V-Bi-4oz" secondAttribute="height" multiplier="1:1" id="GYG-2B-e1R"/> |
73 | <constraint firstAttribute="width" constant="50" id="bgQ-rD-KZD"/> | 76 | <constraint firstAttribute="width" constant="50" id="bgQ-rD-KZD"/> |
74 | </constraints> | 77 | </constraints> |
75 | <connections> | 78 | <connections> |
76 | <action selector="leftButtonTouchUpInside:" destination="-1" eventType="touchUpInside" id="Bzk-y5-Lre"/> | 79 | <action selector="leftButtonTouchUpInside:" destination="-1" eventType="touchUpInside" id="Bzk-y5-Lre"/> |
77 | </connections> | 80 | </connections> |
78 | </button> | 81 | </button> |
79 | <imageView userInteractionEnabled="NO" contentMode="scaleToFill" horizontalHuggingPriority="251" verticalHuggingPriority="251" image="icon_right" translatesAutoresizingMaskIntoConstraints="NO" id="Low-8n-pqa" userLabel="icon_right"> | 82 | <imageView userInteractionEnabled="NO" contentMode="scaleToFill" horizontalHuggingPriority="251" verticalHuggingPriority="251" image="icon_right" translatesAutoresizingMaskIntoConstraints="NO" id="Low-8n-pqa" userLabel="icon_right"> |
80 | <rect key="frame" x="335" y="79" width="30" height="30"/> | 83 | <rect key="frame" x="335" y="79" width="30" height="30"/> |
81 | <constraints> | 84 | <constraints> |
82 | <constraint firstAttribute="width" constant="30" id="jTd-Xb-RdV"/> | 85 | <constraint firstAttribute="width" constant="30" id="jTd-Xb-RdV"/> |
83 | <constraint firstAttribute="width" secondItem="Low-8n-pqa" secondAttribute="height" multiplier="1:1" id="pft-kU-wDw"/> | 86 | <constraint firstAttribute="width" secondItem="Low-8n-pqa" secondAttribute="height" multiplier="1:1" id="pft-kU-wDw"/> |
84 | </constraints> | 87 | </constraints> |
85 | </imageView> | 88 | </imageView> |
86 | <button opaque="NO" contentMode="scaleToFill" contentHorizontalAlignment="center" contentVerticalAlignment="center" buttonType="roundedRect" lineBreakMode="middleTruncation" translatesAutoresizingMaskIntoConstraints="NO" id="at8-co-gC4" userLabel="ButtonRight"> | 89 | <button opaque="NO" contentMode="scaleToFill" contentHorizontalAlignment="center" contentVerticalAlignment="center" buttonType="roundedRect" lineBreakMode="middleTruncation" translatesAutoresizingMaskIntoConstraints="NO" id="at8-co-gC4" userLabel="ButtonRight"> |
87 | <rect key="frame" x="325" y="69" width="50" height="50"/> | 90 | <rect key="frame" x="325" y="69" width="50" height="50"/> |
88 | <color key="backgroundColor" white="0.0" alpha="0.0" colorSpace="calibratedWhite"/> | 91 | <color key="backgroundColor" white="0.0" alpha="0.0" colorSpace="calibratedWhite"/> |
89 | <constraints> | 92 | <constraints> |
90 | <constraint firstAttribute="width" constant="50" id="dpm-ie-7c4"/> | 93 | <constraint firstAttribute="width" constant="50" id="dpm-ie-7c4"/> |
91 | <constraint firstAttribute="width" secondItem="at8-co-gC4" secondAttribute="height" multiplier="1:1" id="wDO-Tw-aYK"/> | 94 | <constraint firstAttribute="width" secondItem="at8-co-gC4" secondAttribute="height" multiplier="1:1" id="wDO-Tw-aYK"/> |
92 | </constraints> | 95 | </constraints> |
93 | <connections> | 96 | <connections> |
94 | <action selector="rightButtonTouchUpInside:" destination="-1" eventType="touchUpInside" id="0jR-UP-2ia"/> | 97 | <action selector="rightButtonTouchUpInside:" destination="-1" eventType="touchUpInside" id="0jR-UP-2ia"/> |
95 | </connections> | 98 | </connections> |
96 | </button> | 99 | </button> |
97 | <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="2017年1月1日" textAlignment="center" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="IaR-IO-4RA"> | 100 | <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="2017年1月1日" textAlignment="center" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="IaR-IO-4RA"> |
98 | <rect key="frame" x="136" y="79" width="191" height="30"/> | 101 | <rect key="frame" x="136" y="79" width="191" height="30"/> |
99 | <constraints> | 102 | <constraints> |
100 | <constraint firstAttribute="height" constant="30" id="MsO-aD-MZ3"/> | 103 | <constraint firstAttribute="height" constant="30" id="MsO-aD-MZ3"/> |
101 | </constraints> | 104 | </constraints> |
102 | <fontDescription key="fontDescription" type="system" pointSize="22"/> | 105 | <fontDescription key="fontDescription" type="system" pointSize="22"/> |
103 | <color key="textColor" white="1" alpha="1" colorSpace="calibratedWhite"/> | 106 | <color key="textColor" white="1" alpha="1" colorSpace="calibratedWhite"/> |
104 | <nil key="highlightedColor"/> | 107 | <nil key="highlightedColor"/> |
105 | </label> | 108 | </label> |
106 | <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="" textAlignment="right" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="TUf-Tp-93t" userLabel="valueStep"> | 109 | <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="" textAlignment="right" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="TUf-Tp-93t" userLabel="valueStep"> |
107 | <rect key="frame" x="20" y="139" width="275" height="40"/> | 110 | <rect key="frame" x="20" y="139" width="275" height="40"/> |
108 | <constraints> | 111 | <constraints> |
109 | <constraint firstAttribute="height" constant="40" id="6Wd-CK-kPs"/> | 112 | <constraint firstAttribute="height" constant="40" id="6Wd-CK-kPs"/> |
110 | </constraints> | 113 | </constraints> |
111 | <fontDescription key="fontDescription" type="system" pointSize="45"/> | 114 | <fontDescription key="fontDescription" type="system" pointSize="45"/> |
112 | <color key="textColor" white="1" alpha="1" colorSpace="calibratedWhite"/> | 115 | <color key="textColor" white="1" alpha="1" colorSpace="calibratedWhite"/> |
113 | <nil key="highlightedColor"/> | 116 | <nil key="highlightedColor"/> |
114 | </label> | 117 | </label> |
115 | <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="step" textAlignment="natural" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="wfu-aB-xXm" userLabel="unitStep"> | 118 | <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="step" textAlignment="natural" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="wfu-aB-xXm" userLabel="unitStep"> |
116 | <rect key="frame" x="305" y="149" width="50" height="30"/> | 119 | <rect key="frame" x="305" y="149" width="50" height="30"/> |
117 | <constraints> | 120 | <constraints> |
118 | <constraint firstAttribute="width" constant="50" id="oQw-JM-dmo"/> | 121 | <constraint firstAttribute="width" constant="50" id="oQw-JM-dmo"/> |
119 | <constraint firstAttribute="height" constant="30" id="pV2-7i-dZB"/> | 122 | <constraint firstAttribute="height" constant="30" id="pV2-7i-dZB"/> |
120 | </constraints> | 123 | </constraints> |
121 | <fontDescription key="fontDescription" type="system" pointSize="25"/> | 124 | <fontDescription key="fontDescription" type="system" pointSize="25"/> |
122 | <color key="textColor" white="1" alpha="1" colorSpace="calibratedWhite"/> | 125 | <color key="textColor" white="1" alpha="1" colorSpace="calibratedWhite"/> |
123 | <nil key="highlightedColor"/> | 126 | <nil key="highlightedColor"/> |
124 | </label> | 127 | </label> |
125 | <button opaque="NO" contentMode="scaleToFill" contentHorizontalAlignment="center" contentVerticalAlignment="center" buttonType="roundedRect" lineBreakMode="middleTruncation" translatesAutoresizingMaskIntoConstraints="NO" id="VAz-hq-dvR"> | 128 | <button opaque="NO" contentMode="scaleToFill" contentHorizontalAlignment="center" contentVerticalAlignment="center" buttonType="roundedRect" lineBreakMode="middleTruncation" translatesAutoresizingMaskIntoConstraints="NO" id="VAz-hq-dvR"> |
126 | <rect key="frame" x="157" y="525" width="60" height="30"/> | 129 | <rect key="frame" x="157" y="525" width="60" height="30"/> |
127 | <constraints> | 130 | <constraints> |
128 | <constraint firstAttribute="width" constant="60" id="KzL-jP-qZn"/> | 131 | <constraint firstAttribute="width" constant="60" id="KzL-jP-qZn"/> |
129 | <constraint firstAttribute="height" constant="30" id="kdw-th-wDS"/> | 132 | <constraint firstAttribute="height" constant="30" id="kdw-th-wDS"/> |
130 | </constraints> | 133 | </constraints> |
131 | <state key="normal" title="TODAY"> | 134 | <state key="normal" title="TODAY"> |
132 | <color key="titleColor" white="1" alpha="1" colorSpace="calibratedWhite"/> | 135 | <color key="titleColor" white="1" alpha="1" colorSpace="calibratedWhite"/> |
133 | </state> | 136 | </state> |
134 | <connections> | 137 | <connections> |
135 | <action selector="todayButtonTouchUpInside:" destination="-1" eventType="touchUpInside" id="KoT-el-kxw"/> | 138 | <action selector="todayButtonTouchUpInside:" destination="-1" eventType="touchUpInside" id="KoT-el-kxw"/> |
136 | </connections> | 139 | </connections> |
137 | </button> | 140 | </button> |
138 | <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="" textAlignment="right" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="3Xj-IB-96h"> | 141 | <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="" textAlignment="right" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="3Xj-IB-96h"> |
139 | <rect key="frame" x="8" y="187" width="359" height="30"/> | 142 | <rect key="frame" x="8" y="187" width="359" height="30"/> |
140 | <constraints> | 143 | <constraints> |
141 | <constraint firstAttribute="height" constant="30" id="B7Z-yO-b6M"/> | 144 | <constraint firstAttribute="height" constant="30" id="B7Z-yO-b6M"/> |
142 | </constraints> | 145 | </constraints> |
143 | <fontDescription key="fontDescription" type="system" pointSize="20"/> | 146 | <fontDescription key="fontDescription" type="system" pointSize="20"/> |
144 | <color key="textColor" white="1" alpha="1" colorSpace="calibratedWhite"/> | 147 | <color key="textColor" white="1" alpha="1" colorSpace="calibratedWhite"/> |
145 | <nil key="highlightedColor"/> | 148 | <nil key="highlightedColor"/> |
146 | </label> | 149 | </label> |
147 | <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="" textAlignment="right" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="DuE-Dh-nEe"> | 150 | <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="" textAlignment="right" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="DuE-Dh-nEe"> |
148 | <rect key="frame" x="8" y="225" width="359" height="30"/> | 151 | <rect key="frame" x="8" y="225" width="359" height="30"/> |
149 | <constraints> | 152 | <constraints> |
150 | <constraint firstAttribute="height" constant="30" id="6YJ-rf-mz3"/> | 153 | <constraint firstAttribute="height" constant="30" id="6YJ-rf-mz3"/> |
151 | </constraints> | 154 | </constraints> |
152 | <fontDescription key="fontDescription" type="system" pointSize="20"/> | 155 | <fontDescription key="fontDescription" type="system" pointSize="20"/> |
153 | <color key="textColor" white="1" alpha="1" colorSpace="calibratedWhite"/> | 156 | <color key="textColor" white="1" alpha="1" colorSpace="calibratedWhite"/> |
154 | <nil key="highlightedColor"/> | 157 | <nil key="highlightedColor"/> |
155 | </label> | 158 | </label> |
156 | <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="お知らせ" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="lnt-4H-Ao8"> | 159 | <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="お知らせ" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="lnt-4H-Ao8"> |
157 | <rect key="frame" x="8" y="275" width="359" height="30"/> | 160 | <rect key="frame" x="8" y="275" width="359" height="30"/> |
158 | <constraints> | 161 | <constraints> |
159 | <constraint firstAttribute="height" constant="30" id="isj-iQ-BcF"/> | 162 | <constraint firstAttribute="height" constant="30" id="isj-iQ-BcF"/> |
160 | </constraints> | 163 | </constraints> |
161 | <fontDescription key="fontDescription" type="system" pointSize="25"/> | 164 | <fontDescription key="fontDescription" type="system" pointSize="25"/> |
162 | <color key="textColor" white="1" alpha="1" colorSpace="calibratedWhite"/> | 165 | <color key="textColor" white="1" alpha="1" colorSpace="calibratedWhite"/> |
163 | <nil key="highlightedColor"/> | 166 | <nil key="highlightedColor"/> |
164 | </label> | 167 | </label> |
165 | <segmentedControl opaque="NO" contentMode="scaleToFill" contentHorizontalAlignment="left" contentVerticalAlignment="top" segmentControlStyle="plain" selectedSegmentIndex="0" translatesAutoresizingMaskIntoConstraints="NO" id="ibb-Yl-iqu"> | 168 | <segmentedControl opaque="NO" contentMode="scaleToFill" contentHorizontalAlignment="left" contentVerticalAlignment="top" segmentControlStyle="plain" selectedSegmentIndex="0" translatesAutoresizingMaskIntoConstraints="NO" id="ibb-Yl-iqu"> |
166 | <rect key="frame" x="75" y="575" width="224" height="29"/> | 169 | <rect key="frame" x="75" y="575" width="224" height="29"/> |
167 | <segments> | 170 | <segments> |
168 | <segment title="BIKE"/> | 171 | <segment title="BIKE"/> |
169 | <segment title="WALKING"/> | 172 | <segment title="WALKING"/> |
170 | <segment title="RUNNING"/> | 173 | <segment title="RUNNING"/> |
171 | </segments> | 174 | </segments> |
172 | <color key="tintColor" white="0.66666666666666663" alpha="1" colorSpace="calibratedWhite"/> | 175 | <color key="tintColor" white="0.66666666666666663" alpha="1" colorSpace="calibratedWhite"/> |
173 | <connections> | 176 | <connections> |
174 | <action selector="segmentValueChange:" destination="-1" eventType="valueChanged" id="kL2-mI-baG"/> | 177 | <action selector="segmentValueChange:" destination="-1" eventType="valueChanged" id="kL2-mI-baG"/> |
175 | </connections> | 178 | </connections> |
176 | </segmentedControl> | 179 | </segmentedControl> |
177 | <textView clipsSubviews="YES" multipleTouchEnabled="YES" contentMode="scaleToFill" editable="NO" textAlignment="natural" selectable="NO" translatesAutoresizingMaskIntoConstraints="NO" id="kdD-rj-BtX" userLabel="tvNotice"> | 180 | <textView clipsSubviews="YES" multipleTouchEnabled="YES" contentMode="scaleToFill" editable="NO" textAlignment="natural" selectable="NO" translatesAutoresizingMaskIntoConstraints="NO" id="kdD-rj-BtX" userLabel="tvNotice"> |
178 | <rect key="frame" x="8" y="313" width="359" height="204"/> | 181 | <rect key="frame" x="8" y="313" width="359" height="204"/> |
179 | <color key="backgroundColor" white="0.0" alpha="0.0" colorSpace="calibratedWhite"/> | 182 | <color key="backgroundColor" white="0.0" alpha="0.0" colorSpace="calibratedWhite"/> |
180 | <color key="textColor" white="1" alpha="1" colorSpace="calibratedWhite"/> | 183 | <color key="textColor" white="1" alpha="1" colorSpace="calibratedWhite"/> |
181 | <fontDescription key="fontDescription" type="system" pointSize="17"/> | 184 | <fontDescription key="fontDescription" type="system" pointSize="17"/> |
182 | <textInputTraits key="textInputTraits" autocapitalizationType="sentences"/> | 185 | <textInputTraits key="textInputTraits" autocapitalizationType="sentences"/> |
183 | </textView> | 186 | </textView> |
184 | </subviews> | 187 | </subviews> |
185 | <color key="backgroundColor" white="0.0" alpha="1" colorSpace="calibratedWhite"/> | 188 | <color key="backgroundColor" white="0.0" alpha="1" colorSpace="calibratedWhite"/> |
186 | <constraints> | 189 | <constraints> |
187 | <constraint firstItem="IaR-IO-4RA" firstAttribute="leading" secondItem="vRa-cr-YTe" secondAttribute="trailing" constant="8" id="010-mM-SLU"/> | 190 | <constraint firstItem="IaR-IO-4RA" firstAttribute="leading" secondItem="vRa-cr-YTe" secondAttribute="trailing" constant="8" id="010-mM-SLU"/> |
188 | <constraint firstAttribute="trailing" secondItem="Low-8n-pqa" secondAttribute="trailing" constant="10" id="0OY-h0-Rgg"/> | 191 | <constraint firstAttribute="trailing" secondItem="Low-8n-pqa" secondAttribute="trailing" constant="10" id="0OY-h0-Rgg"/> |
189 | <constraint firstAttribute="trailing" secondItem="kdD-rj-BtX" secondAttribute="trailing" constant="8" id="3bP-sY-1pI"/> | 192 | <constraint firstAttribute="trailing" secondItem="kdD-rj-BtX" secondAttribute="trailing" constant="8" id="3bP-sY-1pI"/> |
190 | <constraint firstItem="u3S-9u-GMZ" firstAttribute="leading" secondItem="i5M-Pr-FkT" secondAttribute="leading" id="4TN-aJ-vQh"/> | 193 | <constraint firstItem="u3S-9u-GMZ" firstAttribute="leading" secondItem="i5M-Pr-FkT" secondAttribute="leading" id="4TN-aJ-vQh"/> |
194 | <constraint firstItem="1z5-6l-aht" firstAttribute="leading" secondItem="i5M-Pr-FkT" secondAttribute="leading" id="6F9-oQ-tmg"/> | ||
191 | <constraint firstAttribute="trailing" secondItem="u3S-9u-GMZ" secondAttribute="trailing" id="8KH-Mn-IUf"/> | 195 | <constraint firstAttribute="trailing" secondItem="u3S-9u-GMZ" secondAttribute="trailing" id="8KH-Mn-IUf"/> |
192 | <constraint firstItem="DuE-Dh-nEe" firstAttribute="top" secondItem="3Xj-IB-96h" secondAttribute="bottom" constant="8" id="9h2-XH-Dd7"/> | 196 | <constraint firstItem="DuE-Dh-nEe" firstAttribute="top" secondItem="3Xj-IB-96h" secondAttribute="bottom" constant="8" id="9h2-XH-Dd7"/> |
193 | <constraint firstItem="kdD-rj-BtX" firstAttribute="top" secondItem="lnt-4H-Ao8" secondAttribute="bottom" constant="8" id="BCi-jo-C0A"/> | 197 | <constraint firstItem="kdD-rj-BtX" firstAttribute="top" secondItem="lnt-4H-Ao8" secondAttribute="bottom" constant="8" id="BCi-jo-C0A"/> |
198 | <constraint firstAttribute="trailing" secondItem="1z5-6l-aht" secondAttribute="trailing" id="CAn-98-y2W"/> | ||
194 | <constraint firstAttribute="trailing" secondItem="LPY-Zl-cOp" secondAttribute="trailing" constant="10" id="CX3-BL-hNh"/> | 199 | <constraint firstAttribute="trailing" secondItem="LPY-Zl-cOp" secondAttribute="trailing" constant="10" id="CX3-BL-hNh"/> |
195 | <constraint firstItem="vRa-cr-YTe" firstAttribute="leading" secondItem="J2A-tf-wH0" secondAttribute="trailing" constant="10" id="Cax-pu-Kp7"/> | 200 | <constraint firstItem="vRa-cr-YTe" firstAttribute="leading" secondItem="J2A-tf-wH0" secondAttribute="trailing" constant="10" id="Cax-pu-Kp7"/> |
196 | <constraint firstItem="3Xj-IB-96h" firstAttribute="leading" secondItem="i5M-Pr-FkT" secondAttribute="leading" constant="8" id="E8R-qO-PtJ"/> | 201 | <constraint firstItem="3Xj-IB-96h" firstAttribute="leading" secondItem="i5M-Pr-FkT" secondAttribute="leading" constant="8" id="E8R-qO-PtJ"/> |
197 | <constraint firstItem="b6V-Bi-4oz" firstAttribute="centerX" secondItem="vRa-cr-YTe" secondAttribute="centerX" id="EEt-Ct-vxb"/> | 202 | <constraint firstItem="b6V-Bi-4oz" firstAttribute="centerX" secondItem="vRa-cr-YTe" secondAttribute="centerX" id="EEt-Ct-vxb"/> |
198 | <constraint firstItem="u3S-9u-GMZ" firstAttribute="top" secondItem="i5M-Pr-FkT" secondAttribute="top" placeholder="YES" id="GbN-me-UEd"/> | 203 | <constraint firstItem="u3S-9u-GMZ" firstAttribute="top" secondItem="i5M-Pr-FkT" secondAttribute="top" placeholder="YES" id="GbN-me-UEd"/> |
204 | <constraint firstItem="1z5-6l-aht" firstAttribute="leading" secondItem="i5M-Pr-FkT" secondAttribute="leading" id="Gg0-mA-0AM"/> | ||
199 | <constraint firstItem="b6V-Bi-4oz" firstAttribute="centerY" secondItem="vRa-cr-YTe" secondAttribute="centerY" id="HXS-oH-EPB"/> | 205 | <constraint firstItem="b6V-Bi-4oz" firstAttribute="centerY" secondItem="vRa-cr-YTe" secondAttribute="centerY" id="HXS-oH-EPB"/> |
200 | <constraint firstItem="vRa-cr-YTe" firstAttribute="centerY" secondItem="J2A-tf-wH0" secondAttribute="centerY" id="IDF-HZ-fqt"/> | 206 | <constraint firstItem="vRa-cr-YTe" firstAttribute="centerY" secondItem="J2A-tf-wH0" secondAttribute="centerY" id="IDF-HZ-fqt"/> |
201 | <constraint firstAttribute="trailing" secondItem="lnt-4H-Ao8" secondAttribute="trailing" constant="8" id="IEA-1V-AZx"/> | 207 | <constraint firstAttribute="trailing" secondItem="lnt-4H-Ao8" secondAttribute="trailing" constant="8" id="IEA-1V-AZx"/> |
202 | <constraint firstItem="ibb-Yl-iqu" firstAttribute="top" secondItem="VAz-hq-dvR" secondAttribute="bottom" constant="20" id="Ib2-KY-3A7"/> | 208 | <constraint firstItem="ibb-Yl-iqu" firstAttribute="top" secondItem="VAz-hq-dvR" secondAttribute="bottom" constant="20" id="Ib2-KY-3A7"/> |
203 | <constraint firstAttribute="bottom" secondItem="ibb-Yl-iqu" secondAttribute="bottom" constant="64" placeholder="YES" id="Iv8-Al-1Ff"/> | 209 | <constraint firstAttribute="bottom" secondItem="ibb-Yl-iqu" secondAttribute="bottom" constant="64" placeholder="YES" id="Iv8-Al-1Ff"/> |
204 | <constraint firstItem="DuE-Dh-nEe" firstAttribute="leading" secondItem="i5M-Pr-FkT" secondAttribute="leading" constant="8" id="Rum-yc-3Ym"/> | 210 | <constraint firstItem="DuE-Dh-nEe" firstAttribute="leading" secondItem="i5M-Pr-FkT" secondAttribute="leading" constant="8" id="Rum-yc-3Ym"/> |
211 | <constraint firstAttribute="trailing" secondItem="1z5-6l-aht" secondAttribute="trailing" id="Vdm-Es-9gL"/> | ||
205 | <constraint firstItem="Low-8n-pqa" firstAttribute="centerY" secondItem="J2A-tf-wH0" secondAttribute="centerY" id="W7b-Hb-9ME"/> | 212 | <constraint firstItem="Low-8n-pqa" firstAttribute="centerY" secondItem="J2A-tf-wH0" secondAttribute="centerY" id="W7b-Hb-9ME"/> |
206 | <constraint firstItem="IaR-IO-4RA" firstAttribute="centerY" secondItem="J2A-tf-wH0" secondAttribute="centerY" id="b4I-Me-4xZ"/> | 213 | <constraint firstItem="IaR-IO-4RA" firstAttribute="centerY" secondItem="J2A-tf-wH0" secondAttribute="centerY" id="b4I-Me-4xZ"/> |
207 | <constraint firstItem="wfu-aB-xXm" firstAttribute="top" secondItem="IaR-IO-4RA" secondAttribute="bottom" constant="40" id="bH1-l5-YRA"/> | 214 | <constraint firstItem="wfu-aB-xXm" firstAttribute="top" secondItem="IaR-IO-4RA" secondAttribute="bottom" constant="40" id="bH1-l5-YRA"/> |
208 | <constraint firstItem="lnt-4H-Ao8" firstAttribute="leading" secondItem="i5M-Pr-FkT" secondAttribute="leading" constant="8" id="ea3-Dx-s4s"/> | 215 | <constraint firstItem="lnt-4H-Ao8" firstAttribute="leading" secondItem="i5M-Pr-FkT" secondAttribute="leading" constant="8" id="ea3-Dx-s4s"/> |
216 | <constraint firstItem="1z5-6l-aht" firstAttribute="top" secondItem="i5M-Pr-FkT" secondAttribute="top" id="h15-0H-1uW"/> | ||
209 | <constraint firstItem="at8-co-gC4" firstAttribute="centerX" secondItem="Low-8n-pqa" secondAttribute="centerX" id="h5o-Cj-Z7s"/> | 217 | <constraint firstItem="at8-co-gC4" firstAttribute="centerX" secondItem="Low-8n-pqa" secondAttribute="centerX" id="h5o-Cj-Z7s"/> |
210 | <constraint firstAttribute="trailing" secondItem="DuE-Dh-nEe" secondAttribute="trailing" constant="8" id="iyi-TY-Wfe"/> | 218 | <constraint firstAttribute="trailing" secondItem="DuE-Dh-nEe" secondAttribute="trailing" constant="8" id="iyi-TY-Wfe"/> |
211 | <constraint firstItem="LPY-Zl-cOp" firstAttribute="centerY" secondItem="u3S-9u-GMZ" secondAttribute="centerY" id="jBf-Ck-YYj"/> | 219 | <constraint firstItem="LPY-Zl-cOp" firstAttribute="centerY" secondItem="u3S-9u-GMZ" secondAttribute="centerY" id="jBf-Ck-YYj"/> |
212 | <constraint firstItem="TUf-Tp-93t" firstAttribute="centerY" secondItem="wfu-aB-xXm" secondAttribute="centerY" constant="-5" id="k3n-lY-8K1"/> | 220 | <constraint firstItem="TUf-Tp-93t" firstAttribute="centerY" secondItem="wfu-aB-xXm" secondAttribute="centerY" constant="-5" id="k3n-lY-8K1"/> |
213 | <constraint firstItem="J2A-tf-wH0" firstAttribute="leading" secondItem="i5M-Pr-FkT" secondAttribute="leading" constant="8" id="mVQ-bZ-JBW"/> | 221 | <constraint firstItem="J2A-tf-wH0" firstAttribute="leading" secondItem="i5M-Pr-FkT" secondAttribute="leading" constant="8" id="mVQ-bZ-JBW"/> |
214 | <constraint firstAttribute="trailing" secondItem="wfu-aB-xXm" secondAttribute="trailing" constant="20" id="mtA-2Q-ssH"/> | 222 | <constraint firstAttribute="trailing" secondItem="wfu-aB-xXm" secondAttribute="trailing" constant="20" id="mtA-2Q-ssH"/> |
223 | <constraint firstAttribute="bottom" secondItem="1z5-6l-aht" secondAttribute="bottom" id="nJy-I1-hpu"/> | ||
215 | <constraint firstItem="ibb-Yl-iqu" firstAttribute="centerX" secondItem="i5M-Pr-FkT" secondAttribute="centerX" id="nOT-Ic-JU1"/> | 224 | <constraint firstItem="ibb-Yl-iqu" firstAttribute="centerX" secondItem="i5M-Pr-FkT" secondAttribute="centerX" id="nOT-Ic-JU1"/> |
216 | <constraint firstItem="J2A-tf-wH0" firstAttribute="top" secondItem="u3S-9u-GMZ" secondAttribute="bottom" constant="10" id="nu9-Lj-5xz"/> | 225 | <constraint firstItem="J2A-tf-wH0" firstAttribute="top" secondItem="u3S-9u-GMZ" secondAttribute="bottom" constant="10" id="nu9-Lj-5xz"/> |
217 | <constraint firstAttribute="trailing" secondItem="3Xj-IB-96h" secondAttribute="trailing" constant="8" id="pF6-db-UUi"/> | 226 | <constraint firstAttribute="trailing" secondItem="3Xj-IB-96h" secondAttribute="trailing" constant="8" id="pF6-db-UUi"/> |
218 | <constraint firstItem="3Xj-IB-96h" firstAttribute="top" secondItem="wfu-aB-xXm" secondAttribute="bottom" constant="8" id="psY-0r-fPJ"/> | 227 | <constraint firstItem="3Xj-IB-96h" firstAttribute="top" secondItem="wfu-aB-xXm" secondAttribute="bottom" constant="8" id="psY-0r-fPJ"/> |
219 | <constraint firstItem="kdD-rj-BtX" firstAttribute="leading" secondItem="i5M-Pr-FkT" secondAttribute="leading" constant="8" id="q4Z-No-KmH"/> | 228 | <constraint firstItem="kdD-rj-BtX" firstAttribute="leading" secondItem="i5M-Pr-FkT" secondAttribute="leading" constant="8" id="q4Z-No-KmH"/> |
220 | <constraint firstItem="TUf-Tp-93t" firstAttribute="leading" secondItem="i5M-Pr-FkT" secondAttribute="leading" constant="20" id="sC4-Kr-3bN"/> | 229 | <constraint firstItem="TUf-Tp-93t" firstAttribute="leading" secondItem="i5M-Pr-FkT" secondAttribute="leading" constant="20" id="sC4-Kr-3bN"/> |
221 | <constraint firstItem="at8-co-gC4" firstAttribute="centerY" secondItem="Low-8n-pqa" secondAttribute="centerY" id="tav-ge-tCT"/> | 230 | <constraint firstItem="at8-co-gC4" firstAttribute="centerY" secondItem="Low-8n-pqa" secondAttribute="centerY" id="tav-ge-tCT"/> |
222 | <constraint firstItem="VAz-hq-dvR" firstAttribute="top" secondItem="kdD-rj-BtX" secondAttribute="bottom" constant="8" id="ujL-1z-cUf"/> | 231 | <constraint firstItem="VAz-hq-dvR" firstAttribute="top" secondItem="kdD-rj-BtX" secondAttribute="bottom" constant="8" id="ujL-1z-cUf"/> |
223 | <constraint firstItem="lnt-4H-Ao8" firstAttribute="top" secondItem="DuE-Dh-nEe" secondAttribute="bottom" constant="20" id="w4w-Z4-Jzk"/> | 232 | <constraint firstItem="lnt-4H-Ao8" firstAttribute="top" secondItem="DuE-Dh-nEe" secondAttribute="bottom" constant="20" id="w4w-Z4-Jzk"/> |
224 | <constraint firstItem="wfu-aB-xXm" firstAttribute="leading" secondItem="TUf-Tp-93t" secondAttribute="trailing" constant="10" id="x51-DA-4Le"/> | 233 | <constraint firstItem="wfu-aB-xXm" firstAttribute="leading" secondItem="TUf-Tp-93t" secondAttribute="trailing" constant="10" id="x51-DA-4Le"/> |
225 | <constraint firstItem="VAz-hq-dvR" firstAttribute="centerX" secondItem="i5M-Pr-FkT" secondAttribute="centerX" id="xE7-ro-k8m"/> | 234 | <constraint firstItem="VAz-hq-dvR" firstAttribute="centerX" secondItem="i5M-Pr-FkT" secondAttribute="centerX" id="xE7-ro-k8m"/> |
235 | <constraint firstAttribute="bottom" secondItem="1z5-6l-aht" secondAttribute="bottom" id="xXu-0F-pzQ"/> | ||
226 | <constraint firstItem="Low-8n-pqa" firstAttribute="leading" secondItem="IaR-IO-4RA" secondAttribute="trailing" constant="8" id="y6e-6A-hjn"/> | 236 | <constraint firstItem="Low-8n-pqa" firstAttribute="leading" secondItem="IaR-IO-4RA" secondAttribute="trailing" constant="8" id="y6e-6A-hjn"/> |
237 | <constraint firstItem="1z5-6l-aht" firstAttribute="top" secondItem="i5M-Pr-FkT" secondAttribute="top" id="yK2-RH-eNB"/> | ||
227 | </constraints> | 238 | </constraints> |
228 | <point key="canvasLocation" x="33.5" y="97.5"/> | 239 | <point key="canvasLocation" x="33.5" y="97.5"/> |
229 | </view> | 240 | </view> |
230 | </objects> | 241 | </objects> |
231 | <resources> | 242 | <resources> |
232 | <image name="avatar_default" width="80" height="80"/> | 243 | <image name="avatar_default" width="127" height="136"/> |
244 | <image name="background" width="1563" height="2778"/> | ||
233 | <image name="icon_left" width="30" height="30"/> | 245 | <image name="icon_left" width="30" height="30"/> |
234 | <image name="icon_menu" width="30" height="30"/> | 246 | <image name="icon_menu" width="30" height="30"/> |
235 | <image name="icon_right" width="30" height="30"/> | 247 | <image name="icon_right" width="30" height="30"/> |
236 | </resources> | 248 | </resources> |
237 | </document> | 249 | </document> |
238 | 250 |
LifeLog/LifeLog/LabelCollectionViewCell.h
1 | // | 1 | // |
2 | // LabelCollectionViewCell.h | 2 | // LabelCollectionViewCell.h |
3 | // LifeLog | 3 | // LifeLog |
4 | // | 4 | // |
5 | // Created by nvtu on 8/3/17. | 5 | // Created by nvtu on 8/3/17. |
6 | // Copyright © 2017 PhongNV. All rights reserved. | 6 | // Copyright © 2017 PhongNV. All rights reserved. |
7 | // | 7 | // |
8 | 8 | ||
9 | #import <UIKit/UIKit.h> | 9 | #import <UIKit/UIKit.h> |
10 | 10 | ||
11 | @interface LabelCollectionViewCell : UICollectionViewCell | 11 | @interface LabelCollectionViewCell : UICollectionViewCell |
12 | @property (weak, nonatomic) IBOutlet UILabel *lblTitle; | 12 | @property (weak, nonatomic) IBOutlet UILabel *lblTitle; |
13 | @property (weak, nonatomic) IBOutlet UIImageView *imgIcon; | ||
13 | @end | 14 | @end |
14 | 15 |
LifeLog/LifeLog/LabelCollectionViewCell.xib
1 | <?xml version="1.0" encoding="UTF-8"?> | 1 | <?xml version="1.0" encoding="UTF-8"?> |
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"> | 2 | <document type="com.apple.InterfaceBuilder3.CocoaTouch.XIB" version="3.0" toolsVersion="13529" targetRuntime="iOS.CocoaTouch" propertyAccessControl="none" useAutolayout="YES" useTraitCollections="YES" colorMatched="YES"> |
3 | <device id="retina4_7" orientation="portrait"> | 3 | <device id="retina4_7" orientation="portrait"> |
4 | <adaptation id="fullscreen"/> | 4 | <adaptation id="fullscreen"/> |
5 | </device> | 5 | </device> |
6 | <dependencies> | 6 | <dependencies> |
7 | <plugIn identifier="com.apple.InterfaceBuilder.IBCocoaTouchPlugin" version="12086"/> | 7 | <deployment identifier="iOS"/> |
8 | <plugIn identifier="com.apple.InterfaceBuilder.IBCocoaTouchPlugin" version="13527"/> | ||
8 | <capability name="documents saved in the Xcode 8 format" minToolsVersion="8.0"/> | 9 | <capability name="documents saved in the Xcode 8 format" minToolsVersion="8.0"/> |
9 | </dependencies> | 10 | </dependencies> |
10 | <objects> | 11 | <objects> |
11 | <placeholder placeholderIdentifier="IBFilesOwner" id="-1" userLabel="File's Owner"/> | 12 | <placeholder placeholderIdentifier="IBFilesOwner" id="-1" userLabel="File's Owner"/> |
12 | <placeholder placeholderIdentifier="IBFirstResponder" id="-2" customClass="UIResponder"/> | 13 | <placeholder placeholderIdentifier="IBFirstResponder" id="-2" customClass="UIResponder"/> |
13 | <collectionViewCell opaque="NO" clipsSubviews="YES" multipleTouchEnabled="YES" contentMode="center" reuseIdentifier="LabelCell" id="gTV-IL-0wX" customClass="LabelCollectionViewCell"> | 14 | <collectionViewCell opaque="NO" clipsSubviews="YES" multipleTouchEnabled="YES" contentMode="center" reuseIdentifier="LabelCell" id="gTV-IL-0wX" customClass="LabelCollectionViewCell"> |
14 | <rect key="frame" x="0.0" y="0.0" width="246" height="175"/> | 15 | <rect key="frame" x="0.0" y="0.0" width="246" height="175"/> |
15 | <autoresizingMask key="autoresizingMask"/> | 16 | <autoresizingMask key="autoresizingMask"/> |
16 | <view key="contentView" opaque="NO" clipsSubviews="YES" multipleTouchEnabled="YES" contentMode="center"> | 17 | <view key="contentView" opaque="NO" clipsSubviews="YES" multipleTouchEnabled="YES" contentMode="center"> |
17 | <rect key="frame" x="0.0" y="0.0" width="246" height="175"/> | 18 | <rect key="frame" x="0.0" y="0.0" width="246" height="175"/> |
18 | <autoresizingMask key="autoresizingMask" flexibleMaxX="YES" flexibleMaxY="YES"/> | 19 | <autoresizingMask key="autoresizingMask" flexibleMaxX="YES" flexibleMaxY="YES"/> |
19 | <subviews> | 20 | <subviews> |
20 | <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="Label" textAlignment="center" lineBreakMode="tailTruncation" numberOfLines="0" baselineAdjustment="alignBaselines" minimumScaleFactor="0.5" translatesAutoresizingMaskIntoConstraints="NO" id="R7x-TO-3nQ"> | 21 | <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="Label" textAlignment="center" lineBreakMode="tailTruncation" numberOfLines="0" baselineAdjustment="alignBaselines" minimumScaleFactor="0.5" translatesAutoresizingMaskIntoConstraints="NO" id="R7x-TO-3nQ"> |
21 | <rect key="frame" x="0.0" y="0.0" width="246" height="175"/> | 22 | <rect key="frame" x="0.0" y="0.0" width="246" height="175"/> |
22 | <color key="backgroundColor" white="1" alpha="1" colorSpace="calibratedWhite"/> | 23 | <color key="backgroundColor" white="1" alpha="1" colorSpace="calibratedWhite"/> |
23 | <fontDescription key="fontDescription" type="system" pointSize="13"/> | 24 | <fontDescription key="fontDescription" type="system" pointSize="13"/> |
24 | <nil key="textColor"/> | 25 | <nil key="textColor"/> |
25 | <nil key="highlightedColor"/> | 26 | <nil key="highlightedColor"/> |
26 | </label> | 27 | </label> |
28 | <imageView hidden="YES" userInteractionEnabled="NO" contentMode="scaleAspectFit" horizontalHuggingPriority="251" verticalHuggingPriority="251" translatesAutoresizingMaskIntoConstraints="NO" id="ls0-bk-ldb"> | ||
29 | <rect key="frame" x="0.0" y="0.0" width="246" height="175"/> | ||
30 | <color key="backgroundColor" white="0.0" alpha="0.0" colorSpace="custom" customColorSpace="genericGamma22GrayColorSpace"/> | ||
31 | </imageView> | ||
27 | </subviews> | 32 | </subviews> |
28 | </view> | 33 | </view> |
29 | <constraints> | 34 | <constraints> |
35 | <constraint firstAttribute="trailing" secondItem="ls0-bk-ldb" secondAttribute="trailing" id="Cfz-rI-IEI"/> | ||
30 | <constraint firstItem="R7x-TO-3nQ" firstAttribute="leading" secondItem="gTV-IL-0wX" secondAttribute="leading" id="FsP-if-zJU"/> | 36 | <constraint firstItem="R7x-TO-3nQ" firstAttribute="leading" secondItem="gTV-IL-0wX" secondAttribute="leading" id="FsP-if-zJU"/> |
31 | <constraint firstAttribute="trailing" secondItem="R7x-TO-3nQ" secondAttribute="trailing" id="RXy-Ax-f7c"/> | 37 | <constraint firstAttribute="trailing" secondItem="R7x-TO-3nQ" secondAttribute="trailing" id="RXy-Ax-f7c"/> |
38 | <constraint firstItem="ls0-bk-ldb" firstAttribute="top" secondItem="gTV-IL-0wX" secondAttribute="top" id="Ysx-ug-OWw"/> | ||
32 | <constraint firstAttribute="bottom" secondItem="R7x-TO-3nQ" secondAttribute="bottom" id="bir-WN-giG"/> | 39 | <constraint firstAttribute="bottom" secondItem="R7x-TO-3nQ" secondAttribute="bottom" id="bir-WN-giG"/> |
40 | <constraint firstAttribute="bottom" secondItem="ls0-bk-ldb" secondAttribute="bottom" id="jPv-Kj-zFK"/> | ||
33 | <constraint firstItem="R7x-TO-3nQ" firstAttribute="top" secondItem="gTV-IL-0wX" secondAttribute="top" id="nEO-eg-OOM"/> | 41 | <constraint firstItem="R7x-TO-3nQ" firstAttribute="top" secondItem="gTV-IL-0wX" secondAttribute="top" id="nEO-eg-OOM"/> |
42 | <constraint firstItem="ls0-bk-ldb" firstAttribute="leading" secondItem="gTV-IL-0wX" secondAttribute="leading" id="nqo-ds-9ou"/> | ||
34 | </constraints> | 43 | </constraints> |
35 | <size key="customSize" width="246" height="175"/> | 44 | <size key="customSize" width="246" height="175"/> |
36 | <connections> | 45 | <connections> |
37 | <outlet property="lblTitle" destination="R7x-TO-3nQ" id="Iuz-tJ-aWb"/> | 46 | <outlet property="imgIcon" destination="ls0-bk-ldb" id="pLg-1p-9sI"/> |
47 | <outlet property="lblTitle" destination="R7x-TO-3nQ" id="YkO-eX-8rQ"/> | ||
38 | </connections> | 48 | </connections> |
39 | <point key="canvasLocation" x="123" y="114.5"/> | 49 | <point key="canvasLocation" x="123" y="114.5"/> |
40 | </collectionViewCell> | 50 | </collectionViewCell> |
41 | </objects> | 51 | </objects> |
42 | </document> | 52 | </document> |
43 | 53 |
LifeLog/LifeLog/MapViewController.m
1 | // | 1 | // |
2 | // MapViewController.m | 2 | // MapViewController.m |
3 | // LifeLog | 3 | // LifeLog |
4 | // | 4 | // |
5 | // Created by Nguyen Van Phong on 7/25/17. | 5 | // Created by Nguyen Van Phong on 7/25/17. |
6 | // Copyright © 2017 PhongNV. All rights reserved. | 6 | // Copyright © 2017 PhongNV. All rights reserved. |
7 | // | 7 | // |
8 | 8 | ||
9 | #import "MapViewController.h" | 9 | #import "MapViewController.h" |
10 | #import <MapKit/MapKit.h> | 10 | #import <MapKit/MapKit.h> |
11 | #import<CoreLocation/CoreLocation.h> | 11 | #import<CoreLocation/CoreLocation.h> |
12 | #import <CoreMotion/CoreMotion.h> | 12 | #import <CoreMotion/CoreMotion.h> |
13 | #import "NSDate+helper.h" | 13 | #import "NSDate+helper.h" |
14 | #import "Utilities.h" | 14 | #import "Utilities.h" |
15 | 15 | ||
16 | @interface MapViewController ()<CLLocationManagerDelegate, MKMapViewDelegate> | 16 | @interface MapViewController ()<CLLocationManagerDelegate, MKMapViewDelegate> |
17 | { | 17 | { |
18 | CLGeocoder *geocoder; | 18 | CLGeocoder *geocoder; |
19 | CLPlacemark *placemark; | 19 | CLPlacemark *placemark; |
20 | CLLocation *previousLocation; | 20 | CLLocation *previousLocation; |
21 | } | 21 | } |
22 | @property (weak, nonatomic) IBOutlet MKMapView *mapView; | 22 | @property (weak, nonatomic) IBOutlet MKMapView *mapView; |
23 | @property (weak, nonatomic) IBOutlet UILabel *lblTime; | 23 | @property (weak, nonatomic) IBOutlet UILabel *lblTime; |
24 | @property (weak, nonatomic) IBOutlet UISlider *slider; | 24 | @property (weak, nonatomic) IBOutlet UISlider *slider; |
25 | 25 | ||
26 | @property (nonatomic, weak) IBOutlet UILabel *lblValueStep; | 26 | @property (nonatomic, weak) IBOutlet UILabel *lblValueStep; |
27 | @property (nonatomic, weak) IBOutlet UILabel *lblUnitStep; | 27 | @property (nonatomic, weak) IBOutlet UILabel *lblUnitStep; |
28 | @property (weak, nonatomic) IBOutlet UIView *viewOther; | 28 | @property (weak, nonatomic) IBOutlet UIView *viewOther; |
29 | 29 | ||
30 | @property (strong, nonatomic) CLLocationManager *locationManager; | 30 | @property (strong, nonatomic) CLLocationManager *locationManager; |
31 | 31 | ||
32 | @property (nonatomic, strong) CMPedometer *pedometer; | 32 | @property (nonatomic, strong) CMPedometer *pedometer; |
33 | @property (nonatomic, strong) CMMotionActivityManager *motionActivityManager; | 33 | @property (nonatomic, strong) CMMotionActivityManager *motionActivityManager; |
34 | @property (nonatomic, strong) NSOperationQueue *operationQueue; | 34 | @property (nonatomic, strong) NSOperationQueue *operationQueue; |
35 | @property (nonatomic, strong) NSTimer *timer; | 35 | @property (nonatomic, strong) NSTimer *timer; |
36 | @property (nonatomic) int countTime; | 36 | @property (nonatomic) int countTime; |
37 | @property (nonatomic, assign) BOOL isRequesting; | 37 | @property (nonatomic, assign) BOOL isRequesting; |
38 | @end | 38 | @end |
39 | 39 | ||
40 | @implementation MapViewController | 40 | @implementation MapViewController |
41 | 41 | ||
42 | - (void)viewDidLoad { | 42 | - (void)viewDidLoad { |
43 | [super viewDidLoad]; | 43 | [super viewDidLoad]; |
44 | // Do any additional setup after loading the view from its nib. | 44 | // Do any additional setup after loading the view from its nib. |
45 | self.title = NSLocalizedString(@"lifelog.tapbar.map", nil); | 45 | // self.title = NSLocalizedString(@"lifelog.tapbar.map", nil); |
46 | [self.view addConstraint:[NSLayoutConstraint constraintWithItem:self.topLayoutGuide attribute:NSLayoutAttributeBottom relatedBy:NSLayoutRelationEqual toItem:self.mapView attribute:NSLayoutAttributeTop multiplier:1 constant:0]]; | 46 | [self.view addConstraint:[NSLayoutConstraint constraintWithItem:self.topLayoutGuide attribute:NSLayoutAttributeBottom relatedBy:NSLayoutRelationEqual toItem:self.mapView attribute:NSLayoutAttributeTop multiplier:1 constant:0]]; |
47 | [self.view addConstraint:[NSLayoutConstraint constraintWithItem:self.bottomLayoutGuide attribute:NSLayoutAttributeTop relatedBy:NSLayoutRelationEqual toItem:self.mapView attribute:NSLayoutAttributeBottom multiplier:1 constant:44]]; | 47 | [self.view addConstraint:[NSLayoutConstraint constraintWithItem:self.bottomLayoutGuide attribute:NSLayoutAttributeTop relatedBy:NSLayoutRelationEqual toItem:self.mapView attribute:NSLayoutAttributeBottom multiplier:1 constant:44]]; |
48 | geocoder = [[CLGeocoder alloc] init]; | 48 | geocoder = [[CLGeocoder alloc] init]; |
49 | [self setupLocation]; | 49 | [self setupLocation]; |
50 | [self setupMapView]; | 50 | [self setupMapView]; |
51 | previousLocation = nil; | 51 | previousLocation = nil; |
52 | 52 | ||
53 | if ([CMPedometer isStepCountingAvailable]) { | 53 | if ([CMPedometer isStepCountingAvailable]) { |
54 | _pedometer = [[CMPedometer alloc] init]; | 54 | _pedometer = [[CMPedometer alloc] init]; |
55 | } | 55 | } |
56 | if ([CMMotionActivityManager isActivityAvailable]) { | 56 | if ([CMMotionActivityManager isActivityAvailable]) { |
57 | _motionActivityManager = [[CMMotionActivityManager alloc] init]; | 57 | _motionActivityManager = [[CMMotionActivityManager alloc] init]; |
58 | } | 58 | } |
59 | self.isRequesting = NO; | 59 | self.isRequesting = NO; |
60 | _countTime = 0; | 60 | _countTime = 0; |
61 | self.lblUnitStep.text = NSLocalizedString(@"lifelog.home.unit.step", nil); | 61 | self.lblUnitStep.text = NSLocalizedString(@"lifelog.home.unit.step", nil); |
62 | } | 62 | } |
63 | 63 | ||
64 | - (void)didReceiveMemoryWarning { | 64 | - (void)didReceiveMemoryWarning { |
65 | [super didReceiveMemoryWarning]; | 65 | [super didReceiveMemoryWarning]; |
66 | // Dispose of any resources that can be recreated. | 66 | // Dispose of any resources that can be recreated. |
67 | } | 67 | } |
68 | 68 | ||
69 | - (void)viewWillAppear:(BOOL)animated { | 69 | - (void)viewWillAppear:(BOOL)animated { |
70 | [super viewWillAppear:animated]; | 70 | [super viewWillAppear:animated]; |
71 | _timer = [NSTimer scheduledTimerWithTimeInterval:1.0f target:self selector:@selector(countStep) userInfo:nil repeats:YES]; | 71 | _timer = [NSTimer scheduledTimerWithTimeInterval:1.0f target:self selector:@selector(countStep) userInfo:nil repeats:YES]; |
72 | [_timer fire]; | 72 | [_timer fire]; |
73 | } | 73 | } |
74 | 74 | ||
75 | //- (void)viewWillDisappear:(BOOL)animated { | 75 | //- (void)viewWillDisappear:(BOOL)animated { |
76 | // [super viewWillDisappear:animated]; | 76 | // [super viewWillDisappear:animated]; |
77 | // [_timer invalidate]; | 77 | // [_timer invalidate]; |
78 | //} | 78 | //} |
79 | 79 | ||
80 | #pragma mark - CLLocationManagerDelegate | 80 | #pragma mark - CLLocationManagerDelegate |
81 | -(void)locationManager:(CLLocationManager *)manager didUpdateLocations:(NSArray *)locations { | 81 | -(void)locationManager:(CLLocationManager *)manager didUpdateLocations:(NSArray *)locations { |
82 | 82 | ||
83 | CLLocation *newLocation = [locations lastObject]; | 83 | CLLocation *newLocation = [locations lastObject]; |
84 | if (previousLocation == nil) { | 84 | if (previousLocation == nil) { |
85 | [self addAnnotationsOnMap:newLocation]; | 85 | [self addAnnotationsOnMap:newLocation]; |
86 | } | 86 | } |
87 | else { | 87 | else { |
88 | CLLocationCoordinate2D area[2]; | 88 | CLLocationCoordinate2D area[2]; |
89 | area[0] = previousLocation.coordinate; | 89 | area[0] = previousLocation.coordinate; |
90 | area[1] = newLocation.coordinate; | 90 | area[1] = newLocation.coordinate; |
91 | MKPolyline *polyLine = [MKPolyline polylineWithCoordinates:area count:2]; | 91 | MKPolyline *polyLine = [MKPolyline polylineWithCoordinates:area count:2]; |
92 | [_mapView addOverlay:polyLine]; | 92 | [_mapView addOverlay:polyLine]; |
93 | } | 93 | } |
94 | 94 | ||
95 | previousLocation = newLocation; | 95 | previousLocation = newLocation; |
96 | } | 96 | } |
97 | 97 | ||
98 | - (void)locationManager:(CLLocationManager *)manager didFailWithError:(NSError *)error | 98 | - (void)locationManager:(CLLocationManager *)manager didFailWithError:(NSError *)error |
99 | { | 99 | { |
100 | NSLog(@"Cannot find the location."); | 100 | NSLog(@"Cannot find the location."); |
101 | } | 101 | } |
102 | 102 | ||
103 | #pragma mark - MKMapViewDelegate | 103 | #pragma mark - MKMapViewDelegate |
104 | - (MKOverlayRenderer *)mapView:(MKMapView *)mapView rendererForOverlay:(id <MKOverlay>)overlay | 104 | - (MKOverlayRenderer *)mapView:(MKMapView *)mapView rendererForOverlay:(id <MKOverlay>)overlay |
105 | { | 105 | { |
106 | if ([overlay isKindOfClass:[MKPolyline class]]) { | 106 | if ([overlay isKindOfClass:[MKPolyline class]]) { |
107 | MKPolylineRenderer *pr = [[MKPolylineRenderer alloc] initWithOverlay:overlay]; | 107 | MKPolylineRenderer *pr = [[MKPolylineRenderer alloc] initWithOverlay:overlay]; |
108 | pr.strokeColor = [UIColor redColor]; | 108 | pr.strokeColor = [UIColor redColor]; |
109 | pr.lineWidth = 5; | 109 | pr.lineWidth = 5; |
110 | return pr; | 110 | return pr; |
111 | } | 111 | } |
112 | return nil; | 112 | return nil; |
113 | } | 113 | } |
114 | 114 | ||
115 | #pragma mark - Functions Private | 115 | #pragma mark - Functions Private |
116 | 116 | ||
117 | - (void)addAnnotationsOnMap:(CLLocation *)locationToPoint { | 117 | - (void)addAnnotationsOnMap:(CLLocation *)locationToPoint { |
118 | MKPointAnnotation *annotation = [[MKPointAnnotation alloc] init]; | 118 | MKPointAnnotation *annotation = [[MKPointAnnotation alloc] init]; |
119 | annotation.coordinate = locationToPoint.coordinate; | 119 | annotation.coordinate = locationToPoint.coordinate; |
120 | [geocoder reverseGeocodeLocation:locationToPoint completionHandler:^(NSArray *placemarks, NSError *error) { | 120 | [geocoder reverseGeocodeLocation:locationToPoint completionHandler:^(NSArray *placemarks, NSError *error) { |
121 | if (error == nil && [placemarks count] >0) { | 121 | if (error == nil && [placemarks count] >0) { |
122 | placemark = [placemarks firstObject]; | 122 | placemark = [placemarks firstObject]; |
123 | NSDictionary *addressDict = placemark.addressDictionary; | 123 | NSDictionary *addressDict = placemark.addressDictionary; |
124 | annotation.title = [NSString stringWithFormat:@"%@", addressDict[@"Name"]]; | 124 | annotation.title = [NSString stringWithFormat:@"%@", addressDict[@"Name"]]; |
125 | [_mapView addAnnotation:annotation]; | 125 | [_mapView addAnnotation:annotation]; |
126 | } | 126 | } |
127 | }]; | 127 | }]; |
128 | } | 128 | } |
129 | 129 | ||
130 | - (void)setupLocation { | 130 | - (void)setupLocation { |
131 | _locationManager = [[CLLocationManager alloc] init]; | 131 | _locationManager = [[CLLocationManager alloc] init]; |
132 | _locationManager.desiredAccuracy = kCLLocationAccuracyBest; | 132 | _locationManager.desiredAccuracy = kCLLocationAccuracyBest; |
133 | _locationManager.delegate = self; | 133 | _locationManager.delegate = self; |
134 | CLAuthorizationStatus status = [CLLocationManager authorizationStatus]; | 134 | CLAuthorizationStatus status = [CLLocationManager authorizationStatus]; |
135 | if (status == kCLAuthorizationStatusNotDetermined || status == kCLAuthorizationStatusDenied || status == kCLAuthorizationStatusAuthorizedWhenInUse) { | 135 | if (status == kCLAuthorizationStatusNotDetermined || status == kCLAuthorizationStatusDenied || status == kCLAuthorizationStatusAuthorizedWhenInUse) { |
136 | [_locationManager requestWhenInUseAuthorization]; | 136 | [_locationManager requestWhenInUseAuthorization]; |
137 | [_locationManager requestAlwaysAuthorization]; | 137 | [_locationManager requestAlwaysAuthorization]; |
138 | } | 138 | } |
139 | [_locationManager startUpdatingLocation]; | 139 | [_locationManager startUpdatingLocation]; |
140 | [_locationManager startUpdatingHeading]; | 140 | [_locationManager startUpdatingHeading]; |
141 | } | 141 | } |
142 | 142 | ||
143 | - (void)setupMapView { | 143 | - (void)setupMapView { |
144 | _mapView.delegate = self; | 144 | _mapView.delegate = self; |
145 | _mapView.showsUserLocation = YES; | 145 | _mapView.showsUserLocation = YES; |
146 | _mapView.mapType = MKMapTypeStandard; | 146 | _mapView.mapType = MKMapTypeStandard; |
147 | _mapView.userTrackingMode = MKUserTrackingModeFollowWithHeading; | 147 | _mapView.userTrackingMode = MKUserTrackingModeFollowWithHeading; |
148 | } | 148 | } |
149 | 149 | ||
150 | #pragma mark - Functions Private | 150 | #pragma mark - Functions Private |
151 | - (void)countStep | 151 | - (void)countStep |
152 | { | 152 | { |
153 | _countTime++; | 153 | _countTime++; |
154 | _lblTime.text = [self convertTime:_countTime]; | 154 | _lblTime.text = [self convertTime:_countTime]; |
155 | _slider.value = _countTime; | 155 | _slider.value = _countTime; |
156 | if (self.isRequesting == YES) { | 156 | if (self.isRequesting == YES) { |
157 | return; | 157 | return; |
158 | } | 158 | } |
159 | if ([CMMotionActivityManager isActivityAvailable]) { | 159 | if ([CMMotionActivityManager isActivityAvailable]) { |
160 | self.isRequesting = YES; | 160 | self.isRequesting = YES; |
161 | NSDate *endDate = [NSDate date]; | 161 | NSDate *endDate = [NSDate date]; |
162 | NSDate *startDate = [endDate beginningAtMidnightOfDay]; | 162 | NSDate *startDate = [endDate beginningAtMidnightOfDay]; |
163 | MapViewController __weak *weakSelf = self; | 163 | MapViewController __weak *weakSelf = self; |
164 | dispatch_queue_t myQueue = dispatch_queue_create("mobileworld.jp.lifelog", NULL); | 164 | dispatch_queue_t myQueue = dispatch_queue_create("mobileworld.jp.lifelog", NULL); |
165 | dispatch_async(myQueue, ^{ | 165 | dispatch_async(myQueue, ^{ |
166 | if (weakSelf == nil) { | 166 | if (weakSelf == nil) { |
167 | return ; | 167 | return ; |
168 | } | 168 | } |
169 | [weakSelf.pedometer queryPedometerDataFromDate:startDate toDate:endDate withHandler:^(CMPedometerData * _Nullable pedometerData, NSError * _Nullable error) { | 169 | [weakSelf.pedometer queryPedometerDataFromDate:startDate toDate:endDate withHandler:^(CMPedometerData * _Nullable pedometerData, NSError * _Nullable error) { |
170 | NSInteger numberStep = [pedometerData.numberOfSteps integerValue]; | 170 | NSInteger numberStep = [pedometerData.numberOfSteps integerValue]; |
171 | dispatch_async(dispatch_get_main_queue(), ^{ | 171 | dispatch_async(dispatch_get_main_queue(), ^{ |
172 | [weakSelf updateStepUI:numberStep]; | 172 | [weakSelf updateStepUI:numberStep]; |
173 | }); | 173 | }); |
174 | }]; | 174 | }]; |
175 | }); | 175 | }); |
176 | } | 176 | } |
177 | } | 177 | } |
178 | 178 | ||
179 | - (NSString *)convertTime:(int)time | 179 | - (NSString *)convertTime:(int)time |
180 | { | 180 | { |
181 | NSString *result = @""; | 181 | NSString *result = @""; |
182 | int hour = time/3600; | 182 | int hour = time/3600; |
183 | int minute = time/60; | 183 | int minute = time/60; |
184 | int second = time % 60; | 184 | int second = time % 60; |
185 | result = [NSString stringWithFormat:@"%02d:%02d:%02d", hour, minute, second]; | 185 | result = [NSString stringWithFormat:@"%02d:%02d:%02d", hour, minute, second]; |
186 | return result; | 186 | return result; |
187 | } | 187 | } |
188 | 188 | ||
189 | - (void)updateStepUI:(NSInteger)numberStep | 189 | - (void)updateStepUI:(NSInteger)numberStep |
190 | { | 190 | { |
191 | // NSLog(@"Number of step: %ld", numberStep); | 191 | // NSLog(@"Number of step: %ld", numberStep); |
192 | self.isRequesting = NO; | 192 | self.isRequesting = NO; |
193 | self.lblValueStep.text = [Utilities addCommaFromNumber:numberStep]; | 193 | self.lblValueStep.text = [Utilities addCommaFromNumber:numberStep]; |
194 | } | 194 | } |
195 | 195 | ||
196 | @end | 196 | @end |
197 | 197 |
LifeLog/LifeLog/MyGroupViewController.h
1 | // | 1 | // |
2 | // MyGroupViewController.h | 2 | // MyGroupViewController.h |
3 | // LifeLog | 3 | // LifeLog |
4 | // | 4 | // |
5 | // Created by nvtu on 8/20/17. | 5 | // Created by nvtu on 8/20/17. |
6 | // Copyright © 2017 PhongNV. All rights reserved. | 6 | // Copyright © 2017 PhongNV. All rights reserved. |
7 | // | 7 | // |
8 | 8 | ||
9 | #import <UIKit/UIKit.h> | 9 | #import <UIKit/UIKit.h> |
10 | #import "GroupDetailViewController.h" | 10 | #import "GroupDetailViewController.h" |
11 | #import "AutoTransButton.h" | 11 | #import "AutoTransButton.h" |
12 | #import "Entities.h" | 12 | #import "Entities.h" |
13 | 13 | ||
14 | @interface MyGroupViewController : GroupDetailViewController { | 14 | @interface MyGroupViewController : GroupDetailViewController { |
15 | NSMutableArray *_curListGrp; | 15 | NSMutableArray *_curListGrp; |
16 | } | 16 | } |
17 | @property (weak, nonatomic) IBOutlet UIView *viewHeader; | ||
17 | 18 | ||
18 | @property (weak, nonatomic) IBOutlet UITableView *tableGrp; | 19 | @property (weak, nonatomic) IBOutlet UITableView *tableGrp; |
19 | @property (weak, nonatomic) IBOutlet UIButton *btShowGrp; | 20 | @property (weak, nonatomic) IBOutlet UIButton *btShowGrp; |
20 | 21 | ||
21 | - (IBAction)clickShowGrp:(id)sender; | 22 | - (IBAction)clickShowGrp:(id)sender; |
22 | 23 | ||
23 | @end | 24 | @end |
24 | 25 |
LifeLog/LifeLog/MyGroupViewController.m
1 | // | 1 | // |
2 | // MyGroupViewController.m | 2 | // MyGroupViewController.m |
3 | // LifeLog | 3 | // LifeLog |
4 | // | 4 | // |
5 | // Created by nvtu on 8/20/17. | 5 | // Created by nvtu on 8/20/17. |
6 | // Copyright © 2017 PhongNV. All rights reserved. | 6 | // Copyright © 2017 PhongNV. All rights reserved. |
7 | // | 7 | // |
8 | 8 | ||
9 | #import "MyGroupViewController.h" | 9 | #import "MyGroupViewController.h" |
10 | 10 | ||
11 | #import "Utilities.h" | 11 | #import "Utilities.h" |
12 | #import "ServerAPI.h" | 12 | #import "ServerAPI.h" |
13 | #import "SNSRecentTopicTableViewCell.h" | 13 | #import "SNSRecentTopicTableViewCell.h" |
14 | 14 | ||
15 | @interface MyGroupViewController () | 15 | @interface MyGroupViewController () |
16 | 16 | ||
17 | @end | 17 | @end |
18 | 18 | ||
19 | @implementation MyGroupViewController | 19 | @implementation MyGroupViewController |
20 | 20 | ||
21 | - (void)viewDidLoad { | 21 | - (void)viewDidLoad { |
22 | [super viewDidLoad]; | 22 | [super viewDidLoad]; |
23 | [self.view addConstraint:[NSLayoutConstraint constraintWithItem:self.topLayoutGuide attribute:NSLayoutAttributeBottom relatedBy:NSLayoutRelationEqual toItem:self.viewHeader attribute:NSLayoutAttributeTop multiplier:1 constant:0]]; | ||
24 | |||
23 | isMemberList = false; | 25 | isMemberList = false; |
24 | _curListGrp = [[NSMutableArray alloc] init]; | 26 | _curListGrp = [[NSMutableArray alloc] init]; |
25 | [self.tableBase registerNib:[UINib nibWithNibName:@"SNSRecentTopicTableViewCell" bundle:nil] forCellReuseIdentifier:@"RecentTopicCell"]; | 27 | [self.tableBase registerNib:[UINib nibWithNibName:@"SNSRecentTopicTableViewCell" bundle:nil] forCellReuseIdentifier:@"RecentTopicCell"]; |
26 | 28 | ||
27 | [self requestGroupList]; | 29 | [self requestGroupList]; |
28 | // Do any additional setup after loading the view from its nib. | 30 | // Do any additional setup after loading the view from its nib. |
29 | } | 31 | } |
30 | 32 | ||
31 | - (void)didReceiveMemoryWarning { | 33 | - (void)didReceiveMemoryWarning { |
32 | [super didReceiveMemoryWarning]; | 34 | [super didReceiveMemoryWarning]; |
33 | // Dispose of any resources that can be recreated. | 35 | // Dispose of any resources that can be recreated. |
34 | } | 36 | } |
35 | 37 | ||
36 | #pragma mark IBAction | 38 | #pragma mark IBAction |
37 | 39 | ||
38 | - (IBAction)clickBack:(id)sender { | 40 | - (IBAction)clickBack:(id)sender { |
39 | [self.navigationController popViewControllerAnimated:true]; | 41 | [self.navigationController popViewControllerAnimated:true]; |
40 | } | 42 | } |
41 | 43 | ||
42 | - (IBAction)clickShowGrp:(id)sender { | 44 | - (IBAction)clickShowGrp:(id)sender { |
43 | self.tableGrp.hidden = !self.tableGrp.isHidden; | 45 | self.tableGrp.hidden = !self.tableGrp.isHidden; |
44 | } | 46 | } |
45 | 47 | ||
46 | - (IBAction)clickSwitch:(id)sender { | 48 | - (IBAction)clickSwitch:(id)sender { |
47 | isMemberList = !isMemberList; | 49 | isMemberList = !isMemberList; |
48 | if(isMemberList) { | 50 | if(isMemberList) { |
49 | [sender setTitle:NSLocalizedString(@"lifelog.grDetail.bt.viewTweet", nil) forState:UIControlStateNormal]; | 51 | [sender setTitle:NSLocalizedString(@"lifelog.grDetail.bt.viewTweet", nil) forState:UIControlStateNormal]; |
50 | } | 52 | } |
51 | else { | 53 | else { |
52 | [sender setTitle:NSLocalizedString(@"lifelog.grDetail.bt.viewMem", nil) forState:UIControlStateNormal]; | 54 | [sender setTitle:NSLocalizedString(@"lifelog.grDetail.bt.viewMem", nil) forState:UIControlStateNormal]; |
53 | } | 55 | } |
54 | [sender setUserInteractionEnabled:false]; | 56 | [sender setUserInteractionEnabled:false]; |
55 | [self resetData]; | 57 | [self resetData]; |
56 | } | 58 | } |
57 | 59 | ||
58 | #pragma mark UITableView Delegate | 60 | #pragma mark UITableView Delegate |
59 | -(NSInteger) numberOfSectionsInTableView:(UITableView *)tableView { | 61 | -(NSInteger) numberOfSectionsInTableView:(UITableView *)tableView { |
60 | if(tableView == self.tableGrp) | 62 | if(tableView == self.tableGrp) |
61 | return 1; | 63 | return 1; |
62 | else | 64 | else |
63 | return [super numberOfSectionsInTableView:tableView]; | 65 | return [super numberOfSectionsInTableView:tableView]; |
64 | } | 66 | } |
65 | 67 | ||
66 | - (NSInteger) tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section { | 68 | - (NSInteger) tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section { |
67 | if(tableView == self.tableGrp) | 69 | if(tableView == self.tableGrp) |
68 | return _curListGrp.count; | 70 | return _curListGrp.count; |
69 | else | 71 | else |
70 | return [super tableView:tableView numberOfRowsInSection:section]; | 72 | return [super tableView:tableView numberOfRowsInSection:section]; |
71 | } | 73 | } |
72 | 74 | ||
73 | - (UITableViewCell *) tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath { | 75 | - (UITableViewCell *) tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath { |
74 | if(tableView == self.tableGrp) { | 76 | if(tableView == self.tableGrp) { |
75 | UITableViewCell * cell = [tableView dequeueReusableCellWithIdentifier:@"GroupCell"]; | 77 | UITableViewCell * cell = [tableView dequeueReusableCellWithIdentifier:@"GroupCell"]; |
76 | if(cell == nil) { | 78 | if(cell == nil) { |
77 | cell = [[UITableViewCell alloc] initWithStyle:UITableViewCellStyleDefault reuseIdentifier:@"GroupCell"]; | 79 | cell = [[UITableViewCell alloc] initWithStyle:UITableViewCellStyleDefault reuseIdentifier:@"GroupCell"]; |
78 | } | 80 | } |
79 | GroupObject *object = [_curListGrp objectAtIndex:indexPath.row]; | 81 | GroupObject *object = [_curListGrp objectAtIndex:indexPath.row]; |
80 | cell.textLabel.text = object.name; | 82 | cell.textLabel.text = object.name; |
81 | return cell; | 83 | return cell; |
82 | } | 84 | } |
83 | else { | 85 | else { |
84 | SNSRecentTopicTableViewCell * cell = [tableView dequeueReusableCellWithIdentifier:@"RecentTopicCell"]; | 86 | SNSRecentTopicTableViewCell * cell = [tableView dequeueReusableCellWithIdentifier:@"RecentTopicCell"]; |
85 | if(isMemberList) { | 87 | if(isMemberList) { |
86 | MemberObject *object = [_curDataList objectAtIndex:indexPath.row]; | 88 | MemberObject *object = [_curDataList objectAtIndex:indexPath.row]; |
87 | [cell setMemberData:object]; | 89 | [cell setMemberData:object]; |
88 | } | 90 | } |
89 | else { | 91 | else { |
90 | TweetObject *object = [_curDataList objectAtIndex:indexPath.row]; | 92 | TweetObject *object = [_curDataList objectAtIndex:indexPath.row]; |
91 | [cell setTweetsData:object]; | 93 | [cell setTweetsData:object]; |
92 | } | 94 | } |
93 | return cell; | 95 | return cell; |
94 | } | 96 | } |
95 | } | 97 | } |
96 | 98 | ||
97 | - (void) tableView:(UITableView *)tableView willDisplayCell:(UITableViewCell *)cell forRowAtIndexPath:(NSIndexPath *)indexPath { | 99 | - (void) tableView:(UITableView *)tableView willDisplayCell:(UITableViewCell *)cell forRowAtIndexPath:(NSIndexPath *)indexPath { |
98 | if(tableView == self.tableGrp) { | 100 | if(tableView == self.tableGrp) { |
99 | return; | 101 | return; |
100 | } | 102 | } |
101 | [super tableView:tableView willDisplayCell:cell forRowAtIndexPath:indexPath]; | 103 | [super tableView:tableView willDisplayCell:cell forRowAtIndexPath:indexPath]; |
102 | } | 104 | } |
103 | 105 | ||
104 | -(void) tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath { | 106 | -(void) tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath { |
105 | if(tableView == self.tableGrp) { | 107 | if(tableView == self.tableGrp) { |
106 | [tableView setHidden:true]; | 108 | [tableView setHidden:true]; |
107 | [self resetGroupData:indexPath.row]; | 109 | [self resetGroupData:indexPath.row]; |
108 | } | 110 | } |
109 | } | 111 | } |
110 | 112 | ||
111 | #pragma mark Private Function | 113 | #pragma mark Private Function |
112 | 114 | ||
113 | - (void) resetGroupData : (int) index { | 115 | - (void) resetGroupData : (int) index { |
114 | _curGroup = [_curListGrp objectAtIndex:index]; | 116 | _curGroup = [_curListGrp objectAtIndex:index]; |
115 | self.lblGrpName.text = _curGroup.name; | 117 | self.lblGrpName.text = _curGroup.name; |
116 | [_curDataList removeAllObjects]; | 118 | [_curDataList removeAllObjects]; |
117 | [self.tableBase reloadData]; | 119 | [self.tableBase reloadData]; |
118 | [self requestGroupDetail]; | 120 | [self requestGroupDetail]; |
119 | } | 121 | } |
120 | 122 | ||
121 | - (void) requestGroupList { | 123 | - (void) requestGroupList { |
122 | NSString * token = [[NSUserDefaults standardUserDefaults] stringForKey:kToken]; | 124 | NSString * token = [[NSUserDefaults standardUserDefaults] stringForKey:kToken]; |
123 | MBProgressHUD *hudView = [MBProgressHUD showHUDAddedTo:self.view animated:true]; | 125 | MBProgressHUD *hudView = [MBProgressHUD showHUDAddedTo:self.view animated:true]; |
124 | [[ServerAPI server] requestGroupList:token CompletionHandler:^(NSArray *array, NSError *error) { | 126 | [[ServerAPI server] requestGroupList:token CompletionHandler:^(NSArray *array, NSError *error) { |
125 | dispatch_async(dispatch_get_main_queue(), ^{ | 127 | dispatch_async(dispatch_get_main_queue(), ^{ |
126 | [hudView hideAnimated:true]; | 128 | [hudView hideAnimated:true]; |
127 | }); | 129 | }); |
128 | if(error == nil) { | 130 | if(error == nil) { |
129 | [_curListGrp removeAllObjects]; | 131 | [_curListGrp removeAllObjects]; |
130 | [_curListGrp addObjectsFromArray:array]; | 132 | [_curListGrp addObjectsFromArray:array]; |
131 | MyGroupViewController __weak *weakSelf = self; | 133 | MyGroupViewController __weak *weakSelf = self; |
132 | dispatch_async(dispatch_get_main_queue(), ^{ | 134 | dispatch_async(dispatch_get_main_queue(), ^{ |
133 | [hudView hideAnimated:true]; | 135 | [hudView hideAnimated:true]; |
134 | [self.tableGrp reloadData]; | 136 | [self.tableGrp reloadData]; |
135 | if(_curListGrp.count > 0) { | 137 | if(_curListGrp.count > 0) { |
136 | [weakSelf resetGroupData:0]; | 138 | [weakSelf resetGroupData:0]; |
137 | } | 139 | } |
138 | else { | 140 | else { |
139 | weakSelf.lblGrpName.text = @"No Group"; | 141 | weakSelf.lblGrpName.text = @"No Group"; |
140 | } | 142 | } |
141 | [weakSelf.btShowGrp setEnabled:(_curListGrp.count > 0)]; | 143 | [weakSelf.btShowGrp setEnabled:(_curListGrp.count > 0)]; |
142 | }); | 144 | }); |
143 | } | 145 | } |
144 | }]; | 146 | }]; |
145 | } | 147 | } |
146 | 148 | ||
147 | @end | 149 | @end |
148 | 150 |
LifeLog/LifeLog/MyGroupViewController.xib
1 | <?xml version="1.0" encoding="UTF-8"?> | 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="13529" targetRuntime="iOS.CocoaTouch" propertyAccessControl="none" useAutolayout="YES" useTraitCollections="YES" colorMatched="YES"> |
3 | <device id="retina4_7" orientation="portrait"> | 3 | <device id="retina4_7" orientation="portrait"> |
4 | <adaptation id="fullscreen"/> | 4 | <adaptation id="fullscreen"/> |
5 | </device> | 5 | </device> |
6 | <dependencies> | 6 | <dependencies> |
7 | <plugIn identifier="com.apple.InterfaceBuilder.IBCocoaTouchPlugin" version="12086"/> | 7 | <deployment identifier="iOS"/> |
8 | <plugIn identifier="com.apple.InterfaceBuilder.IBCocoaTouchPlugin" version="13527"/> | ||
8 | <capability name="documents saved in the Xcode 8 format" minToolsVersion="8.0"/> | 9 | <capability name="documents saved in the Xcode 8 format" minToolsVersion="8.0"/> |
9 | </dependencies> | 10 | </dependencies> |
10 | <objects> | 11 | <objects> |
11 | <placeholder placeholderIdentifier="IBFilesOwner" id="-1" userLabel="File's Owner" customClass="MyGroupViewController"> | 12 | <placeholder placeholderIdentifier="IBFilesOwner" id="-1" userLabel="File's Owner" customClass="MyGroupViewController"> |
12 | <connections> | 13 | <connections> |
13 | <outlet property="btShowGrp" destination="MvK-5R-njL" id="bcb-N7-jbu"/> | 14 | <outlet property="btShowGrp" destination="MvK-5R-njL" id="bcb-N7-jbu"/> |
14 | <outlet property="btSwitch" destination="eBu-7L-nsx" id="od6-v0-6eh"/> | 15 | <outlet property="btSwitch" destination="eBu-7L-nsx" id="od6-v0-6eh"/> |
15 | <outlet property="lbbGrpActiveMode" destination="P1r-ft-imP" id="gw7-xu-kL1"/> | 16 | <outlet property="lbbGrpActiveMode" destination="P1r-ft-imP" id="gw7-xu-kL1"/> |
16 | <outlet property="lblGrpGoal" destination="ftA-wa-19F" id="YFk-py-xd2"/> | 17 | <outlet property="lblGrpGoal" destination="ftA-wa-19F" id="YFk-py-xd2"/> |
17 | <outlet property="lblGrpName" destination="xXv-SO-m4h" id="qik-wo-Usx"/> | 18 | <outlet property="lblGrpName" destination="xXv-SO-m4h" id="qik-wo-Usx"/> |
18 | <outlet property="tableBase" destination="ubS-v9-zCa" id="gea-9H-gpI"/> | 19 | <outlet property="tableBase" destination="ubS-v9-zCa" id="gea-9H-gpI"/> |
19 | <outlet property="tableGrp" destination="dtD-J5-dze" id="ahq-Cd-85X"/> | 20 | <outlet property="tableGrp" destination="dtD-J5-dze" id="ahq-Cd-85X"/> |
20 | <outlet property="view" destination="i5M-Pr-FkT" id="sfx-zR-JGt"/> | 21 | <outlet property="view" destination="i5M-Pr-FkT" id="sfx-zR-JGt"/> |
22 | <outlet property="viewHeader" destination="vxT-xe-7mV" id="Vdh-R8-aiJ"/> | ||
21 | </connections> | 23 | </connections> |
22 | </placeholder> | 24 | </placeholder> |
23 | <placeholder placeholderIdentifier="IBFirstResponder" id="-2" customClass="UIResponder"/> | 25 | <placeholder placeholderIdentifier="IBFirstResponder" id="-2" customClass="UIResponder"/> |
24 | <view clearsContextBeforeDrawing="NO" contentMode="scaleToFill" id="i5M-Pr-FkT"> | 26 | <view clearsContextBeforeDrawing="NO" contentMode="scaleToFill" id="i5M-Pr-FkT"> |
25 | <rect key="frame" x="0.0" y="0.0" width="375" height="667"/> | 27 | <rect key="frame" x="0.0" y="0.0" width="375" height="667"/> |
26 | <autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/> | 28 | <autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/> |
27 | <subviews> | 29 | <subviews> |
28 | <view contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="vxT-xe-7mV" userLabel="ViewHeader"> | 30 | <view contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="vxT-xe-7mV" userLabel="ViewHeader"> |
29 | <rect key="frame" x="0.0" y="0.0" width="375" height="46"/> | 31 | <rect key="frame" x="0.0" y="0.0" width="375" height="46"/> |
30 | <subviews> | 32 | <subviews> |
31 | <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="SNS" textAlignment="center" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="Txe-1I-61m" customClass="AutoTransLabel"> | 33 | <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="SNS" textAlignment="center" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="Txe-1I-61m" customClass="AutoTransLabel"> |
32 | <rect key="frame" x="0.0" y="0.0" width="375" height="46"/> | 34 | <rect key="frame" x="0.0" y="0.0" width="375" height="46"/> |
33 | <fontDescription key="fontDescription" type="system" pointSize="17"/> | 35 | <fontDescription key="fontDescription" type="system" pointSize="17"/> |
34 | <color key="textColor" white="1" alpha="1" colorSpace="calibratedWhite"/> | 36 | <color key="textColor" white="1" alpha="1" colorSpace="calibratedWhite"/> |
35 | <nil key="highlightedColor"/> | 37 | <nil key="highlightedColor"/> |
36 | <userDefinedRuntimeAttributes> | 38 | <userDefinedRuntimeAttributes> |
37 | <userDefinedRuntimeAttribute type="string" keyPath="localizeKey" value="lifelog.grDetail.title"/> | 39 | <userDefinedRuntimeAttribute type="string" keyPath="localizeKey" value="lifelog.grDetail.title"/> |
38 | </userDefinedRuntimeAttributes> | 40 | </userDefinedRuntimeAttributes> |
39 | </label> | 41 | </label> |
40 | <button opaque="NO" contentMode="scaleToFill" contentHorizontalAlignment="center" contentVerticalAlignment="center" lineBreakMode="middleTruncation" translatesAutoresizingMaskIntoConstraints="NO" id="DjI-qB-WTG"> | 42 | <button opaque="NO" contentMode="scaleToFill" contentHorizontalAlignment="center" contentVerticalAlignment="center" lineBreakMode="middleTruncation" translatesAutoresizingMaskIntoConstraints="NO" id="DjI-qB-WTG"> |
41 | <rect key="frame" x="0.0" y="5" width="70" height="36"/> | 43 | <rect key="frame" x="0.0" y="5" width="70" height="36"/> |
42 | <constraints> | 44 | <constraints> |
43 | <constraint firstAttribute="width" constant="70" id="Q1G-tI-sgx"/> | 45 | <constraint firstAttribute="width" constant="70" id="Q1G-tI-sgx"/> |
44 | </constraints> | 46 | </constraints> |
45 | <state key="normal" image="today_back_button"/> | 47 | <state key="normal" image="today_back_button"/> |
46 | <connections> | 48 | <connections> |
47 | <action selector="clickBack:" destination="-1" eventType="touchUpInside" id="93y-uZ-J2W"/> | 49 | <action selector="clickBack:" destination="-1" eventType="touchUpInside" id="93y-uZ-J2W"/> |
48 | </connections> | 50 | </connections> |
49 | </button> | 51 | </button> |
50 | <button opaque="NO" contentMode="scaleToFill" contentHorizontalAlignment="center" contentVerticalAlignment="center" lineBreakMode="middleTruncation" translatesAutoresizingMaskIntoConstraints="NO" id="7gh-nf-sKZ"> | 52 | <button opaque="NO" contentMode="scaleToFill" contentHorizontalAlignment="center" contentVerticalAlignment="center" lineBreakMode="middleTruncation" translatesAutoresizingMaskIntoConstraints="NO" id="7gh-nf-sKZ"> |
51 | <rect key="frame" x="330" y="0.0" width="45" height="46"/> | 53 | <rect key="frame" x="330" y="0.0" width="45" height="46"/> |
52 | <constraints> | 54 | <constraints> |
53 | <constraint firstAttribute="width" constant="45" id="Vw3-60-kvV"/> | 55 | <constraint firstAttribute="width" constant="45" id="Vw3-60-kvV"/> |
54 | </constraints> | 56 | </constraints> |
55 | <state key="normal" image="icon_menu"/> | 57 | <state key="normal" image="icon_menu"/> |
56 | </button> | 58 | </button> |
57 | </subviews> | 59 | </subviews> |
58 | <color key="backgroundColor" red="0.098039215690000001" green="0.098039215690000001" blue="0.098039215690000001" alpha="1" colorSpace="custom" customColorSpace="sRGB"/> | 60 | <color key="backgroundColor" red="0.0" green="0.0" blue="0.21960784310000001" alpha="1" colorSpace="custom" customColorSpace="sRGB"/> |
59 | <constraints> | 61 | <constraints> |
60 | <constraint firstAttribute="trailing" secondItem="7gh-nf-sKZ" secondAttribute="trailing" id="2JD-YU-WS2"/> | 62 | <constraint firstAttribute="trailing" secondItem="7gh-nf-sKZ" secondAttribute="trailing" id="2JD-YU-WS2"/> |
61 | <constraint firstItem="Txe-1I-61m" firstAttribute="leading" secondItem="vxT-xe-7mV" secondAttribute="leading" id="30c-J3-6ba"/> | 63 | <constraint firstItem="Txe-1I-61m" firstAttribute="leading" secondItem="vxT-xe-7mV" secondAttribute="leading" id="30c-J3-6ba"/> |
62 | <constraint firstAttribute="bottom" secondItem="7gh-nf-sKZ" secondAttribute="bottom" id="61g-Gv-ka0"/> | 64 | <constraint firstAttribute="bottom" secondItem="7gh-nf-sKZ" secondAttribute="bottom" id="61g-Gv-ka0"/> |
63 | <constraint firstAttribute="bottom" secondItem="Txe-1I-61m" secondAttribute="bottom" id="BZZ-wj-MGj"/> | 65 | <constraint firstAttribute="bottom" secondItem="Txe-1I-61m" secondAttribute="bottom" id="BZZ-wj-MGj"/> |
64 | <constraint firstItem="7gh-nf-sKZ" firstAttribute="top" secondItem="vxT-xe-7mV" secondAttribute="top" id="DKT-Ea-U3k"/> | 66 | <constraint firstItem="7gh-nf-sKZ" firstAttribute="top" secondItem="vxT-xe-7mV" secondAttribute="top" id="DKT-Ea-U3k"/> |
65 | <constraint firstAttribute="trailing" secondItem="Txe-1I-61m" secondAttribute="trailing" id="WA1-1W-49C"/> | 67 | <constraint firstAttribute="trailing" secondItem="Txe-1I-61m" secondAttribute="trailing" id="WA1-1W-49C"/> |
66 | <constraint firstItem="DjI-qB-WTG" firstAttribute="leading" secondItem="vxT-xe-7mV" secondAttribute="leading" id="tA3-JF-Kjj"/> | 68 | <constraint firstItem="DjI-qB-WTG" firstAttribute="leading" secondItem="vxT-xe-7mV" secondAttribute="leading" id="tA3-JF-Kjj"/> |
67 | <constraint firstAttribute="bottom" secondItem="DjI-qB-WTG" secondAttribute="bottom" constant="5" id="uFc-I1-M2c"/> | 69 | <constraint firstAttribute="bottom" secondItem="DjI-qB-WTG" secondAttribute="bottom" constant="5" id="uFc-I1-M2c"/> |
68 | <constraint firstItem="Txe-1I-61m" firstAttribute="top" secondItem="vxT-xe-7mV" secondAttribute="top" id="ucO-rK-wAV"/> | 70 | <constraint firstItem="Txe-1I-61m" firstAttribute="top" secondItem="vxT-xe-7mV" secondAttribute="top" id="ucO-rK-wAV"/> |
69 | <constraint firstItem="DjI-qB-WTG" firstAttribute="top" secondItem="vxT-xe-7mV" secondAttribute="top" constant="5" id="vR3-xv-3hD"/> | 71 | <constraint firstItem="DjI-qB-WTG" firstAttribute="top" secondItem="vxT-xe-7mV" secondAttribute="top" constant="5" id="vR3-xv-3hD"/> |
70 | <constraint firstAttribute="height" constant="46" id="yIJ-Mu-bPA"/> | 72 | <constraint firstAttribute="height" constant="46" id="yIJ-Mu-bPA"/> |
71 | </constraints> | 73 | </constraints> |
72 | </view> | 74 | </view> |
73 | <view contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="hhh-nO-yn5"> | 75 | <view contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="hhh-nO-yn5"> |
74 | <rect key="frame" x="15" y="54" width="345" height="36"/> | 76 | <rect key="frame" x="15" y="54" width="345" height="36"/> |
75 | <subviews> | 77 | <subviews> |
76 | <button opaque="NO" contentMode="scaleToFill" contentHorizontalAlignment="center" contentVerticalAlignment="center" lineBreakMode="middleTruncation" translatesAutoresizingMaskIntoConstraints="NO" id="MvK-5R-njL"> | 78 | <button opaque="NO" contentMode="scaleToFill" contentHorizontalAlignment="center" contentVerticalAlignment="center" lineBreakMode="middleTruncation" translatesAutoresizingMaskIntoConstraints="NO" id="MvK-5R-njL"> |
77 | <rect key="frame" x="289" y="0.0" width="56" height="36"/> | 79 | <rect key="frame" x="289" y="0.0" width="56" height="36"/> |
78 | <constraints> | 80 | <constraints> |
79 | <constraint firstAttribute="width" constant="56" id="l8Q-On-RNy"/> | 81 | <constraint firstAttribute="width" constant="56" id="l8Q-On-RNy"/> |
80 | </constraints> | 82 | </constraints> |
81 | <state key="normal" backgroundImage="arrow_down"/> | 83 | <state key="normal" backgroundImage="arrow_down"/> |
82 | <connections> | 84 | <connections> |
83 | <action selector="clickShowGrp:" destination="-1" eventType="touchUpInside" id="yfd-Yu-fTF"/> | 85 | <action selector="clickShowGrp:" destination="-1" eventType="touchUpInside" id="yfd-Yu-fTF"/> |
84 | </connections> | 86 | </connections> |
85 | </button> | 87 | </button> |
86 | <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="No group" textAlignment="natural" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="xXv-SO-m4h"> | 88 | <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="No group" textAlignment="natural" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="xXv-SO-m4h"> |
87 | <rect key="frame" x="5" y="0.0" width="284" height="36"/> | 89 | <rect key="frame" x="5" y="0.0" width="284" height="36"/> |
88 | <fontDescription key="fontDescription" type="system" pointSize="15"/> | 90 | <fontDescription key="fontDescription" type="system" pointSize="15"/> |
89 | <nil key="textColor"/> | 91 | <nil key="textColor"/> |
90 | <nil key="highlightedColor"/> | 92 | <nil key="highlightedColor"/> |
91 | </label> | 93 | </label> |
92 | </subviews> | 94 | </subviews> |
93 | <color key="backgroundColor" white="1" alpha="1" colorSpace="calibratedWhite"/> | 95 | <color key="backgroundColor" white="1" alpha="1" colorSpace="calibratedWhite"/> |
94 | <constraints> | 96 | <constraints> |
95 | <constraint firstAttribute="trailing" secondItem="MvK-5R-njL" secondAttribute="trailing" id="IS8-5J-ypb"/> | 97 | <constraint firstAttribute="trailing" secondItem="MvK-5R-njL" secondAttribute="trailing" id="IS8-5J-ypb"/> |
96 | <constraint firstAttribute="bottom" secondItem="MvK-5R-njL" secondAttribute="bottom" id="IVS-f9-RjH"/> | 98 | <constraint firstAttribute="bottom" secondItem="MvK-5R-njL" secondAttribute="bottom" id="IVS-f9-RjH"/> |
97 | <constraint firstAttribute="bottom" secondItem="xXv-SO-m4h" secondAttribute="bottom" id="Ino-7v-CKz"/> | 99 | <constraint firstAttribute="bottom" secondItem="xXv-SO-m4h" secondAttribute="bottom" id="Ino-7v-CKz"/> |
98 | <constraint firstItem="MvK-5R-njL" firstAttribute="top" secondItem="hhh-nO-yn5" secondAttribute="top" id="NlH-tz-ByC"/> | 100 | <constraint firstItem="MvK-5R-njL" firstAttribute="top" secondItem="hhh-nO-yn5" secondAttribute="top" id="NlH-tz-ByC"/> |
99 | <constraint firstAttribute="height" constant="36" id="O8T-vH-tg6"/> | 101 | <constraint firstAttribute="height" constant="36" id="O8T-vH-tg6"/> |
100 | <constraint firstItem="MvK-5R-njL" firstAttribute="leading" secondItem="xXv-SO-m4h" secondAttribute="trailing" id="V51-fg-KCf"/> | 102 | <constraint firstItem="MvK-5R-njL" firstAttribute="leading" secondItem="xXv-SO-m4h" secondAttribute="trailing" id="V51-fg-KCf"/> |
101 | <constraint firstItem="xXv-SO-m4h" firstAttribute="leading" secondItem="hhh-nO-yn5" secondAttribute="leading" constant="5" id="eY6-uq-qWx"/> | 103 | <constraint firstItem="xXv-SO-m4h" firstAttribute="leading" secondItem="hhh-nO-yn5" secondAttribute="leading" constant="5" id="eY6-uq-qWx"/> |
102 | <constraint firstItem="xXv-SO-m4h" firstAttribute="top" secondItem="hhh-nO-yn5" secondAttribute="top" id="l3a-Th-4Kb"/> | 104 | <constraint firstItem="xXv-SO-m4h" firstAttribute="top" secondItem="hhh-nO-yn5" secondAttribute="top" id="l3a-Th-4Kb"/> |
103 | </constraints> | 105 | </constraints> |
104 | <userDefinedRuntimeAttributes> | 106 | <userDefinedRuntimeAttributes> |
105 | <userDefinedRuntimeAttribute type="number" keyPath="layer.cornerRadius"> | 107 | <userDefinedRuntimeAttribute type="number" keyPath="layer.cornerRadius"> |
106 | <integer key="value" value="5"/> | 108 | <integer key="value" value="5"/> |
107 | </userDefinedRuntimeAttribute> | 109 | </userDefinedRuntimeAttribute> |
108 | </userDefinedRuntimeAttributes> | 110 | </userDefinedRuntimeAttributes> |
109 | </view> | 111 | </view> |
110 | <view contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="SNe-1B-nwV"> | 112 | <view contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="SNe-1B-nwV"> |
111 | <rect key="frame" x="15" y="105" width="345" height="105"/> | 113 | <rect key="frame" x="15" y="105" width="345" height="105"/> |
112 | <subviews> | 114 | <subviews> |
113 | <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="グループ VMAP アメリカルート61完走" textAlignment="natural" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="hyY-rU-WJx"> | 115 | <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="グループ VMAP アメリカルート61完走" textAlignment="natural" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="hyY-rU-WJx"> |
114 | <rect key="frame" x="8" y="8" width="329" height="20"/> | 116 | <rect key="frame" x="8" y="8" width="329" height="20"/> |
115 | <constraints> | 117 | <constraints> |
116 | <constraint firstAttribute="height" constant="20" id="dx4-Lw-gRP"/> | 118 | <constraint firstAttribute="height" constant="20" id="dx4-Lw-gRP"/> |
117 | </constraints> | 119 | </constraints> |
118 | <fontDescription key="fontDescription" type="system" pointSize="14"/> | 120 | <fontDescription key="fontDescription" type="system" pointSize="14"/> |
119 | <nil key="textColor"/> | 121 | <nil key="textColor"/> |
120 | <nil key="highlightedColor"/> | 122 | <nil key="highlightedColor"/> |
121 | </label> | 123 | </label> |
122 | <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="" textAlignment="natural" lineBreakMode="tailTruncation" numberOfLines="0" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="P1r-ft-imP"> | 124 | <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="" textAlignment="natural" lineBreakMode="tailTruncation" numberOfLines="0" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="P1r-ft-imP"> |
123 | <rect key="frame" x="8" y="36" width="155" height="61"/> | 125 | <rect key="frame" x="8" y="36" width="155" height="61"/> |
124 | <constraints> | 126 | <constraints> |
125 | <constraint firstAttribute="height" relation="greaterThanOrEqual" constant="61" id="6m3-4u-yjQ"/> | 127 | <constraint firstAttribute="height" relation="greaterThanOrEqual" constant="61" id="6m3-4u-yjQ"/> |
126 | <constraint firstAttribute="width" constant="155" id="bJa-4P-B84"/> | 128 | <constraint firstAttribute="width" constant="155" id="bJa-4P-B84"/> |
127 | </constraints> | 129 | </constraints> |
128 | <fontDescription key="fontDescription" type="system" pointSize="14"/> | 130 | <fontDescription key="fontDescription" type="system" pointSize="14"/> |
129 | <nil key="textColor"/> | 131 | <nil key="textColor"/> |
130 | <nil key="highlightedColor"/> | 132 | <nil key="highlightedColor"/> |
131 | </label> | 133 | </label> |
132 | <button opaque="NO" contentMode="scaleToFill" contentHorizontalAlignment="center" contentVerticalAlignment="center" buttonType="roundedRect" lineBreakMode="middleTruncation" translatesAutoresizingMaskIntoConstraints="NO" id="fXA-Zh-ABB" customClass="AutoTransButton"> | 134 | <button opaque="NO" contentMode="scaleToFill" contentHorizontalAlignment="center" contentVerticalAlignment="center" buttonType="roundedRect" lineBreakMode="middleTruncation" translatesAutoresizingMaskIntoConstraints="NO" id="fXA-Zh-ABB" customClass="AutoTransButton"> |
133 | <rect key="frame" x="171" y="67" width="166" height="30"/> | 135 | <rect key="frame" x="171" y="67" width="166" height="30"/> |
134 | <color key="backgroundColor" white="0.66666666666666663" alpha="1" colorSpace="calibratedWhite"/> | 136 | <color key="backgroundColor" white="0.66666666666666663" alpha="1" colorSpace="calibratedWhite"/> |
135 | <constraints> | 137 | <constraints> |
136 | <constraint firstAttribute="height" constant="30" id="4bu-TU-hhR"/> | 138 | <constraint firstAttribute="height" constant="30" id="4bu-TU-hhR"/> |
137 | <constraint firstAttribute="width" constant="166" id="hcm-Nd-TE4"/> | 139 | <constraint firstAttribute="width" constant="166" id="hcm-Nd-TE4"/> |
138 | </constraints> | 140 | </constraints> |
139 | <state key="normal" title="VMAP"> | 141 | <state key="normal" title="VMAP"> |
140 | <color key="titleColor" white="1" alpha="1" colorSpace="calibratedWhite"/> | 142 | <color key="titleColor" white="1" alpha="1" colorSpace="calibratedWhite"/> |
141 | </state> | 143 | </state> |
142 | <userDefinedRuntimeAttributes> | 144 | <userDefinedRuntimeAttributes> |
143 | <userDefinedRuntimeAttribute type="number" keyPath="layer.cornerRadius"> | 145 | <userDefinedRuntimeAttribute type="number" keyPath="layer.cornerRadius"> |
144 | <integer key="value" value="10"/> | 146 | <integer key="value" value="10"/> |
145 | </userDefinedRuntimeAttribute> | 147 | </userDefinedRuntimeAttribute> |
146 | </userDefinedRuntimeAttributes> | 148 | </userDefinedRuntimeAttributes> |
147 | </button> | 149 | </button> |
148 | </subviews> | 150 | </subviews> |
149 | <color key="backgroundColor" white="1" alpha="1" colorSpace="calibratedWhite"/> | 151 | <color key="backgroundColor" white="1" alpha="1" colorSpace="calibratedWhite"/> |
150 | <constraints> | 152 | <constraints> |
151 | <constraint firstItem="P1r-ft-imP" firstAttribute="leading" secondItem="SNe-1B-nwV" secondAttribute="leading" constant="8" id="PCO-gJ-aUC"/> | 153 | <constraint firstItem="P1r-ft-imP" firstAttribute="leading" secondItem="SNe-1B-nwV" secondAttribute="leading" constant="8" id="PCO-gJ-aUC"/> |
152 | <constraint firstItem="P1r-ft-imP" firstAttribute="top" secondItem="hyY-rU-WJx" secondAttribute="bottom" constant="8" id="TFE-rm-YuC"/> | 154 | <constraint firstItem="P1r-ft-imP" firstAttribute="top" secondItem="hyY-rU-WJx" secondAttribute="bottom" constant="8" id="TFE-rm-YuC"/> |
153 | <constraint firstItem="hyY-rU-WJx" firstAttribute="leading" secondItem="SNe-1B-nwV" secondAttribute="leading" constant="8" id="Urc-sV-0AF"/> | 155 | <constraint firstItem="hyY-rU-WJx" firstAttribute="leading" secondItem="SNe-1B-nwV" secondAttribute="leading" constant="8" id="Urc-sV-0AF"/> |
154 | <constraint firstAttribute="bottom" secondItem="P1r-ft-imP" secondAttribute="bottom" constant="8" id="YYl-bN-XH2"/> | 156 | <constraint firstAttribute="bottom" secondItem="P1r-ft-imP" secondAttribute="bottom" constant="8" id="YYl-bN-XH2"/> |
155 | <constraint firstItem="hyY-rU-WJx" firstAttribute="top" secondItem="SNe-1B-nwV" secondAttribute="top" constant="8" id="a68-ja-X4x"/> | 157 | <constraint firstItem="hyY-rU-WJx" firstAttribute="top" secondItem="SNe-1B-nwV" secondAttribute="top" constant="8" id="a68-ja-X4x"/> |
156 | <constraint firstAttribute="trailing" secondItem="fXA-Zh-ABB" secondAttribute="trailing" constant="8" id="hNz-cE-JQc"/> | 158 | <constraint firstAttribute="trailing" secondItem="fXA-Zh-ABB" secondAttribute="trailing" constant="8" id="hNz-cE-JQc"/> |
157 | <constraint firstAttribute="trailing" secondItem="hyY-rU-WJx" secondAttribute="trailing" constant="8" id="tHp-Xw-Emj"/> | 159 | <constraint firstAttribute="trailing" secondItem="hyY-rU-WJx" secondAttribute="trailing" constant="8" id="tHp-Xw-Emj"/> |
158 | <constraint firstAttribute="bottom" secondItem="fXA-Zh-ABB" secondAttribute="bottom" constant="8" id="vRs-Al-kct"/> | 160 | <constraint firstAttribute="bottom" secondItem="fXA-Zh-ABB" secondAttribute="bottom" constant="8" id="vRs-Al-kct"/> |
159 | </constraints> | 161 | </constraints> |
160 | </view> | 162 | </view> |
161 | <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="" textAlignment="natural" lineBreakMode="tailTruncation" numberOfLines="0" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="ftA-wa-19F"> | 163 | <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="" textAlignment="natural" lineBreakMode="tailTruncation" numberOfLines="0" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="ftA-wa-19F"> |
162 | <rect key="frame" x="15" y="218" width="345" height="40"/> | 164 | <rect key="frame" x="15" y="218" width="345" height="40"/> |
163 | <constraints> | 165 | <constraints> |
164 | <constraint firstAttribute="height" relation="greaterThanOrEqual" constant="40" id="sns-tn-c0d"/> | 166 | <constraint firstAttribute="height" relation="greaterThanOrEqual" constant="40" id="sns-tn-c0d"/> |
165 | </constraints> | 167 | </constraints> |
166 | <fontDescription key="fontDescription" type="system" pointSize="14"/> | 168 | <fontDescription key="fontDescription" type="system" pointSize="14"/> |
167 | <color key="textColor" white="1" alpha="1" colorSpace="calibratedWhite"/> | 169 | <color key="textColor" white="1" alpha="1" colorSpace="calibratedWhite"/> |
168 | <nil key="highlightedColor"/> | 170 | <nil key="highlightedColor"/> |
169 | </label> | 171 | </label> |
170 | <button opaque="NO" contentMode="scaleToFill" contentHorizontalAlignment="center" contentVerticalAlignment="center" buttonType="roundedRect" lineBreakMode="middleTruncation" translatesAutoresizingMaskIntoConstraints="NO" id="eBu-7L-nsx" customClass="AutoTransButton"> | 172 | <button opaque="NO" contentMode="scaleToFill" contentHorizontalAlignment="center" contentVerticalAlignment="center" buttonType="roundedRect" lineBreakMode="middleTruncation" translatesAutoresizingMaskIntoConstraints="NO" id="eBu-7L-nsx" customClass="AutoTransButton"> |
171 | <rect key="frame" x="194" y="268" width="166" height="30"/> | 173 | <rect key="frame" x="194" y="268" width="166" height="30"/> |
172 | <color key="backgroundColor" white="0.66666666666666663" alpha="1" colorSpace="calibratedWhite"/> | 174 | <color key="backgroundColor" white="0.66666666666666663" alpha="1" colorSpace="calibratedWhite"/> |
173 | <constraints> | 175 | <constraints> |
174 | <constraint firstAttribute="width" constant="166" id="Rrn-lf-raV"/> | 176 | <constraint firstAttribute="width" constant="166" id="Rrn-lf-raV"/> |
175 | <constraint firstAttribute="height" constant="30" id="y2E-RH-aan"/> | 177 | <constraint firstAttribute="height" constant="30" id="y2E-RH-aan"/> |
176 | </constraints> | 178 | </constraints> |
177 | <state key="normal" title="メンバー"> | 179 | <state key="normal" title="メンバー"> |
178 | <color key="titleColor" white="1" alpha="1" colorSpace="calibratedWhite"/> | 180 | <color key="titleColor" white="1" alpha="1" colorSpace="calibratedWhite"/> |
179 | </state> | 181 | </state> |
180 | <userDefinedRuntimeAttributes> | 182 | <userDefinedRuntimeAttributes> |
181 | <userDefinedRuntimeAttribute type="number" keyPath="layer.cornerRadius"> | 183 | <userDefinedRuntimeAttribute type="number" keyPath="layer.cornerRadius"> |
182 | <integer key="value" value="10"/> | 184 | <integer key="value" value="10"/> |
183 | </userDefinedRuntimeAttribute> | 185 | </userDefinedRuntimeAttribute> |
184 | </userDefinedRuntimeAttributes> | 186 | </userDefinedRuntimeAttributes> |
185 | <connections> | 187 | <connections> |
186 | <action selector="clickSwitch:" destination="-1" eventType="touchUpInside" id="B7a-Hl-IlY"/> | 188 | <action selector="clickSwitch:" destination="-1" eventType="touchUpInside" id="B7a-Hl-IlY"/> |
187 | </connections> | 189 | </connections> |
188 | </button> | 190 | </button> |
189 | <tableView clipsSubviews="YES" contentMode="scaleToFill" alwaysBounceVertical="YES" style="plain" separatorStyle="none" rowHeight="100" sectionHeaderHeight="28" sectionFooterHeight="28" translatesAutoresizingMaskIntoConstraints="NO" id="ubS-v9-zCa"> | 191 | <tableView clipsSubviews="YES" contentMode="scaleToFill" alwaysBounceVertical="YES" style="plain" separatorStyle="none" rowHeight="100" sectionHeaderHeight="28" sectionFooterHeight="28" translatesAutoresizingMaskIntoConstraints="NO" id="ubS-v9-zCa"> |
190 | <rect key="frame" x="0.0" y="313" width="375" height="304"/> | 192 | <rect key="frame" x="0.0" y="313" width="375" height="304"/> |
191 | <color key="backgroundColor" white="0.0" alpha="0.0" colorSpace="calibratedWhite"/> | 193 | <color key="backgroundColor" white="0.0" alpha="0.0" colorSpace="calibratedWhite"/> |
192 | <connections> | 194 | <connections> |
193 | <outlet property="dataSource" destination="-1" id="HIG-w5-mXN"/> | 195 | <outlet property="dataSource" destination="-1" id="HIG-w5-mXN"/> |
194 | <outlet property="delegate" destination="-1" id="GIa-bX-Av9"/> | 196 | <outlet property="delegate" destination="-1" id="GIa-bX-Av9"/> |
195 | </connections> | 197 | </connections> |
196 | </tableView> | 198 | </tableView> |
197 | <tableView hidden="YES" clipsSubviews="YES" contentMode="scaleToFill" alwaysBounceVertical="YES" style="plain" separatorStyle="default" rowHeight="35" sectionHeaderHeight="28" sectionFooterHeight="28" translatesAutoresizingMaskIntoConstraints="NO" id="dtD-J5-dze"> | 199 | <tableView hidden="YES" clipsSubviews="YES" contentMode="scaleToFill" alwaysBounceVertical="YES" style="plain" separatorStyle="default" rowHeight="35" sectionHeaderHeight="28" sectionFooterHeight="28" translatesAutoresizingMaskIntoConstraints="NO" id="dtD-J5-dze"> |
198 | <rect key="frame" x="15" y="91" width="345" height="140"/> | 200 | <rect key="frame" x="15" y="91" width="345" height="140"/> |
199 | <color key="backgroundColor" white="1" alpha="1" colorSpace="calibratedWhite"/> | 201 | <color key="backgroundColor" white="1" alpha="1" colorSpace="calibratedWhite"/> |
200 | <constraints> | 202 | <constraints> |
201 | <constraint firstAttribute="height" constant="140" id="CrG-Ni-f6b"/> | 203 | <constraint firstAttribute="height" constant="140" id="CrG-Ni-f6b"/> |
202 | </constraints> | 204 | </constraints> |
203 | <connections> | 205 | <connections> |
204 | <outlet property="dataSource" destination="-1" id="2bH-mm-vKH"/> | 206 | <outlet property="dataSource" destination="-1" id="2bH-mm-vKH"/> |
205 | <outlet property="delegate" destination="-1" id="9tr-mh-5Ir"/> | 207 | <outlet property="delegate" destination="-1" id="9tr-mh-5Ir"/> |
206 | </connections> | 208 | </connections> |
207 | </tableView> | 209 | </tableView> |
208 | </subviews> | 210 | </subviews> |
209 | <color key="backgroundColor" white="0.0" alpha="1" colorSpace="calibratedWhite"/> | 211 | <color key="backgroundColor" red="0.0" green="0.0" blue="0.2196078431372549" alpha="1" colorSpace="custom" customColorSpace="sRGB"/> |
210 | <constraints> | 212 | <constraints> |
211 | <constraint firstItem="ftA-wa-19F" firstAttribute="top" secondItem="SNe-1B-nwV" secondAttribute="bottom" constant="8" id="4iN-BW-Eaa"/> | 213 | <constraint firstItem="ftA-wa-19F" firstAttribute="top" secondItem="SNe-1B-nwV" secondAttribute="bottom" constant="8" id="4iN-BW-Eaa"/> |
212 | <constraint firstItem="vxT-xe-7mV" firstAttribute="top" secondItem="i5M-Pr-FkT" secondAttribute="top" id="5np-jI-7iK"/> | 214 | <constraint firstItem="vxT-xe-7mV" firstAttribute="top" secondItem="i5M-Pr-FkT" secondAttribute="top" priority="750" id="5np-jI-7iK"/> |
213 | <constraint firstAttribute="trailing" secondItem="eBu-7L-nsx" secondAttribute="trailing" constant="15" id="AkN-Cv-ULu"/> | 215 | <constraint firstAttribute="trailing" secondItem="eBu-7L-nsx" secondAttribute="trailing" constant="15" id="AkN-Cv-ULu"/> |
214 | <constraint firstItem="SNe-1B-nwV" firstAttribute="top" secondItem="hhh-nO-yn5" secondAttribute="bottom" constant="15" id="BL0-Cv-jlz"/> | 216 | <constraint firstItem="SNe-1B-nwV" firstAttribute="top" secondItem="hhh-nO-yn5" secondAttribute="bottom" constant="15" id="BL0-Cv-jlz"/> |
215 | <constraint firstItem="ubS-v9-zCa" firstAttribute="leading" secondItem="i5M-Pr-FkT" secondAttribute="leading" id="Dt8-xl-lI8"/> | 217 | <constraint firstItem="ubS-v9-zCa" firstAttribute="leading" secondItem="i5M-Pr-FkT" secondAttribute="leading" id="Dt8-xl-lI8"/> |
216 | <constraint firstAttribute="trailing" secondItem="SNe-1B-nwV" secondAttribute="trailing" constant="15" id="QiL-ts-ryc"/> | 218 | <constraint firstAttribute="trailing" secondItem="SNe-1B-nwV" secondAttribute="trailing" constant="15" id="QiL-ts-ryc"/> |
217 | <constraint firstItem="dtD-J5-dze" firstAttribute="top" secondItem="hhh-nO-yn5" secondAttribute="bottom" constant="1" id="QzJ-aS-NQ0"/> | 219 | <constraint firstItem="dtD-J5-dze" firstAttribute="top" secondItem="hhh-nO-yn5" secondAttribute="bottom" constant="1" id="QzJ-aS-NQ0"/> |
218 | <constraint firstItem="SNe-1B-nwV" firstAttribute="leading" secondItem="i5M-Pr-FkT" secondAttribute="leading" constant="15" id="T4b-fq-Gc8"/> | 220 | <constraint firstItem="SNe-1B-nwV" firstAttribute="leading" secondItem="i5M-Pr-FkT" secondAttribute="leading" constant="15" id="T4b-fq-Gc8"/> |
219 | <constraint firstAttribute="trailing" secondItem="hhh-nO-yn5" secondAttribute="trailing" constant="15" id="YB3-2b-4yx"/> | 221 | <constraint firstAttribute="trailing" secondItem="hhh-nO-yn5" secondAttribute="trailing" constant="15" id="YB3-2b-4yx"/> |
220 | <constraint firstAttribute="bottom" secondItem="ubS-v9-zCa" secondAttribute="bottom" constant="50" id="ZNH-0B-rWz"/> | 222 | <constraint firstAttribute="bottom" secondItem="ubS-v9-zCa" secondAttribute="bottom" constant="50" id="ZNH-0B-rWz"/> |
221 | <constraint firstItem="ftA-wa-19F" firstAttribute="leading" secondItem="i5M-Pr-FkT" secondAttribute="leading" constant="15" id="bnx-K2-jVS"/> | 223 | <constraint firstItem="ftA-wa-19F" firstAttribute="leading" secondItem="i5M-Pr-FkT" secondAttribute="leading" constant="15" id="bnx-K2-jVS"/> |
222 | <constraint firstAttribute="trailing" secondItem="ubS-v9-zCa" secondAttribute="trailing" id="bsK-wi-RYU"/> | 224 | <constraint firstAttribute="trailing" secondItem="ubS-v9-zCa" secondAttribute="trailing" id="bsK-wi-RYU"/> |
223 | <constraint firstAttribute="trailing" secondItem="vxT-xe-7mV" secondAttribute="trailing" id="eld-fc-V95"/> | 225 | <constraint firstAttribute="trailing" secondItem="vxT-xe-7mV" secondAttribute="trailing" id="eld-fc-V95"/> |
224 | <constraint firstItem="hhh-nO-yn5" firstAttribute="leading" secondItem="i5M-Pr-FkT" secondAttribute="leading" constant="15" id="gDN-Hr-2vm"/> | 226 | <constraint firstItem="hhh-nO-yn5" firstAttribute="leading" secondItem="i5M-Pr-FkT" secondAttribute="leading" constant="15" id="gDN-Hr-2vm"/> |
225 | <constraint firstItem="vxT-xe-7mV" firstAttribute="leading" secondItem="i5M-Pr-FkT" secondAttribute="leading" id="iBy-99-6Ky"/> | 227 | <constraint firstItem="vxT-xe-7mV" firstAttribute="leading" secondItem="i5M-Pr-FkT" secondAttribute="leading" id="iBy-99-6Ky"/> |
226 | <constraint firstItem="dtD-J5-dze" firstAttribute="leading" secondItem="i5M-Pr-FkT" secondAttribute="leading" constant="15" id="ie5-ll-WkY"/> | 228 | <constraint firstItem="dtD-J5-dze" firstAttribute="leading" secondItem="i5M-Pr-FkT" secondAttribute="leading" constant="15" id="ie5-ll-WkY"/> |
227 | <constraint firstAttribute="trailing" secondItem="ftA-wa-19F" secondAttribute="trailing" constant="15" id="jaz-L9-glj"/> | 229 | <constraint firstAttribute="trailing" secondItem="ftA-wa-19F" secondAttribute="trailing" constant="15" id="jaz-L9-glj"/> |
228 | <constraint firstItem="eBu-7L-nsx" firstAttribute="top" secondItem="ftA-wa-19F" secondAttribute="bottom" constant="10" id="lF2-iL-Xa6"/> | 230 | <constraint firstItem="eBu-7L-nsx" firstAttribute="top" secondItem="ftA-wa-19F" secondAttribute="bottom" constant="10" id="lF2-iL-Xa6"/> |
229 | <constraint firstItem="ubS-v9-zCa" firstAttribute="top" secondItem="eBu-7L-nsx" secondAttribute="bottom" constant="15" id="ofF-9P-pq9"/> | 231 | <constraint firstItem="ubS-v9-zCa" firstAttribute="top" secondItem="eBu-7L-nsx" secondAttribute="bottom" constant="15" id="ofF-9P-pq9"/> |
230 | <constraint firstItem="hhh-nO-yn5" firstAttribute="top" secondItem="vxT-xe-7mV" secondAttribute="bottom" constant="8" id="qIL-RX-3zl"/> | 232 | <constraint firstItem="hhh-nO-yn5" firstAttribute="top" secondItem="vxT-xe-7mV" secondAttribute="bottom" constant="8" id="qIL-RX-3zl"/> |
231 | <constraint firstAttribute="trailing" secondItem="dtD-J5-dze" secondAttribute="trailing" constant="15" id="uHa-ot-bT0"/> | 233 | <constraint firstAttribute="trailing" secondItem="dtD-J5-dze" secondAttribute="trailing" constant="15" id="uHa-ot-bT0"/> |
232 | </constraints> | 234 | </constraints> |
233 | <point key="canvasLocation" x="24.5" y="52.5"/> | 235 | <point key="canvasLocation" x="24.5" y="52.5"/> |
234 | </view> | 236 | </view> |
235 | </objects> | 237 | </objects> |
236 | <resources> | 238 | <resources> |
237 | <image name="arrow_down" width="28" height="18"/> | 239 | <image name="arrow_down" width="28" height="18"/> |
238 | <image name="icon_menu" width="30" height="30"/> | 240 | <image name="icon_menu" width="30" height="30"/> |
239 | <image name="today_back_button" width="73" height="37"/> | 241 | <image name="today_back_button" width="73" height="37"/> |
240 | </resources> | 242 | </resources> |
241 | </document> | 243 | </document> |
242 | 244 |
LifeLog/LifeLog/RankingTableViewCell.h
1 | // | 1 | // |
2 | // RankingTableViewCell.h | 2 | // RankingTableViewCell.h |
3 | // LifeLog | 3 | // LifeLog |
4 | // | 4 | // |
5 | // Created by nvtu on 8/8/17. | 5 | // Created by nvtu on 8/8/17. |
6 | // Copyright © 2017 PhongNV. All rights reserved. | 6 | // Copyright © 2017 PhongNV. All rights reserved. |
7 | // | 7 | // |
8 | 8 | ||
9 | #import <UIKit/UIKit.h> | 9 | #import <UIKit/UIKit.h> |
10 | #import "RankingObject.h" | 10 | #import "RankingObject.h" |
11 | 11 | ||
12 | @interface RankingTableViewCell : UITableViewCell | 12 | @interface RankingTableViewCell : UITableViewCell |
13 | @property (weak, nonatomic) IBOutlet UILabel *lblIndex; | ||
14 | @property (weak, nonatomic) IBOutlet UILabel *lblName; | 13 | @property (weak, nonatomic) IBOutlet UILabel *lblName; |
15 | @property (weak, nonatomic) IBOutlet UILabel *lblStep; | 14 | @property (weak, nonatomic) IBOutlet UILabel *lblStep; |
16 | @property (weak, nonatomic) IBOutlet UILabel *lblTime; | 15 | @property (weak, nonatomic) IBOutlet UILabel *lblTime; |
17 | @property (weak, nonatomic) IBOutlet UILabel *lblDistance; | 16 | @property (weak, nonatomic) IBOutlet UILabel *lblDistance; |
18 | 17 | ||
18 | @property (weak, nonatomic) IBOutlet UIImageView *imgRank; | ||
19 | @property (weak, nonatomic) IBOutlet UIImageView *imgAvatar; | 19 | @property (weak, nonatomic) IBOutlet UIImageView *imgAvatar; |
20 | 20 | ||
21 | -(void) setRankingData : (RankingObject *) object; | 21 | -(void) setRankingData : (RankingObject *) object; |
22 | 22 | ||
23 | @end | 23 | @end |
LifeLog/LifeLog/RankingTableViewCell.m
1 | // | 1 | // |
2 | // RankingTableViewCell.m | 2 | // RankingTableViewCell.m |
3 | // LifeLog | 3 | // LifeLog |
4 | // | 4 | // |
5 | // Created by nvtu on 8/8/17. | 5 | // Created by nvtu on 8/8/17. |
6 | // Copyright © 2017 PhongNV. All rights reserved. | 6 | // Copyright © 2017 PhongNV. All rights reserved. |
7 | // | 7 | // |
8 | 8 | ||
9 | #import "RankingTableViewCell.h" | 9 | #import "RankingTableViewCell.h" |
10 | #import <SDWebImage/UIImageView+WebCache.h> | 10 | #import <SDWebImage/UIImageView+WebCache.h> |
11 | 11 | ||
12 | #import "Utilities.h" | 12 | #import "Utilities.h" |
13 | @implementation RankingTableViewCell | 13 | @implementation RankingTableViewCell |
14 | 14 | ||
15 | - (void)awakeFromNib { | 15 | - (void)awakeFromNib { |
16 | [super awakeFromNib]; | 16 | [super awakeFromNib]; |
17 | // Initialization code | 17 | // Initialization code |
18 | } | 18 | } |
19 | 19 | ||
20 | - (void)setSelected:(BOOL)selected animated:(BOOL)animated { | 20 | - (void)setSelected:(BOOL)selected animated:(BOOL)animated { |
21 | [super setSelected:selected animated:animated]; | 21 | [super setSelected:selected animated:animated]; |
22 | 22 | ||
23 | // Configure the view for the selected state | 23 | // Configure the view for the selected state |
24 | } | 24 | } |
25 | 25 | ||
26 | -(void) setRankingData : (RankingObject *) object { | 26 | -(void) setRankingData : (RankingObject *) object { |
27 | if(object.avatar && ![object.avatar isKindOfClass:[NSNull class]]) { | 27 | if(object.avatar && ![object.avatar isKindOfClass:[NSNull class]]) { |
28 | [self.imgAvatar sd_setImageWithURL:[NSURL URLWithString:[Utilities getImageLink:object.avatar]]]; | 28 | [self.imgAvatar sd_setImageWithURL:[NSURL URLWithString:[Utilities getImageLink:object.avatar]]]; |
29 | } | 29 | } |
30 | else { | 30 | else { |
31 | [self.imgAvatar setImage:[UIImage imageNamed:@"avatar_default"]]; | 31 | [self.imgAvatar setImage:[UIImage imageNamed:@"avatar_default"]]; |
32 | } | 32 | } |
33 | self.lblIndex.text = [NSString stringWithFormat:@"%d", object.rank]; | ||
34 | self.lblName.text = object.userName; | 33 | self.lblName.text = object.userName; |
35 | self.lblDistance.text = [NSString stringWithFormat:@"%0.1f km", object.distance]; | 34 | self.lblDistance.text = [NSString stringWithFormat:@"%0.1f km", object.distance]; |
36 | self.lblStep.text = [NSString stringWithFormat:@"%d 歩", object.steps]; | 35 | self.lblStep.text = [NSString stringWithFormat:@"%d 歩", object.steps]; |
37 | self.lblTime.text = [Utilities convertSecondToShortTime:object.time]; | 36 | self.lblTime.text = [Utilities convertSecondToShortTime:object.time]; |
38 | } | 37 | } |
39 | @end | 38 | @end |
40 | 39 |
LifeLog/LifeLog/RankingTableViewCell.xib
1 | <?xml version="1.0" encoding="UTF-8"?> | 1 | <?xml version="1.0" encoding="UTF-8"?> |
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"> | 2 | <document type="com.apple.InterfaceBuilder3.CocoaTouch.XIB" version="3.0" toolsVersion="13529" targetRuntime="iOS.CocoaTouch" propertyAccessControl="none" useAutolayout="YES" useTraitCollections="YES" colorMatched="YES"> |
3 | <device id="retina4_7" orientation="portrait"> | 3 | <device id="retina4_7" orientation="portrait"> |
4 | <adaptation id="fullscreen"/> | 4 | <adaptation id="fullscreen"/> |
5 | </device> | 5 | </device> |
6 | <dependencies> | 6 | <dependencies> |
7 | <plugIn identifier="com.apple.InterfaceBuilder.IBCocoaTouchPlugin" version="12086"/> | 7 | <deployment identifier="iOS"/> |
8 | <plugIn identifier="com.apple.InterfaceBuilder.IBCocoaTouchPlugin" version="13527"/> | ||
8 | <capability name="Constraints to layout margins" minToolsVersion="6.0"/> | 9 | <capability name="Constraints to layout margins" minToolsVersion="6.0"/> |
9 | <capability name="documents saved in the Xcode 8 format" minToolsVersion="8.0"/> | 10 | <capability name="documents saved in the Xcode 8 format" minToolsVersion="8.0"/> |
10 | </dependencies> | 11 | </dependencies> |
11 | <objects> | 12 | <objects> |
12 | <placeholder placeholderIdentifier="IBFilesOwner" id="-1" userLabel="File's Owner"/> | 13 | <placeholder placeholderIdentifier="IBFilesOwner" id="-1" userLabel="File's Owner"/> |
13 | <placeholder placeholderIdentifier="IBFirstResponder" id="-2" customClass="UIResponder"/> | 14 | <placeholder placeholderIdentifier="IBFirstResponder" id="-2" customClass="UIResponder"/> |
14 | <tableViewCell contentMode="scaleToFill" selectionStyle="default" indentationWidth="10" reuseIdentifier="RankCell" id="KGk-i7-Jjw" customClass="RankingTableViewCell"> | 15 | <tableViewCell contentMode="scaleToFill" selectionStyle="default" indentationWidth="10" reuseIdentifier="RankCell" id="KGk-i7-Jjw" customClass="RankingTableViewCell"> |
15 | <rect key="frame" x="0.0" y="0.0" width="320" height="80"/> | 16 | <rect key="frame" x="0.0" y="0.0" width="320" height="80"/> |
16 | <autoresizingMask key="autoresizingMask" flexibleMaxX="YES" flexibleMaxY="YES"/> | 17 | <autoresizingMask key="autoresizingMask" flexibleMaxX="YES" flexibleMaxY="YES"/> |
17 | <tableViewCellContentView key="contentView" opaque="NO" clipsSubviews="YES" multipleTouchEnabled="YES" contentMode="center" tableViewCell="KGk-i7-Jjw" id="H2p-sc-9uM"> | 18 | <tableViewCellContentView key="contentView" opaque="NO" clipsSubviews="YES" multipleTouchEnabled="YES" contentMode="center" tableViewCell="KGk-i7-Jjw" id="H2p-sc-9uM"> |
18 | <rect key="frame" x="0.0" y="0.0" width="320" height="79.5"/> | 19 | <rect key="frame" x="0.0" y="0.0" width="320" height="79.5"/> |
19 | <autoresizingMask key="autoresizingMask"/> | 20 | <autoresizingMask key="autoresizingMask"/> |
20 | <subviews> | 21 | <subviews> |
21 | <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="1" textAlignment="center" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" minimumScaleFactor="0.5" translatesAutoresizingMaskIntoConstraints="NO" id="8qq-of-Fwv"> | ||
22 | <rect key="frame" x="0.0" y="0.0" width="40" height="80"/> | ||
23 | <constraints> | ||
24 | <constraint firstAttribute="width" constant="40" id="9dX-af-kQI"/> | ||
25 | </constraints> | ||
26 | <fontDescription key="fontDescription" type="system" pointSize="20"/> | ||
27 | <nil key="textColor"/> | ||
28 | <nil key="highlightedColor"/> | ||
29 | </label> | ||
30 | <imageView userInteractionEnabled="NO" contentMode="scaleAspectFit" horizontalHuggingPriority="251" verticalHuggingPriority="251" image="avatar_default" translatesAutoresizingMaskIntoConstraints="NO" id="1CW-Zi-SG6"> | 22 | <imageView userInteractionEnabled="NO" contentMode="scaleAspectFit" horizontalHuggingPriority="251" verticalHuggingPriority="251" image="avatar_default" translatesAutoresizingMaskIntoConstraints="NO" id="1CW-Zi-SG6"> |
31 | <rect key="frame" x="48" y="15" width="50" height="50"/> | 23 | <rect key="frame" x="63" y="15" width="50" height="50"/> |
24 | <color key="backgroundColor" white="1" alpha="1" colorSpace="custom" customColorSpace="genericGamma22GrayColorSpace"/> | ||
32 | <constraints> | 25 | <constraints> |
33 | <constraint firstAttribute="width" constant="50" id="1kJ-7c-3b3"/> | 26 | <constraint firstAttribute="width" constant="50" id="1kJ-7c-3b3"/> |
34 | <constraint firstAttribute="height" constant="50" id="LNu-c6-CgW"/> | 27 | <constraint firstAttribute="height" constant="50" id="LNu-c6-CgW"/> |
35 | </constraints> | 28 | </constraints> |
29 | <userDefinedRuntimeAttributes> | ||
30 | <userDefinedRuntimeAttribute type="number" keyPath="layer.cornerRadius"> | ||
31 | <integer key="value" value="5"/> | ||
32 | </userDefinedRuntimeAttribute> | ||
33 | </userDefinedRuntimeAttributes> | ||
36 | </imageView> | 34 | </imageView> |
37 | <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="ユーザー ニックネーム" textAlignment="natural" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="zAG-NS-RSG"> | 35 | <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="ユーザー ニックネーム" textAlignment="natural" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="zAG-NS-RSG"> |
38 | <rect key="frame" x="106" y="8" width="206" height="15"/> | 36 | <rect key="frame" x="121" y="11" width="183" height="15"/> |
39 | <constraints> | 37 | <constraints> |
40 | <constraint firstAttribute="height" constant="15" id="RjF-Lj-HNO"/> | 38 | <constraint firstAttribute="height" constant="15" id="RjF-Lj-HNO"/> |
41 | </constraints> | 39 | </constraints> |
42 | <fontDescription key="fontDescription" type="system" pointSize="12"/> | 40 | <fontDescription key="fontDescription" type="system" pointSize="12"/> |
43 | <nil key="textColor"/> | 41 | <nil key="textColor"/> |
44 | <nil key="highlightedColor"/> | 42 | <nil key="highlightedColor"/> |
45 | </label> | 43 | </label> |
46 | <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" textAlignment="natural" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="LgT-0e-lsD"> | 44 | <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" textAlignment="natural" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="LgT-0e-lsD"> |
47 | <rect key="frame" x="106" y="31" width="78" height="15"/> | 45 | <rect key="frame" x="121" y="34" width="64" height="15"/> |
48 | <constraints> | 46 | <constraints> |
49 | <constraint firstAttribute="height" constant="15" id="WXg-qM-mCv"/> | 47 | <constraint firstAttribute="height" constant="15" id="WXg-qM-mCv"/> |
50 | </constraints> | 48 | </constraints> |
51 | <string key="text" base64-UTF8="YES"> | 49 | <string key="text" base64-UTF8="YES"> |
52 | MTIzNDUg5q2pAA | 50 | MTIzNDUg5q2pAA |
53 | </string> | 51 | </string> |
54 | <fontDescription key="fontDescription" type="system" pointSize="12"/> | 52 | <fontDescription key="fontDescription" type="system" pointSize="12"/> |
55 | <nil key="textColor"/> | 53 | <nil key="textColor"/> |
56 | <nil key="highlightedColor"/> | 54 | <nil key="highlightedColor"/> |
57 | </label> | 55 | </label> |
58 | <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" textAlignment="natural" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="yeV-e1-xLt"> | 56 | <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" textAlignment="natural" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="yeV-e1-xLt"> |
59 | <rect key="frame" x="194" y="28" width="78" height="15"/> | 57 | <rect key="frame" x="241" y="31" width="64" height="15"/> |
60 | <constraints> | 58 | <constraints> |
61 | <constraint firstAttribute="height" constant="15" id="8uP-Oz-0UX"/> | 59 | <constraint firstAttribute="height" constant="15" id="8uP-Oz-0UX"/> |
62 | </constraints> | 60 | </constraints> |
63 | <string key="text" base64-UTF8="YES"> | 61 | <string key="text" base64-UTF8="YES"> |
64 | MTIzNDU2IGttAA | 62 | MTIzNDU2IGttAA |
65 | </string> | 63 | </string> |
66 | <fontDescription key="fontDescription" type="system" pointSize="12"/> | 64 | <fontDescription key="fontDescription" type="system" pointSize="12"/> |
67 | <nil key="textColor"/> | 65 | <nil key="textColor"/> |
68 | <nil key="highlightedColor"/> | 66 | <nil key="highlightedColor"/> |
69 | </label> | 67 | </label> |
70 | <imageView userInteractionEnabled="NO" contentMode="scaleToFill" horizontalHuggingPriority="251" verticalHuggingPriority="251" image="tapbar_today" translatesAutoresizingMaskIntoConstraints="NO" id="doD-2D-mUh"> | ||
71 | <rect key="frame" x="280" y="28" width="25" height="25"/> | ||
72 | <constraints> | ||
73 | <constraint firstAttribute="height" constant="25" id="m7H-Vi-MjX"/> | ||
74 | <constraint firstAttribute="width" constant="25" id="yJJ-70-k1M"/> | ||
75 | </constraints> | ||
76 | </imageView> | ||
77 | <view contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="A45-dY-zJ7"> | 68 | <view contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="A45-dY-zJ7"> |
78 | <rect key="frame" x="0.0" y="78" width="320" height="2"/> | 69 | <rect key="frame" x="0.0" y="79" width="320" height="1"/> |
79 | <color key="backgroundColor" white="0.0" alpha="1" colorSpace="calibratedWhite"/> | 70 | <color key="backgroundColor" white="1" alpha="0.5" colorSpace="custom" customColorSpace="genericGamma22GrayColorSpace"/> |
80 | <constraints> | 71 | <constraints> |
81 | <constraint firstAttribute="height" constant="2" id="RXE-vE-Bye"/> | 72 | <constraint firstAttribute="height" constant="0.5" id="RXE-vE-Bye"/> |
82 | </constraints> | 73 | </constraints> |
83 | </view> | 74 | </view> |
84 | <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="11:22:33" textAlignment="natural" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="esv-WJ-Jwb"> | 75 | <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="11:22:33" textAlignment="natural" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="esv-WJ-Jwb"> |
85 | <rect key="frame" x="106" y="54" width="78" height="15"/> | 76 | <rect key="frame" x="121" y="57" width="64" height="15"/> |
86 | <constraints> | 77 | <constraints> |
87 | <constraint firstAttribute="height" constant="15" id="ZwB-X4-TCe"/> | 78 | <constraint firstAttribute="height" constant="15" id="ZwB-X4-TCe"/> |
88 | </constraints> | 79 | </constraints> |
89 | <fontDescription key="fontDescription" type="system" pointSize="12"/> | 80 | <fontDescription key="fontDescription" type="system" pointSize="12"/> |
90 | <nil key="textColor"/> | 81 | <nil key="textColor"/> |
91 | <nil key="highlightedColor"/> | 82 | <nil key="highlightedColor"/> |
92 | </label> | 83 | </label> |
84 | <imageView userInteractionEnabled="NO" contentMode="scaleAspectFit" horizontalHuggingPriority="251" verticalHuggingPriority="251" image="ic_rank_1" translatesAutoresizingMaskIntoConstraints="NO" id="RxI-g8-4hm"> | ||
85 | <rect key="frame" x="5" y="15" width="50" height="50"/> | ||
86 | <color key="backgroundColor" white="0.0" alpha="0.0" colorSpace="custom" customColorSpace="genericGamma22GrayColorSpace"/> | ||
87 | <constraints> | ||
88 | <constraint firstAttribute="width" constant="50" id="Klg-CU-2CS"/> | ||
89 | <constraint firstAttribute="height" constant="50" id="bZk-fY-WIZ"/> | ||
90 | </constraints> | ||
91 | <userDefinedRuntimeAttributes> | ||
92 | <userDefinedRuntimeAttribute type="number" keyPath="layer.borderRadius"> | ||
93 | <integer key="value" value="5"/> | ||
94 | </userDefinedRuntimeAttribute> | ||
95 | </userDefinedRuntimeAttributes> | ||
96 | </imageView> | ||
93 | </subviews> | 97 | </subviews> |
98 | <color key="backgroundColor" white="0.0" alpha="0.0" colorSpace="custom" customColorSpace="genericGamma22GrayColorSpace"/> | ||
94 | <constraints> | 99 | <constraints> |
95 | <constraint firstItem="doD-2D-mUh" firstAttribute="centerY" secondItem="H2p-sc-9uM" secondAttribute="centerY" id="57o-am-4IN"/> | ||
96 | <constraint firstItem="esv-WJ-Jwb" firstAttribute="top" secondItem="LgT-0e-lsD" secondAttribute="bottom" constant="8" id="6Bw-Lm-urU"/> | 100 | <constraint firstItem="esv-WJ-Jwb" firstAttribute="top" secondItem="LgT-0e-lsD" secondAttribute="bottom" constant="8" id="6Bw-Lm-urU"/> |
97 | <constraint firstItem="yeV-e1-xLt" firstAttribute="leading" secondItem="LgT-0e-lsD" secondAttribute="trailing" constant="10" id="8hM-D0-kmc"/> | 101 | <constraint firstItem="1CW-Zi-SG6" firstAttribute="leading" secondItem="RxI-g8-4hm" secondAttribute="trailing" constant="8" id="8uQ-Mj-NFo"/> |
98 | <constraint firstItem="LgT-0e-lsD" firstAttribute="top" secondItem="zAG-NS-RSG" secondAttribute="bottom" constant="8" id="Esk-56-nD6"/> | 102 | <constraint firstItem="LgT-0e-lsD" firstAttribute="top" secondItem="zAG-NS-RSG" secondAttribute="bottom" constant="8" id="Esk-56-nD6"/> |
99 | <constraint firstItem="zAG-NS-RSG" firstAttribute="trailing" secondItem="H2p-sc-9uM" secondAttribute="trailingMargin" id="GMx-VQ-Jq1"/> | 103 | <constraint firstItem="zAG-NS-RSG" firstAttribute="trailing" secondItem="H2p-sc-9uM" secondAttribute="trailingMargin" id="GMx-VQ-Jq1"/> |
100 | <constraint firstItem="doD-2D-mUh" firstAttribute="leading" secondItem="yeV-e1-xLt" secondAttribute="trailing" constant="8" id="Juh-q9-fxs"/> | 104 | <constraint firstItem="RxI-g8-4hm" firstAttribute="centerY" secondItem="H2p-sc-9uM" secondAttribute="centerY" id="Kn2-D6-axQ"/> |
101 | <constraint firstItem="zAG-NS-RSG" firstAttribute="top" secondItem="H2p-sc-9uM" secondAttribute="topMargin" id="R9z-fc-ARl"/> | 105 | <constraint firstItem="zAG-NS-RSG" firstAttribute="top" secondItem="H2p-sc-9uM" secondAttribute="topMargin" id="R9z-fc-ARl"/> |
102 | <constraint firstItem="esv-WJ-Jwb" firstAttribute="leading" secondItem="zAG-NS-RSG" secondAttribute="leading" id="Sfp-Ch-JEA"/> | 106 | <constraint firstItem="esv-WJ-Jwb" firstAttribute="leading" secondItem="zAG-NS-RSG" secondAttribute="leading" id="Sfp-Ch-JEA"/> |
103 | <constraint firstItem="yeV-e1-xLt" firstAttribute="width" secondItem="LgT-0e-lsD" secondAttribute="width" id="Slm-k1-rIR"/> | 107 | <constraint firstItem="yeV-e1-xLt" firstAttribute="width" secondItem="LgT-0e-lsD" secondAttribute="width" id="Slm-k1-rIR"/> |
104 | <constraint firstAttribute="bottom" secondItem="8qq-of-Fwv" secondAttribute="bottom" id="VVC-Dv-8ey"/> | ||
105 | <constraint firstItem="A45-dY-zJ7" firstAttribute="leading" secondItem="H2p-sc-9uM" secondAttribute="leading" id="Xwe-lc-LeM"/> | 108 | <constraint firstItem="A45-dY-zJ7" firstAttribute="leading" secondItem="H2p-sc-9uM" secondAttribute="leading" id="Xwe-lc-LeM"/> |
109 | <constraint firstAttribute="trailing" secondItem="yeV-e1-xLt" secondAttribute="trailing" constant="15" id="Zbx-pF-zZd"/> | ||
106 | <constraint firstItem="LgT-0e-lsD" firstAttribute="leading" secondItem="1CW-Zi-SG6" secondAttribute="trailing" constant="8" id="dLZ-Nv-Dbr"/> | 110 | <constraint firstItem="LgT-0e-lsD" firstAttribute="leading" secondItem="1CW-Zi-SG6" secondAttribute="trailing" constant="8" id="dLZ-Nv-Dbr"/> |
107 | <constraint firstItem="8qq-of-Fwv" firstAttribute="top" secondItem="H2p-sc-9uM" secondAttribute="top" id="dUj-3F-TgF"/> | ||
108 | <constraint firstAttribute="trailing" secondItem="A45-dY-zJ7" secondAttribute="trailing" id="e8P-ju-Xmq"/> | 111 | <constraint firstAttribute="trailing" secondItem="A45-dY-zJ7" secondAttribute="trailing" id="e8P-ju-Xmq"/> |
109 | <constraint firstItem="1CW-Zi-SG6" firstAttribute="centerY" secondItem="H2p-sc-9uM" secondAttribute="centerY" id="eCg-Ck-ONU"/> | 112 | <constraint firstItem="1CW-Zi-SG6" firstAttribute="centerY" secondItem="H2p-sc-9uM" secondAttribute="centerY" id="eCg-Ck-ONU"/> |
110 | <constraint firstItem="yeV-e1-xLt" firstAttribute="top" secondItem="zAG-NS-RSG" secondAttribute="bottom" constant="5" id="gYr-ss-0or"/> | 113 | <constraint firstItem="yeV-e1-xLt" firstAttribute="top" secondItem="zAG-NS-RSG" secondAttribute="bottom" constant="5" id="gYr-ss-0or"/> |
111 | <constraint firstAttribute="trailing" secondItem="doD-2D-mUh" secondAttribute="trailing" constant="15" id="iNO-rk-u4D"/> | 114 | <constraint firstItem="RxI-g8-4hm" firstAttribute="leading" secondItem="H2p-sc-9uM" secondAttribute="leading" constant="5" id="uoo-ZV-klx"/> |
112 | <constraint firstItem="zAG-NS-RSG" firstAttribute="leading" secondItem="1CW-Zi-SG6" secondAttribute="trailing" constant="8" id="vfh-9w-5DO"/> | 115 | <constraint firstItem="zAG-NS-RSG" firstAttribute="leading" secondItem="1CW-Zi-SG6" secondAttribute="trailing" constant="8" id="vfh-9w-5DO"/> |
113 | <constraint firstItem="8qq-of-Fwv" firstAttribute="leading" secondItem="H2p-sc-9uM" secondAttribute="leading" id="wiB-Bb-Ji6"/> | ||
114 | <constraint firstItem="esv-WJ-Jwb" firstAttribute="width" secondItem="LgT-0e-lsD" secondAttribute="width" id="xkA-nN-FEv"/> | 116 | <constraint firstItem="esv-WJ-Jwb" firstAttribute="width" secondItem="LgT-0e-lsD" secondAttribute="width" id="xkA-nN-FEv"/> |
LifeLog/LifeLog/RankingViewController.h
1 | // | 1 | // |
2 | // RankingViewController.h | 2 | // RankingViewController.h |
3 | // LifeLog | 3 | // LifeLog |
4 | // | 4 | // |
5 | // Created by Nguyen Van Phong on 7/25/17. | 5 | // Created by Nguyen Van Phong on 7/25/17. |
6 | // Copyright © 2017 PhongNV. All rights reserved. | 6 | // Copyright © 2017 PhongNV. All rights reserved. |
7 | // | 7 | // |
8 | 8 | ||
9 | #import <UIKit/UIKit.h> | 9 | #import <UIKit/UIKit.h> |
10 | 10 | ||
11 | #import "BaseTableViewController.h" | 11 | #import "BaseTableViewController.h" |
12 | #import "CollectionView.h" | 12 | #import "CollectionView.h" |
13 | 13 | ||
14 | @interface RankingViewController : BaseTableViewController { | 14 | @interface RankingViewController : BaseTableViewController { |
15 | NSDate * _startDate; | 15 | NSDate * _startDate; |
16 | NSDate * _endDate; | 16 | NSDate * _endDate; |
17 | } | 17 | } |
18 | 18 | ||
19 | @property (weak, nonatomic) IBOutlet UIView *viewHeader; | ||
19 | @property (weak, nonatomic) IBOutlet CollectionView *viewCollectionTime; | 20 | @property (weak, nonatomic) IBOutlet CollectionView *viewCollectionTime; |
20 | @property (weak, nonatomic) IBOutlet CollectionView *viewCollectionMode; | 21 | @property (weak, nonatomic) IBOutlet CollectionView *viewCollectionMode; |
21 | @property (weak, nonatomic) IBOutlet CollectionView *viewCollectionType; | 22 | @property (weak, nonatomic) IBOutlet CollectionView *viewCollectionType; |
22 | @property (weak, nonatomic) IBOutlet UILabel *lblDateTime; | 23 | @property (weak, nonatomic) IBOutlet UILabel *lblDateTime; |
23 | 24 | ||
24 | - (IBAction)clickBackward:(UIButton *)sender; | 25 | - (IBAction)clickBackward:(UIButton *)sender; |
25 | - (IBAction)clickForward:(UIButton *)sender; | 26 | - (IBAction)clickForward:(UIButton *)sender; |
26 | @end | 27 | @end |
27 | 28 |
LifeLog/LifeLog/RankingViewController.m
1 | // | 1 | // |
2 | // RankingViewController.m | 2 | // RankingViewController.m |
3 | // LifeLog | 3 | // LifeLog |
4 | // | 4 | // |
5 | // Created by Nguyen Van Phong on 7/25/17. | 5 | // Created by Nguyen Van Phong on 7/25/17. |
6 | // Copyright © 2017 PhongNV. All rights reserved. | 6 | // Copyright © 2017 PhongNV. All rights reserved. |
7 | // | 7 | // |
8 | 8 | ||
9 | #import "RankingViewController.h" | 9 | #import "RankingViewController.h" |
10 | #import "RankingTableViewCell.h" | 10 | #import "RankingTableViewCell.h" |
11 | 11 | ||
12 | #import "ServerAPI.h" | 12 | #import "ServerAPI.h" |
13 | #import "Utilities.h" | 13 | #import "Utilities.h" |
14 | 14 | ||
15 | @interface RankingViewController () | 15 | @interface RankingViewController () |
16 | 16 | ||
17 | @end | 17 | @end |
18 | 18 | ||
19 | @implementation RankingViewController | 19 | @implementation RankingViewController |
20 | 20 | ||
21 | - (void)viewDidLoad { | 21 | - (void)viewDidLoad { |
22 | [super viewDidLoad]; | 22 | [super viewDidLoad]; |
23 | [self.view addConstraint:[NSLayoutConstraint constraintWithItem:self.bottomLayoutGuide attribute:NSLayoutAttributeTop relatedBy:NSLayoutRelationEqual toItem:self.viewCollectionType attribute:NSLayoutAttributeBottom multiplier:1 constant:5]]; | 23 | [self.view addConstraint:[NSLayoutConstraint constraintWithItem:self.bottomLayoutGuide attribute:NSLayoutAttributeTop relatedBy:NSLayoutRelationEqual toItem:self.viewCollectionType attribute:NSLayoutAttributeBottom multiplier:1 constant:5]]; |
24 | [self.view addConstraint:[NSLayoutConstraint constraintWithItem:self.topLayoutGuide attribute:NSLayoutAttributeBottom relatedBy:NSLayoutRelationEqual toItem:self.viewHeader attribute:NSLayoutAttributeTop multiplier:1 constant:0]]; | ||
24 | // Do any additional setup after loading the view from its nib. | 25 | // Do any additional setup after loading the view from its nib. |
25 | self.title = NSLocalizedString(@"lifelog.rank.title", nil); | 26 | // self.title = NSLocalizedString(@"lifelog.rank.title", nil); |
26 | 27 | ||
27 | [self setupView]; | 28 | [self setupView]; |
28 | 29 | ||
29 | _startDate = [NSDate date]; | 30 | _startDate = [NSDate date]; |
30 | _endDate = _startDate; | 31 | _endDate = _startDate; |
31 | self.lblDateTime.text = [Utilities stringFromDate:_endDate withFormat:@"YYYY年MM月dd日 EEEE" locale:@"ja_JP"]; | 32 | self.lblDateTime.text = [Utilities stringFromDate:_endDate withFormat:@"YYYY年MM月dd日 EEEE" locale:@"ja_JP"]; |
32 | 33 | ||
33 | //register nib for table view | 34 | //register nib for table view |
34 | [self.tableBase registerNib:[UINib nibWithNibName:@"RankingTableViewCell" bundle:nil] forCellReuseIdentifier:@"RankCell"]; | 35 | [self.tableBase registerNib:[UINib nibWithNibName:@"RankingTableViewCell" bundle:nil] forCellReuseIdentifier:@"RankCell"]; |
35 | 36 | ||
36 | [self callRequestToUpdateData]; | 37 | [self callRequestToUpdateData]; |
37 | } | 38 | } |
38 | 39 | ||
39 | - (void)didReceiveMemoryWarning { | 40 | - (void)didReceiveMemoryWarning { |
40 | [super didReceiveMemoryWarning]; | 41 | [super didReceiveMemoryWarning]; |
41 | // Dispose of any resources that can be recreated. | 42 | // Dispose of any resources that can be recreated. |
42 | } | 43 | } |
43 | 44 | ||
44 | #pragma mark Setup and Update View | 45 | #pragma mark Setup and Update View |
45 | 46 | ||
46 | - (void)setupView { | 47 | - (void)setupView { |
47 | NSArray *timeTitle = [NSArray arrayWithObjects:NSLocalizedString(@"lifelog.rank.time.1", nil), NSLocalizedString(@"lifelog.rank.time.2", nil), NSLocalizedString(@"lifelog.rank.time.3", nil), NSLocalizedString(@"lifelog.rank.time.4", nil), nil]; | 48 | NSArray *timeTitle = [NSArray arrayWithObjects:NSLocalizedString(@"lifelog.rank.time.1", nil), NSLocalizedString(@"lifelog.rank.time.2", nil), NSLocalizedString(@"lifelog.rank.time.3", nil), NSLocalizedString(@"lifelog.rank.time.4", nil), nil]; |
48 | [self.viewCollectionTime setButtonNumber:timeTitle.count]; | 49 | [self.viewCollectionTime setButtonNumber:timeTitle.count]; |
49 | [self.viewCollectionTime setSpacing:1]; | 50 | [self.viewCollectionTime setSpacing:1]; |
50 | [self.viewCollectionTime setArrayTitle:timeTitle]; | 51 | [self.viewCollectionTime setArrayTitle:timeTitle]; |
51 | self.viewCollectionTime.changeCurrentIndex = ^(int index){ | 52 | self.viewCollectionTime.changeCurrentIndex = ^(int index){ |
52 | [self changeDate]; | 53 | [self changeDate]; |
53 | }; | 54 | }; |
54 | 55 | ||
55 | NSArray *modeTitle = [NSArray arrayWithObjects:NSLocalizedString(@"lifelog.rank.mode.1", nil), NSLocalizedString(@"lifelog.rank.mode.2", nil), NSLocalizedString(@"lifelog.rank.mode.3", nil), NSLocalizedString(@"lifelog.rank.mode.4", nil), nil]; | 56 | NSArray *modeTitle = [NSArray arrayWithObjects:NSLocalizedString(@"lifelog.rank.mode.1", nil), NSLocalizedString(@"lifelog.rank.mode.2", nil), NSLocalizedString(@"lifelog.rank.mode.3", nil), NSLocalizedString(@"lifelog.rank.mode.4", nil), nil]; |
56 | [self.viewCollectionMode setButtonNumber:modeTitle.count]; | 57 | [self.viewCollectionMode setButtonNumber:modeTitle.count]; |
57 | [self.viewCollectionMode setSpacing:1]; | 58 | [self.viewCollectionMode setSpacing:1]; |
58 | [self.viewCollectionMode setArrayTitle:modeTitle]; | 59 | [self.viewCollectionMode setArrayTitle:modeTitle]; |
59 | self.viewCollectionMode.changeCurrentIndex = ^(int index){ | 60 | self.viewCollectionMode.changeCurrentIndex = ^(int index){ |
60 | [self callRequestToUpdateData]; | 61 | [self callRequestToUpdateData]; |
61 | }; | 62 | }; |
62 | 63 | ||
63 | NSArray *typeTitle = [NSArray arrayWithObjects:NSLocalizedString(@"lifelog.rank.type.1", nil), NSLocalizedString(@"lifelog.rank.type.2", nil), NSLocalizedString(@"lifelog.rank.type.3", nil), NSLocalizedString(@"lifelog.rank.type.4", nil), nil]; | 64 | NSArray *typeTitle = [NSArray arrayWithObjects:NSLocalizedString(@"lifelog.rank.type.1", nil), NSLocalizedString(@"lifelog.rank.type.2", nil), NSLocalizedString(@"lifelog.rank.type.3", nil), NSLocalizedString(@"lifelog.rank.type.4", nil), nil]; |
64 | [self.viewCollectionType setButtonNumber:typeTitle.count]; | 65 | [self.viewCollectionType setButtonNumber:typeTitle.count]; |
65 | [self.viewCollectionType setSpacing:1]; | 66 | [self.viewCollectionType setSpacing:1]; |
66 | [self.viewCollectionType setArrayTitle:typeTitle]; | 67 | [self.viewCollectionType setArrayTitle:typeTitle]; |
67 | self.viewCollectionMode.changeCurrentIndex = ^(int index){ | 68 | self.viewCollectionMode.changeCurrentIndex = ^(int index){ |
68 | [self callRequestToUpdateData]; | 69 | [self callRequestToUpdateData]; |
69 | }; | 70 | }; |
70 | } | 71 | } |
71 | 72 | ||
72 | 73 | ||
73 | #pragma mark IBAction function | 74 | #pragma mark IBAction function |
74 | - (IBAction)clickBackward:(UIButton *)sender { | 75 | - (IBAction)clickBackward:(UIButton *)sender { |
75 | _endDate = [_endDate dateByAddingTimeInterval:-86400]; | 76 | _endDate = [_endDate dateByAddingTimeInterval:-86400]; |
76 | [self changeDate]; | 77 | [self changeDate]; |
77 | } | 78 | } |
78 | 79 | ||
79 | - (IBAction)clickForward:(UIButton *)sender { | 80 | - (IBAction)clickForward:(UIButton *)sender { |
80 | _endDate = [_endDate dateByAddingTimeInterval:86400]; | 81 | _endDate = [_endDate dateByAddingTimeInterval:86400]; |
81 | [self changeDate]; | 82 | [self changeDate]; |
82 | } | 83 | } |
83 | 84 | ||
84 | #pragma mark UITableView Delegate | 85 | #pragma mark UITableView Delegate |
85 | 86 | ||
86 | - (UITableViewCell *) tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath { | 87 | - (UITableViewCell *) tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath { |
87 | RankingTableViewCell * cell = [tableView dequeueReusableCellWithIdentifier:@"RankCell"]; | 88 | RankingTableViewCell * cell = [tableView dequeueReusableCellWithIdentifier:@"RankCell"]; |
89 | if(indexPath.row == 0) { | ||
90 | cell.imgRank.image = [UIImage imageNamed:@"ic_rank_1"]; | ||
91 | } else if(indexPath.row == 1) { | ||
92 | cell.imgRank.image = [UIImage imageNamed:@"ic_rank_2"]; | ||
93 | } else if(indexPath.row == 2) { | ||
94 | cell.imgRank.image = [UIImage imageNamed:@"ic_rank_3"]; | ||
95 | } else { | ||
96 | cell.imgRank.image = NULL; | ||
97 | } | ||
88 | [cell setRankingData:[_curDataList objectAtIndex:indexPath.row]]; | 98 | [cell setRankingData:[_curDataList objectAtIndex:indexPath.row]]; |
89 | return cell; | 99 | return cell; |
90 | } | 100 | } |
91 | 101 | ||
92 | #pragma mark Private function | 102 | #pragma mark Private function |
93 | - (void)callRequestToUpdateData { | 103 | - (void)callRequestToUpdateData { |
94 | [super callRequestToUpdateData]; | 104 | [super callRequestToUpdateData]; |
95 | 105 | ||
96 | NSString * token = [[NSUserDefaults standardUserDefaults] stringForKey:kToken]; | 106 | NSString * token = [[NSUserDefaults standardUserDefaults] stringForKey:kToken]; |
97 | MBProgressHUD *hudView = nil; | 107 | MBProgressHUD *hudView = nil; |
98 | int mode = self.viewCollectionMode.getCurrentIndex + 1; | 108 | int mode = self.viewCollectionMode.getCurrentIndex + 1; |
99 | //dont have all | 109 | //dont have all |
100 | mode = fmin(mode, 3); | 110 | mode = fmin(mode, 3); |
101 | 111 | ||
102 | if(_curPage == 1 && !self.refreshControl.isRefreshing) { | 112 | if(_curPage == 1 && !self.refreshControl.isRefreshing) { |
103 | hudView = [MBProgressHUD showHUDAddedTo:self.view animated:true]; | 113 | hudView = [MBProgressHUD showHUDAddedTo:self.view animated:true]; |
104 | } | 114 | } |
105 | [[ServerAPI server] requestRankingList:token startDate:_startDate endDate:_endDate mode:mode page:_curPage CompletionHandler:^(NSArray *array, NSError *error){ | 115 | [[ServerAPI server] requestRankingList:token startDate:_startDate endDate:_endDate mode:mode page:_curPage CompletionHandler:^(NSArray *array, NSError *error){ |
106 | dispatch_async(dispatch_get_main_queue(), ^{ | 116 | dispatch_async(dispatch_get_main_queue(), ^{ |
107 | if(hudView != nil) { | 117 | if(hudView != nil) { |
108 | [hudView hideAnimated:true]; | 118 | [hudView hideAnimated:true]; |
109 | } | 119 | } |
110 | }); | 120 | }); |
111 | RankingViewController __weak *weakSelf = self; | 121 | RankingViewController __weak *weakSelf = self; |
112 | [weakSelf updateTableData:array error:error]; | 122 | [weakSelf updateTableData:array error:error]; |
113 | }]; | 123 | }]; |
114 | } | 124 | } |
115 | 125 | ||
116 | - (void) changeDate { | 126 | - (void) changeDate { |
117 | switch (self.viewCollectionTime.getCurrentIndex) { | 127 | switch (self.viewCollectionTime.getCurrentIndex) { |
118 | case 1: | 128 | case 1: |
119 | _startDate = [_endDate dateByAddingTimeInterval:-86400 * 7]; | 129 | _startDate = [_endDate dateByAddingTimeInterval:-86400 * 7]; |
120 | break; | 130 | break; |
121 | case 2: | 131 | case 2: |
122 | _startDate = [_endDate dateByAddingTimeInterval:-86400 * 30]; | 132 | _startDate = [_endDate dateByAddingTimeInterval:-86400 * 30]; |
123 | break; | 133 | break; |
124 | case 3: | 134 | case 3: |
125 | _startDate = [_endDate dateByAddingTimeInterval:-86400 * 365]; | 135 | _startDate = [_endDate dateByAddingTimeInterval:-86400 * 365]; |
126 | break; | 136 | break; |
127 | default: | 137 | default: |
128 | _startDate = _endDate; | 138 | _startDate = _endDate; |
129 | break; | 139 | break; |
130 | } | 140 | } |
131 | if(_startDate == _endDate) { | 141 | if(_startDate == _endDate) { |
132 | self.lblDateTime.text = [Utilities stringFromDate:_endDate withFormat:@"YYYY年MM月dd日 EEEE" locale:@"ja_JP"]; | 142 | self.lblDateTime.text = [Utilities stringFromDate:_endDate withFormat:@"YYYY年MM月dd日 EEEE" locale:@"ja_JP"]; |
133 | } | 143 | } |
134 | else { | 144 | else { |
135 | NSString * startDateString = [Utilities stringFromDate:_startDate withFormat:@"YYYY年MM月dd日" locale:@"ja_JP"]; | 145 | NSString * startDateString = [Utilities stringFromDate:_startDate withFormat:@"YYYY年MM月dd日" locale:@"ja_JP"]; |
136 | NSString * endDateString = [Utilities stringFromDate:_endDate withFormat:@"YYYY年MM月dd日" locale:@"ja_JP"]; | 146 | NSString * endDateString = [Utilities stringFromDate:_endDate withFormat:@"YYYY年MM月dd日" locale:@"ja_JP"]; |
137 | self.lblDateTime.text = [NSString stringWithFormat:@"%@-%@", startDateString, endDateString]; | 147 | self.lblDateTime.text = [NSString stringWithFormat:@"%@-%@", startDateString, endDateString]; |
138 | } | 148 | } |
139 | [self callRequestToUpdateData]; | 149 | [self callRequestToUpdateData]; |
140 | } | 150 | } |
141 | @end | 151 | @end |
142 | 152 |
LifeLog/LifeLog/RankingViewController.xib
1 | <?xml version="1.0" encoding="UTF-8"?> | 1 | <?xml version="1.0" encoding="UTF-8"?> |
2 | <document type="com.apple.InterfaceBuilder3.CocoaTouch.XIB" version="3.0" toolsVersion="13529" targetRuntime="iOS.CocoaTouch" propertyAccessControl="none" useAutolayout="YES" useTraitCollections="YES" colorMatched="YES"> | 2 | <document type="com.apple.InterfaceBuilder3.CocoaTouch.XIB" version="3.0" toolsVersion="13529" targetRuntime="iOS.CocoaTouch" propertyAccessControl="none" useAutolayout="YES" useTraitCollections="YES" colorMatched="YES"> |
3 | <device id="retina4_7" orientation="portrait"> | 3 | <device id="retina4_7" orientation="portrait"> |
4 | <adaptation id="fullscreen"/> | 4 | <adaptation id="fullscreen"/> |
5 | </device> | 5 | </device> |
6 | <dependencies> | 6 | <dependencies> |
7 | <deployment identifier="iOS"/> | 7 | <deployment identifier="iOS"/> |
8 | <plugIn identifier="com.apple.InterfaceBuilder.IBCocoaTouchPlugin" version="13527"/> | 8 | <plugIn identifier="com.apple.InterfaceBuilder.IBCocoaTouchPlugin" version="13527"/> |
9 | <capability name="documents saved in the Xcode 8 format" minToolsVersion="8.0"/> | 9 | <capability name="documents saved in the Xcode 8 format" minToolsVersion="8.0"/> |
10 | </dependencies> | 10 | </dependencies> |
11 | <objects> | 11 | <objects> |
12 | <placeholder placeholderIdentifier="IBFilesOwner" id="-1" userLabel="File's Owner" customClass="RankingViewController"> | 12 | <placeholder placeholderIdentifier="IBFilesOwner" id="-1" userLabel="File's Owner" customClass="RankingViewController"> |
13 | <connections> | 13 | <connections> |
14 | <outlet property="lblDateTime" destination="5Ro-k6-fvT" id="5uO-ff-Pmc"/> | 14 | <outlet property="lblDateTime" destination="5Ro-k6-fvT" id="5uO-ff-Pmc"/> |
15 | <outlet property="tableBase" destination="R3A-K9-MFe" id="Tf9-Rg-PEW"/> | 15 | <outlet property="tableBase" destination="R3A-K9-MFe" id="Tf9-Rg-PEW"/> |
16 | <outlet property="view" destination="i5M-Pr-FkT" id="sfx-zR-JGt"/> | 16 | <outlet property="view" destination="i5M-Pr-FkT" id="sfx-zR-JGt"/> |
17 | <outlet property="viewCollectionMode" destination="B33-xX-Jro" id="HP4-Xb-LJm"/> | 17 | <outlet property="viewCollectionMode" destination="B33-xX-Jro" id="HP4-Xb-LJm"/> |
18 | <outlet property="viewCollectionTime" destination="syA-uK-pbr" id="WdA-Cq-Flj"/> | 18 | <outlet property="viewCollectionTime" destination="syA-uK-pbr" id="WdA-Cq-Flj"/> |
19 | <outlet property="viewCollectionType" destination="oUo-Eo-tz5" id="bjw-El-34G"/> | 19 | <outlet property="viewCollectionType" destination="oUo-Eo-tz5" id="bjw-El-34G"/> |
20 | <outlet property="viewHeader" destination="GBx-lY-9YI" id="IMV-pV-QhA"/> | ||
20 | </connections> | 21 | </connections> |
21 | </placeholder> | 22 | </placeholder> |
22 | <placeholder placeholderIdentifier="IBFirstResponder" id="-2" customClass="UIResponder"/> | 23 | <placeholder placeholderIdentifier="IBFirstResponder" id="-2" customClass="UIResponder"/> |
23 | <view clearsContextBeforeDrawing="NO" contentMode="scaleToFill" id="i5M-Pr-FkT"> | 24 | <view clearsContextBeforeDrawing="NO" contentMode="scaleToFill" id="i5M-Pr-FkT"> |
24 | <rect key="frame" x="0.0" y="0.0" width="375" height="667"/> | 25 | <rect key="frame" x="0.0" y="0.0" width="375" height="667"/> |
25 | <autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/> | 26 | <autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/> |
26 | <subviews> | 27 | <subviews> |
28 | <imageView userInteractionEnabled="NO" contentMode="scaleToFill" horizontalHuggingPriority="251" verticalHuggingPriority="251" image="background" translatesAutoresizingMaskIntoConstraints="NO" id="r1L-Yo-yok"> | ||
29 | <rect key="frame" x="0.0" y="0.0" width="375" height="667"/> | ||
30 | </imageView> | ||
27 | <view contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="GBx-lY-9YI" userLabel="ViewHeader"> | 31 | <view contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="GBx-lY-9YI" userLabel="ViewHeader"> |
28 | <rect key="frame" x="0.0" y="0.0" width="375" height="46"/> | 32 | <rect key="frame" x="0.0" y="0.0" width="375" height="46"/> |
29 | <subviews> | 33 | <subviews> |
30 | <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="ランキング" textAlignment="center" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="p97-40-8m9" customClass="AutoTransLabel"> | 34 | <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="ランキング" textAlignment="center" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="p97-40-8m9" customClass="AutoTransLabel"> |
31 | <rect key="frame" x="0.0" y="0.0" width="375" height="46"/> | 35 | <rect key="frame" x="0.0" y="0.0" width="375" height="46"/> |
32 | <fontDescription key="fontDescription" type="system" pointSize="17"/> | 36 | <fontDescription key="fontDescription" type="system" pointSize="17"/> |
33 | <color key="textColor" white="1" alpha="1" colorSpace="calibratedWhite"/> | 37 | <color key="textColor" white="1" alpha="1" colorSpace="calibratedWhite"/> |
34 | <nil key="highlightedColor"/> | 38 | <nil key="highlightedColor"/> |
35 | <userDefinedRuntimeAttributes> | 39 | <userDefinedRuntimeAttributes> |
36 | <userDefinedRuntimeAttribute type="string" keyPath="localizeKey" value="lifelog.rank.title"/> | 40 | <userDefinedRuntimeAttribute type="string" keyPath="localizeKey" value="lifelog.rank.title"/> |
37 | </userDefinedRuntimeAttributes> | 41 | </userDefinedRuntimeAttributes> |
38 | </label> | 42 | </label> |
39 | <button hidden="YES" opaque="NO" contentMode="scaleToFill" contentHorizontalAlignment="center" contentVerticalAlignment="center" lineBreakMode="middleTruncation" translatesAutoresizingMaskIntoConstraints="NO" id="qPe-ff-jRp"> | 43 | <button hidden="YES" opaque="NO" contentMode="scaleToFill" contentHorizontalAlignment="center" contentVerticalAlignment="center" lineBreakMode="middleTruncation" translatesAutoresizingMaskIntoConstraints="NO" id="qPe-ff-jRp"> |
40 | <rect key="frame" x="0.0" y="5" width="70" height="36"/> | 44 | <rect key="frame" x="0.0" y="5" width="70" height="36"/> |
41 | <constraints> | 45 | <constraints> |
42 | <constraint firstAttribute="width" constant="70" id="bEy-jt-69Q"/> | 46 | <constraint firstAttribute="width" constant="70" id="bEy-jt-69Q"/> |
43 | </constraints> | 47 | </constraints> |
44 | <state key="normal" image="today_back_button"/> | 48 | <state key="normal" image="today_back_button"/> |
45 | </button> | 49 | </button> |
46 | <button opaque="NO" contentMode="scaleToFill" contentHorizontalAlignment="center" contentVerticalAlignment="center" lineBreakMode="middleTruncation" translatesAutoresizingMaskIntoConstraints="NO" id="WGc-2i-Swk"> | 50 | <button opaque="NO" contentMode="scaleToFill" contentHorizontalAlignment="center" contentVerticalAlignment="center" lineBreakMode="middleTruncation" translatesAutoresizingMaskIntoConstraints="NO" id="WGc-2i-Swk"> |
47 | <rect key="frame" x="330" y="0.0" width="45" height="46"/> | 51 | <rect key="frame" x="330" y="0.0" width="45" height="46"/> |
48 | <constraints> | 52 | <constraints> |
49 | <constraint firstAttribute="width" constant="45" id="nJ2-jH-Z45"/> | 53 | <constraint firstAttribute="width" constant="45" id="nJ2-jH-Z45"/> |
50 | </constraints> | 54 | </constraints> |
51 | <state key="normal" image="icon_menu"/> | 55 | <state key="normal" image="icon_menu"/> |
52 | </button> | 56 | </button> |
53 | </subviews> | 57 | </subviews> |
54 | <color key="backgroundColor" red="0.098039215690000001" green="0.098039215690000001" blue="0.098039215690000001" alpha="1" colorSpace="custom" customColorSpace="sRGB"/> | 58 | <color key="backgroundColor" red="0.0" green="0.0" blue="0.2196078431372549" alpha="1" colorSpace="custom" customColorSpace="sRGB"/> |
55 | <constraints> | 59 | <constraints> |
56 | <constraint firstAttribute="bottom" secondItem="WGc-2i-Swk" secondAttribute="bottom" id="0hd-fk-kJG"/> | 60 | <constraint firstAttribute="bottom" secondItem="WGc-2i-Swk" secondAttribute="bottom" id="0hd-fk-kJG"/> |
57 | <constraint firstAttribute="bottom" secondItem="p97-40-8m9" secondAttribute="bottom" id="78G-b2-wAu"/> | 61 | <constraint firstAttribute="bottom" secondItem="p97-40-8m9" secondAttribute="bottom" id="78G-b2-wAu"/> |
58 | <constraint firstItem="qPe-ff-jRp" firstAttribute="leading" secondItem="GBx-lY-9YI" secondAttribute="leading" id="9ND-Te-qX9"/> | 62 | <constraint firstItem="qPe-ff-jRp" firstAttribute="leading" secondItem="GBx-lY-9YI" secondAttribute="leading" id="9ND-Te-qX9"/> |
59 | <constraint firstItem="qPe-ff-jRp" firstAttribute="top" secondItem="GBx-lY-9YI" secondAttribute="top" constant="5" id="9ZX-A3-Bnp"/> | 63 | <constraint firstItem="qPe-ff-jRp" firstAttribute="top" secondItem="GBx-lY-9YI" secondAttribute="top" constant="5" id="9ZX-A3-Bnp"/> |
60 | <constraint firstItem="p97-40-8m9" firstAttribute="top" secondItem="GBx-lY-9YI" secondAttribute="top" id="CVN-ke-5KK"/> | 64 | <constraint firstItem="p97-40-8m9" firstAttribute="top" secondItem="GBx-lY-9YI" secondAttribute="top" id="CVN-ke-5KK"/> |
61 | <constraint firstAttribute="height" constant="46" id="SDI-ij-KbH"/> | 65 | <constraint firstAttribute="height" constant="46" id="SDI-ij-KbH"/> |
62 | <constraint firstItem="p97-40-8m9" firstAttribute="leading" secondItem="GBx-lY-9YI" secondAttribute="leading" id="U19-fM-q7G"/> | 66 | <constraint firstItem="p97-40-8m9" firstAttribute="leading" secondItem="GBx-lY-9YI" secondAttribute="leading" id="U19-fM-q7G"/> |
63 | <constraint firstAttribute="bottom" secondItem="qPe-ff-jRp" secondAttribute="bottom" constant="5" id="jU7-xM-YKX"/> | 67 | <constraint firstAttribute="bottom" secondItem="qPe-ff-jRp" secondAttribute="bottom" constant="5" id="jU7-xM-YKX"/> |
64 | <constraint firstItem="WGc-2i-Swk" firstAttribute="top" secondItem="GBx-lY-9YI" secondAttribute="top" id="knL-Yf-VTN"/> | 68 | <constraint firstItem="WGc-2i-Swk" firstAttribute="top" secondItem="GBx-lY-9YI" secondAttribute="top" id="knL-Yf-VTN"/> |
65 | <constraint firstAttribute="trailing" secondItem="p97-40-8m9" secondAttribute="trailing" id="sLL-ca-92S"/> | 69 | <constraint firstAttribute="trailing" secondItem="p97-40-8m9" secondAttribute="trailing" id="sLL-ca-92S"/> |
66 | <constraint firstAttribute="trailing" secondItem="WGc-2i-Swk" secondAttribute="trailing" id="v0h-pb-83W"/> | 70 | <constraint firstAttribute="trailing" secondItem="WGc-2i-Swk" secondAttribute="trailing" id="v0h-pb-83W"/> |
67 | </constraints> | 71 | </constraints> |
68 | </view> | 72 | </view> |
69 | <view contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="syA-uK-pbr" customClass="CollectionView"> | 73 | <view contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="syA-uK-pbr" customClass="CollectionView"> |
70 | <rect key="frame" x="0.0" y="46" width="375" height="30"/> | 74 | <rect key="frame" x="0.0" y="46" width="375" height="30"/> |
71 | <color key="backgroundColor" white="0.0" alpha="0.0" colorSpace="calibratedWhite"/> | 75 | <color key="backgroundColor" white="0.0" alpha="0.0" colorSpace="calibratedWhite"/> |
72 | <constraints> | 76 | <constraints> |
73 | <constraint firstAttribute="height" constant="30" id="ezW-Qs-M7K"/> | 77 | <constraint firstAttribute="height" constant="30" id="ezW-Qs-M7K"/> |
74 | </constraints> | 78 | </constraints> |
75 | </view> | 79 | </view> |
76 | <view contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="B33-xX-Jro" customClass="CollectionView"> | 80 | <view contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="B33-xX-Jro" customClass="CollectionView"> |
77 | <rect key="frame" x="0.0" y="116" width="375" height="30"/> | 81 | <rect key="frame" x="0.0" y="116" width="375" height="30"/> |
78 | <color key="backgroundColor" white="0.0" alpha="0.0" colorSpace="calibratedWhite"/> | 82 | <color key="backgroundColor" white="0.0" alpha="0.0" colorSpace="calibratedWhite"/> |
79 | <constraints> | 83 | <constraints> |
80 | <constraint firstAttribute="height" constant="30" id="snn-FM-11r"/> | 84 | <constraint firstAttribute="height" constant="30" id="snn-FM-11r"/> |
81 | </constraints> | 85 | </constraints> |
82 | </view> | 86 | </view> |
83 | <view contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="u5D-xz-8dK"> | 87 | <view contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="u5D-xz-8dK"> |
84 | <rect key="frame" x="0.0" y="76" width="375" height="40"/> | 88 | <rect key="frame" x="0.0" y="76" width="375" height="40"/> |
85 | <subviews> | 89 | <subviews> |
86 | <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" textAlignment="center" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="5Ro-k6-fvT"> | 90 | <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" textAlignment="center" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="5Ro-k6-fvT"> |
87 | <rect key="frame" x="0.0" y="0.0" width="375" height="40"/> | 91 | <rect key="frame" x="0.0" y="0.0" width="375" height="40"/> |
92 | <color key="backgroundColor" white="1" alpha="0.26000000000000001" colorSpace="custom" customColorSpace="genericGamma22GrayColorSpace"/> | ||
88 | <string key="text" base64-UTF8="YES"> | 93 | <string key="text" base64-UTF8="YES"> |
89 | MjAxNuW5tCAx5pyIMjLml6XjgIDvvI3jgIAyMDE35bm0IDHmnIgyMeaXpQ0KAA | 94 | MjAxNuW5tCAx5pyIMjLml6XjgIDvvI3jgIAyMDE35bm0IDHmnIgyMeaXpQ0KAA |
90 | </string> | 95 | </string> |
91 | <fontDescription key="fontDescription" type="system" pointSize="13"/> | 96 | <fontDescription key="fontDescription" type="system" pointSize="13"/> |
92 | <color key="textColor" white="1" alpha="1" colorSpace="calibratedWhite"/> | 97 | <color key="textColor" white="1" alpha="1" colorSpace="calibratedWhite"/> |
93 | <nil key="highlightedColor"/> | 98 | <nil key="highlightedColor"/> |
94 | </label> | 99 | </label> |
95 | <button opaque="NO" contentMode="scaleToFill" contentHorizontalAlignment="center" contentVerticalAlignment="center" lineBreakMode="middleTruncation" translatesAutoresizingMaskIntoConstraints="NO" id="eiH-Sk-3VV"> | 100 | <button opaque="NO" contentMode="scaleToFill" contentHorizontalAlignment="center" contentVerticalAlignment="center" lineBreakMode="middleTruncation" translatesAutoresizingMaskIntoConstraints="NO" id="eiH-Sk-3VV"> |
96 | <rect key="frame" x="15" y="5" width="30" height="30"/> | 101 | <rect key="frame" x="15" y="5" width="30" height="30"/> |
97 | <constraints> | 102 | <constraints> |
98 | <constraint firstAttribute="height" constant="30" id="kEd-sQ-0ub"/> | 103 | <constraint firstAttribute="height" constant="30" id="kEd-sQ-0ub"/> |
99 | <constraint firstAttribute="width" constant="30" id="sFT-sr-7pL"/> | 104 | <constraint firstAttribute="width" constant="30" id="sFT-sr-7pL"/> |
100 | </constraints> | 105 | </constraints> |
101 | <state key="normal" image="icon_left"/> | 106 | <state key="normal" image="icon_left"/> |
102 | <connections> | 107 | <connections> |
103 | <action selector="clickBackward:" destination="-1" eventType="touchUpInside" id="8KB-3G-h6v"/> | 108 | <action selector="clickBackward:" destination="-1" eventType="touchUpInside" id="8KB-3G-h6v"/> |
104 | </connections> | 109 | </connections> |
105 | </button> | 110 | </button> |
106 | <button opaque="NO" contentMode="scaleToFill" contentHorizontalAlignment="center" contentVerticalAlignment="center" lineBreakMode="middleTruncation" translatesAutoresizingMaskIntoConstraints="NO" id="Usl-Cl-d9d"> | 111 | <button opaque="NO" contentMode="scaleToFill" contentHorizontalAlignment="center" contentVerticalAlignment="center" lineBreakMode="middleTruncation" translatesAutoresizingMaskIntoConstraints="NO" id="Usl-Cl-d9d"> |
107 | <rect key="frame" x="330" y="5" width="30" height="30"/> | 112 | <rect key="frame" x="330" y="5" width="30" height="30"/> |
108 | <constraints> | 113 | <constraints> |
109 | <constraint firstAttribute="width" constant="30" id="uFf-AY-LsL"/> | 114 | <constraint firstAttribute="width" constant="30" id="uFf-AY-LsL"/> |
110 | <constraint firstAttribute="height" constant="30" id="v8w-hV-CY1"/> | 115 | <constraint firstAttribute="height" constant="30" id="v8w-hV-CY1"/> |
111 | </constraints> | 116 | </constraints> |
112 | <state key="normal" image="icon_right"/> | 117 | <state key="normal" image="icon_right"/> |
113 | <connections> | 118 | <connections> |
114 | <action selector="clickForward:" destination="-1" eventType="touchUpInside" id="sgL-89-hXv"/> | 119 | <action selector="clickForward:" destination="-1" eventType="touchUpInside" id="sgL-89-hXv"/> |
115 | </connections> | 120 | </connections> |
116 | </button> | 121 | </button> |
117 | </subviews> | 122 | </subviews> |
118 | <color key="backgroundColor" white="0.0" alpha="0.0" colorSpace="calibratedWhite"/> | 123 | <color key="backgroundColor" white="0.0" alpha="0.0" colorSpace="calibratedWhite"/> |
119 | <constraints> | 124 | <constraints> |
120 | <constraint firstAttribute="height" constant="40" id="C5o-Zd-KjG"/> | 125 | <constraint firstAttribute="height" constant="40" id="C5o-Zd-KjG"/> |
121 | <constraint firstAttribute="bottom" secondItem="5Ro-k6-fvT" secondAttribute="bottom" id="DQQ-wh-s1Q"/> | 126 | <constraint firstAttribute="bottom" secondItem="5Ro-k6-fvT" secondAttribute="bottom" id="DQQ-wh-s1Q"/> |
122 | <constraint firstAttribute="trailing" secondItem="5Ro-k6-fvT" secondAttribute="trailing" id="E0c-bJ-AIi"/> | 127 | <constraint firstAttribute="trailing" secondItem="5Ro-k6-fvT" secondAttribute="trailing" id="E0c-bJ-AIi"/> |
123 | <constraint firstItem="5Ro-k6-fvT" firstAttribute="top" secondItem="u5D-xz-8dK" secondAttribute="top" id="Mrk-FC-rqh"/> | 128 | <constraint firstItem="5Ro-k6-fvT" firstAttribute="top" secondItem="u5D-xz-8dK" secondAttribute="top" id="Mrk-FC-rqh"/> |
124 | <constraint firstItem="eiH-Sk-3VV" firstAttribute="centerY" secondItem="u5D-xz-8dK" secondAttribute="centerY" id="k2J-Lc-ZDI"/> | 129 | <constraint firstItem="eiH-Sk-3VV" firstAttribute="centerY" secondItem="u5D-xz-8dK" secondAttribute="centerY" id="k2J-Lc-ZDI"/> |
125 | <constraint firstItem="5Ro-k6-fvT" firstAttribute="leading" secondItem="u5D-xz-8dK" secondAttribute="leading" id="rj5-0J-xs3"/> | 130 | <constraint firstItem="5Ro-k6-fvT" firstAttribute="leading" secondItem="u5D-xz-8dK" secondAttribute="leading" id="rj5-0J-xs3"/> |
126 | <constraint firstItem="Usl-Cl-d9d" firstAttribute="centerY" secondItem="u5D-xz-8dK" secondAttribute="centerY" id="sJX-n3-1pz"/> | 131 | <constraint firstItem="Usl-Cl-d9d" firstAttribute="centerY" secondItem="u5D-xz-8dK" secondAttribute="centerY" id="sJX-n3-1pz"/> |
127 | <constraint firstItem="eiH-Sk-3VV" firstAttribute="leading" secondItem="u5D-xz-8dK" secondAttribute="leading" constant="15" id="to7-WU-7xo"/> | 132 | <constraint firstItem="eiH-Sk-3VV" firstAttribute="leading" secondItem="u5D-xz-8dK" secondAttribute="leading" constant="15" id="to7-WU-7xo"/> |
128 | <constraint firstAttribute="trailing" secondItem="Usl-Cl-d9d" secondAttribute="trailing" constant="15" id="yDF-9k-XlW"/> | 133 | <constraint firstAttribute="trailing" secondItem="Usl-Cl-d9d" secondAttribute="trailing" constant="15" id="yDF-9k-XlW"/> |
129 | </constraints> | 134 | </constraints> |
130 | </view> | 135 | </view> |
131 | <view contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="oUo-Eo-tz5" customClass="CollectionView"> | 136 | <view contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="oUo-Eo-tz5" customClass="CollectionView"> |
132 | <rect key="frame" x="0.0" y="577" width="375" height="40"/> | 137 | <rect key="frame" x="0.0" y="577" width="375" height="40"/> |
133 | <color key="backgroundColor" white="0.0" alpha="0.0" colorSpace="calibratedWhite"/> | 138 | <color key="backgroundColor" white="0.0" alpha="0.0" colorSpace="calibratedWhite"/> |
134 | <constraints> | 139 | <constraints> |
135 | <constraint firstAttribute="height" constant="40" id="Trr-Ku-Ssy"/> | 140 | <constraint firstAttribute="height" constant="40" id="Trr-Ku-Ssy"/> |
136 | </constraints> | 141 | </constraints> |
137 | </view> | 142 | </view> |
138 | <tableView clipsSubviews="YES" contentMode="scaleToFill" alwaysBounceVertical="YES" style="plain" rowHeight="80" sectionHeaderHeight="28" sectionFooterHeight="28" translatesAutoresizingMaskIntoConstraints="NO" id="R3A-K9-MFe"> | 143 | <tableView clipsSubviews="YES" contentMode="scaleToFill" alwaysBounceVertical="YES" style="plain" rowHeight="80" sectionHeaderHeight="28" sectionFooterHeight="28" translatesAutoresizingMaskIntoConstraints="NO" id="R3A-K9-MFe"> |
139 | <rect key="frame" x="0.0" y="147" width="375" height="429"/> | 144 | <rect key="frame" x="0.0" y="147" width="375" height="429"/> |
140 | <color key="backgroundColor" white="0.0" alpha="0.0" colorSpace="calibratedWhite"/> | 145 | <color key="backgroundColor" white="0.0" alpha="0.0" colorSpace="calibratedWhite"/> |
141 | <color key="separatorColor" white="0.0" alpha="0.0" colorSpace="calibratedWhite"/> | 146 | <color key="separatorColor" white="0.0" alpha="0.0" colorSpace="calibratedWhite"/> |
142 | <connections> | 147 | <connections> |
143 | <outlet property="dataSource" destination="-1" id="JJX-cg-LPL"/> | 148 | <outlet property="dataSource" destination="-1" id="JJX-cg-LPL"/> |
144 | <outlet property="delegate" destination="-1" id="u0m-93-lsi"/> | 149 | <outlet property="delegate" destination="-1" id="u0m-93-lsi"/> |
145 | </connections> | 150 | </connections> |
146 | </tableView> | 151 | </tableView> |
147 | </subviews> | 152 | </subviews> |
148 | <color key="backgroundColor" white="0.0" alpha="1" colorSpace="calibratedWhite"/> | 153 | <color key="backgroundColor" white="0.0" alpha="1" colorSpace="calibratedWhite"/> |
149 | <constraints> | 154 | <constraints> |
155 | <constraint firstAttribute="bottom" secondItem="r1L-Yo-yok" secondAttribute="bottom" id="2FS-lA-RFH"/> | ||
150 | <constraint firstItem="B33-xX-Jro" firstAttribute="leading" secondItem="i5M-Pr-FkT" secondAttribute="leading" id="2Mu-hy-FVU"/> | 156 | <constraint firstItem="B33-xX-Jro" firstAttribute="leading" secondItem="i5M-Pr-FkT" secondAttribute="leading" id="2Mu-hy-FVU"/> |
151 | <constraint firstItem="GBx-lY-9YI" firstAttribute="top" secondItem="i5M-Pr-FkT" secondAttribute="top" id="5CL-wT-MBg"/> | 157 | <constraint firstAttribute="trailing" secondItem="r1L-Yo-yok" secondAttribute="trailing" id="4oe-36-E65"/> |
158 | <constraint firstItem="GBx-lY-9YI" firstAttribute="top" secondItem="i5M-Pr-FkT" secondAttribute="top" priority="750" id="5CL-wT-MBg"/> | ||
152 | <constraint firstItem="u5D-xz-8dK" firstAttribute="top" secondItem="syA-uK-pbr" secondAttribute="bottom" id="5uu-dZ-oXI"/> | 159 | <constraint firstItem="u5D-xz-8dK" firstAttribute="top" secondItem="syA-uK-pbr" secondAttribute="bottom" id="5uu-dZ-oXI"/> |
153 | <constraint firstItem="syA-uK-pbr" firstAttribute="top" secondItem="GBx-lY-9YI" secondAttribute="bottom" id="6FQ-vy-d4N"/> | 160 | <constraint firstItem="syA-uK-pbr" firstAttribute="top" secondItem="GBx-lY-9YI" secondAttribute="bottom" id="6FQ-vy-d4N"/> |
154 | <constraint firstItem="u5D-xz-8dK" firstAttribute="leading" secondItem="i5M-Pr-FkT" secondAttribute="leading" id="75z-RN-ObF"/> | 161 | <constraint firstItem="u5D-xz-8dK" firstAttribute="leading" secondItem="i5M-Pr-FkT" secondAttribute="leading" id="75z-RN-ObF"/> |
162 | <constraint firstItem="r1L-Yo-yok" firstAttribute="leading" secondItem="i5M-Pr-FkT" secondAttribute="leading" id="8MA-f9-RUi"/> | ||
163 | <constraint firstItem="r1L-Yo-yok" firstAttribute="top" secondItem="i5M-Pr-FkT" secondAttribute="top" id="E6k-kZ-HaE"/> | ||
155 | <constraint firstItem="R3A-K9-MFe" firstAttribute="leading" secondItem="i5M-Pr-FkT" secondAttribute="leading" id="LyL-9p-qcd"/> | 164 | <constraint firstItem="R3A-K9-MFe" firstAttribute="leading" secondItem="i5M-Pr-FkT" secondAttribute="leading" id="LyL-9p-qcd"/> |
156 | <constraint firstItem="oUo-Eo-tz5" firstAttribute="leading" secondItem="i5M-Pr-FkT" secondAttribute="leading" id="M7I-ue-lip"/> | 165 | <constraint firstItem="oUo-Eo-tz5" firstAttribute="leading" secondItem="i5M-Pr-FkT" secondAttribute="leading" id="M7I-ue-lip"/> |
157 | <constraint firstAttribute="trailing" secondItem="B33-xX-Jro" secondAttribute="trailing" id="Pjd-Ay-GaV"/> | 166 | <constraint firstAttribute="trailing" secondItem="B33-xX-Jro" secondAttribute="trailing" id="Pjd-Ay-GaV"/> |
158 | <constraint firstItem="oUo-Eo-tz5" firstAttribute="top" secondItem="R3A-K9-MFe" secondAttribute="bottom" constant="1" id="QMu-aq-2Zt"/> | 167 | <constraint firstItem="oUo-Eo-tz5" firstAttribute="top" secondItem="R3A-K9-MFe" secondAttribute="bottom" constant="1" id="QMu-aq-2Zt"/> |
159 | <constraint firstAttribute="trailing" secondItem="syA-uK-pbr" secondAttribute="trailing" id="Qnl-Pp-y2G"/> | 168 | <constraint firstAttribute="trailing" secondItem="syA-uK-pbr" secondAttribute="trailing" id="Qnl-Pp-y2G"/> |
160 | <constraint firstItem="B33-xX-Jro" firstAttribute="top" secondItem="u5D-xz-8dK" secondAttribute="bottom" id="VOl-jo-wU3"/> | 169 | <constraint firstItem="B33-xX-Jro" firstAttribute="top" secondItem="u5D-xz-8dK" secondAttribute="bottom" id="VOl-jo-wU3"/> |
161 | <constraint firstItem="GBx-lY-9YI" firstAttribute="leading" secondItem="i5M-Pr-FkT" secondAttribute="leading" id="YjB-ef-xTt"/> | 170 | <constraint firstItem="GBx-lY-9YI" firstAttribute="leading" secondItem="i5M-Pr-FkT" secondAttribute="leading" id="YjB-ef-xTt"/> |
162 | <constraint firstItem="syA-uK-pbr" firstAttribute="leading" secondItem="i5M-Pr-FkT" secondAttribute="leading" id="aTf-mb-wlT"/> | 171 | <constraint firstItem="syA-uK-pbr" firstAttribute="leading" secondItem="i5M-Pr-FkT" secondAttribute="leading" id="aTf-mb-wlT"/> |
163 | <constraint firstAttribute="bottom" secondItem="oUo-Eo-tz5" secondAttribute="bottom" constant="50" placeholder="YES" id="cux-Vm-qq7"/> | 172 | <constraint firstAttribute="bottom" secondItem="oUo-Eo-tz5" secondAttribute="bottom" constant="50" placeholder="YES" id="cux-Vm-qq7"/> |
164 | <constraint firstAttribute="trailing" secondItem="R3A-K9-MFe" secondAttribute="trailing" id="jBn-JI-SQP"/> | 173 | <constraint firstAttribute="trailing" secondItem="R3A-K9-MFe" secondAttribute="trailing" id="jBn-JI-SQP"/> |
165 | <constraint firstItem="R3A-K9-MFe" firstAttribute="top" secondItem="B33-xX-Jro" secondAttribute="bottom" constant="1" id="jTi-59-XsZ"/> | 174 | <constraint firstItem="R3A-K9-MFe" firstAttribute="top" secondItem="B33-xX-Jro" secondAttribute="bottom" constant="1" id="jTi-59-XsZ"/> |
166 | <constraint firstAttribute="trailing" secondItem="u5D-xz-8dK" secondAttribute="trailing" id="mDB-o3-gtA"/> | 175 | <constraint firstAttribute="trailing" secondItem="u5D-xz-8dK" secondAttribute="trailing" id="mDB-o3-gtA"/> |
167 | <constraint firstAttribute="trailing" secondItem="GBx-lY-9YI" secondAttribute="trailing" id="yaf-8r-ySL"/> | 176 | <constraint firstAttribute="trailing" secondItem="GBx-lY-9YI" secondAttribute="trailing" id="yaf-8r-ySL"/> |
168 | <constraint firstAttribute="trailing" secondItem="oUo-Eo-tz5" secondAttribute="trailing" id="zkl-by-qMp"/> | 177 | <constraint firstAttribute="trailing" secondItem="oUo-Eo-tz5" secondAttribute="trailing" id="zkl-by-qMp"/> |
169 | </constraints> | 178 | </constraints> |
170 | <point key="canvasLocation" x="26.5" y="52.5"/> | 179 | <point key="canvasLocation" x="26.5" y="52.5"/> |
171 | </view> | 180 | </view> |
172 | </objects> | 181 | </objects> |
173 | <resources> | 182 | <resources> |
183 | <image name="background" width="1563" height="2778"/> | ||
174 | <image name="icon_left" width="30" height="30"/> | 184 | <image name="icon_left" width="30" height="30"/> |
175 | <image name="icon_menu" width="30" height="30"/> | 185 | <image name="icon_menu" width="30" height="30"/> |
176 | <image name="icon_right" width="30" height="30"/> | 186 | <image name="icon_right" width="30" height="30"/> |
177 | <image name="today_back_button" width="73" height="37"/> | 187 | <image name="today_back_button" width="73" height="37"/> |
178 | </resources> | 188 | </resources> |
179 | </document> | 189 | </document> |
180 | 190 |
LifeLog/LifeLog/SNSViewController.h
1 | // | 1 | // |
2 | // SNSViewController.h | 2 | // SNSViewController.h |
3 | // LifeLog | 3 | // LifeLog |
4 | // | 4 | // |
5 | // Created by Nguyen Van Phong on 7/25/17. | 5 | // Created by Nguyen Van Phong on 7/25/17. |
6 | // Copyright © 2017 PhongNV. All rights reserved. | 6 | // Copyright © 2017 PhongNV. All rights reserved. |
7 | // | 7 | // |
8 | 8 | ||
9 | #import <UIKit/UIKit.h> | 9 | #import <UIKit/UIKit.h> |
10 | #import "BaseTableViewController.h" | 10 | #import "BaseTableViewController.h" |
11 | 11 | ||
12 | @interface SNSViewController : BaseTableViewController { | 12 | @interface SNSViewController : BaseTableViewController { |
13 | 13 | ||
14 | } | 14 | } |
15 | @property (weak, nonatomic) IBOutlet UIView *viewHeader; | ||
15 | 16 | ||
16 | - (IBAction)clickRecommendGroup:(id)sender; | 17 | - (IBAction)clickRecommendGroup:(id)sender; |
17 | - (IBAction)clickMyGroup:(id)sender; | 18 | - (IBAction)clickMyGroup:(id)sender; |
18 | 19 | ||
19 | @end | 20 | @end |
20 | 21 |
LifeLog/LifeLog/SNSViewController.m
1 | // | 1 | // |
2 | // SNSViewController.m | 2 | // SNSViewController.m |
3 | // LifeLog | 3 | // LifeLog |
4 | // | 4 | // |
5 | // Created by Nguyen Van Phong on 7/25/17. | 5 | // Created by Nguyen Van Phong on 7/25/17. |
6 | // Copyright © 2017 PhongNV. All rights reserved. | 6 | // Copyright © 2017 PhongNV. All rights reserved. |
7 | // | 7 | // |
8 | 8 | ||
9 | #import "SNSViewController.h" | 9 | #import "SNSViewController.h" |
10 | 10 | ||
11 | #import "ServerAPI.h" | 11 | #import "ServerAPI.h" |
12 | #import "Utilities.h" | 12 | #import "Utilities.h" |
13 | 13 | ||
14 | #import "SNSRecentTopicTableViewCell.h" | 14 | #import "SNSRecentTopicTableViewCell.h" |
15 | #import "MyGroupViewController.h" | 15 | #import "MyGroupViewController.h" |
16 | #import "SearchGroupViewController.h" | 16 | #import "SearchGroupViewController.h" |
17 | #import "GroupDetailViewController.h" | 17 | #import "GroupDetailViewController.h" |
18 | 18 | ||
19 | @interface SNSViewController () | 19 | @interface SNSViewController () |
20 | 20 | ||
21 | @end | 21 | @end |
22 | 22 | ||
23 | @implementation SNSViewController | 23 | @implementation SNSViewController |
24 | 24 | ||
25 | - (void)viewDidLoad { | 25 | - (void)viewDidLoad { |
26 | [super viewDidLoad]; | 26 | [super viewDidLoad]; |
27 | // Do any additional setup after loading the view from its nib. | 27 | // Do any additional setup after loading the view from its nib. |
28 | self.title = NSLocalizedString(@"lifelog.tapbar.sns", nil); | 28 | // self.title = NSLocalizedString(@"lifelog.tapbar.sns", nil); |
29 | 29 | [self.view addConstraint:[NSLayoutConstraint constraintWithItem:self.topLayoutGuide attribute:NSLayoutAttributeBottom relatedBy:NSLayoutRelationEqual toItem:self.viewHeader attribute:NSLayoutAttributeTop multiplier:1 constant:0]]; | |
30 | |||
30 | [self callRequestToUpdateData]; | 31 | [self callRequestToUpdateData]; |
31 | 32 | ||
32 | //register nib for table view | 33 | //register nib for table view |
33 | [self.tableBase registerNib:[UINib nibWithNibName:@"SNSRecentTopicTableViewCell" bundle:nil] forCellReuseIdentifier:@"RecentTopicCell"]; | 34 | [self.tableBase registerNib:[UINib nibWithNibName:@"SNSRecentTopicTableViewCell" bundle:nil] forCellReuseIdentifier:@"RecentTopicCell"]; |
34 | } | 35 | } |
35 | 36 | ||
36 | - (void)didReceiveMemoryWarning { | 37 | - (void)didReceiveMemoryWarning { |
37 | [super didReceiveMemoryWarning]; | 38 | [super didReceiveMemoryWarning]; |
38 | // Dispose of any resources that can be recreated. | 39 | // Dispose of any resources that can be recreated. |
39 | } | 40 | } |
40 | 41 | ||
41 | #pragma mark IBAction | 42 | #pragma mark IBAction |
42 | - (IBAction)clickRecommendGroup:(id)sender { | 43 | - (IBAction)clickRecommendGroup:(id)sender { |
43 | SearchGroupViewController * search = [[SearchGroupViewController alloc] init]; | 44 | SearchGroupViewController * search = [[SearchGroupViewController alloc] init]; |
44 | [self.navigationController pushViewController:search animated:true]; | 45 | [self.navigationController pushViewController:search animated:true]; |
45 | } | 46 | } |
46 | 47 | ||
47 | - (IBAction)clickMyGroup:(id)sender { | 48 | - (IBAction)clickMyGroup:(id)sender { |
48 | MyGroupViewController * myGrp = [[MyGroupViewController alloc] init]; | 49 | MyGroupViewController * myGrp = [[MyGroupViewController alloc] init]; |
49 | [self.navigationController pushViewController:myGrp animated:true]; | 50 | [self.navigationController pushViewController:myGrp animated:true]; |
50 | } | 51 | } |
51 | 52 | ||
52 | #pragma mark UITableView Delegate | 53 | #pragma mark UITableView Delegate |
53 | - (UITableViewCell *) tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath { | 54 | - (UITableViewCell *) tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath { |
54 | SNSRecentTopicTableViewCell * cell = [tableView dequeueReusableCellWithIdentifier:@"RecentTopicCell"]; | 55 | SNSRecentTopicTableViewCell * cell = [tableView dequeueReusableCellWithIdentifier:@"RecentTopicCell"]; |
55 | TweetObject *object = [_curDataList objectAtIndex:indexPath.row]; | 56 | TweetObject *object = [_curDataList objectAtIndex:indexPath.row]; |
56 | [cell setTweetsData:object]; | 57 | [cell setTweetsData:object]; |
57 | return cell; | 58 | return cell; |
58 | } | 59 | } |
59 | 60 | ||
60 | #pragma mark Private Function | 61 | #pragma mark Private Function |
61 | 62 | ||
62 | -(void) callRequestToUpdateData { | 63 | -(void) callRequestToUpdateData { |
63 | [super callRequestToUpdateData]; | 64 | [super callRequestToUpdateData]; |
64 | 65 | ||
65 | NSString * token = [[NSUserDefaults standardUserDefaults] stringForKey:kToken]; | 66 | NSString * token = [[NSUserDefaults standardUserDefaults] stringForKey:kToken]; |
66 | MBProgressHUD *hudView = nil; | 67 | MBProgressHUD *hudView = nil; |
67 | if(_curPage == 1 && !self.refreshControl.isRefreshing) { | 68 | if(_curPage == 1 && !self.refreshControl.isRefreshing) { |
68 | hudView = [MBProgressHUD showHUDAddedTo:self.view animated:true]; | 69 | hudView = [MBProgressHUD showHUDAddedTo:self.view animated:true]; |
69 | } | 70 | } |
70 | [[ServerAPI server] requestTweetsList:token groupID:-1 withPage:_curPage CompletionHandler:^(NSArray *array, NSError *error){ | 71 | [[ServerAPI server] requestTweetsList:token groupID:-1 withPage:_curPage CompletionHandler:^(NSArray *array, NSError *error){ |
71 | dispatch_async(dispatch_get_main_queue(), ^{ | 72 | dispatch_async(dispatch_get_main_queue(), ^{ |
72 | if(hudView != nil) { | 73 | if(hudView != nil) { |
73 | [hudView hideAnimated:true]; | 74 | [hudView hideAnimated:true]; |
74 | } | 75 | } |
75 | }); | 76 | }); |
76 | SNSViewController __weak *weakSelf = self; | 77 | SNSViewController __weak *weakSelf = self; |
77 | [weakSelf updateTableData:array error:error]; | 78 | [weakSelf updateTableData:array error:error]; |
78 | }]; | 79 | }]; |
79 | } | 80 | } |
80 | 81 | ||
81 | @end | 82 | @end |
82 | 83 |
LifeLog/LifeLog/SNSViewController.xib
1 | <?xml version="1.0" encoding="UTF-8"?> | 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="13529" targetRuntime="iOS.CocoaTouch" propertyAccessControl="none" useAutolayout="YES" useTraitCollections="YES" colorMatched="YES"> |
3 | <device id="retina4_7" orientation="portrait"> | 3 | <device id="retina4_7" orientation="portrait"> |
4 | <adaptation id="fullscreen"/> | 4 | <adaptation id="fullscreen"/> |
5 | </device> | 5 | </device> |
6 | <dependencies> | 6 | <dependencies> |
7 | <plugIn identifier="com.apple.InterfaceBuilder.IBCocoaTouchPlugin" version="12086"/> | 7 | <deployment identifier="iOS"/> |
8 | <plugIn identifier="com.apple.InterfaceBuilder.IBCocoaTouchPlugin" version="13527"/> | ||
8 | <capability name="documents saved in the Xcode 8 format" minToolsVersion="8.0"/> | 9 | <capability name="documents saved in the Xcode 8 format" minToolsVersion="8.0"/> |
9 | </dependencies> | 10 | </dependencies> |
10 | <objects> | 11 | <objects> |
11 | <placeholder placeholderIdentifier="IBFilesOwner" id="-1" userLabel="File's Owner" customClass="SNSViewController"> | 12 | <placeholder placeholderIdentifier="IBFilesOwner" id="-1" userLabel="File's Owner" customClass="SNSViewController"> |
12 | <connections> | 13 | <connections> |
13 | <outlet property="tableBase" destination="KcG-O5-UhK" id="gDL-iU-n52"/> | 14 | <outlet property="tableBase" destination="KcG-O5-UhK" id="gDL-iU-n52"/> |
14 | <outlet property="view" destination="i5M-Pr-FkT" id="sfx-zR-JGt"/> | 15 | <outlet property="view" destination="i5M-Pr-FkT" id="sfx-zR-JGt"/> |
16 | <outlet property="viewHeader" destination="O4Q-H0-WBO" id="b3J-Om-x9l"/> | ||
15 | </connections> | 17 | </connections> |
16 | </placeholder> | 18 | </placeholder> |
17 | <placeholder placeholderIdentifier="IBFirstResponder" id="-2" customClass="UIResponder"/> | 19 | <placeholder placeholderIdentifier="IBFirstResponder" id="-2" customClass="UIResponder"/> |
18 | <view clearsContextBeforeDrawing="NO" contentMode="scaleToFill" id="i5M-Pr-FkT"> | 20 | <view clearsContextBeforeDrawing="NO" contentMode="scaleToFill" id="i5M-Pr-FkT"> |
19 | <rect key="frame" x="0.0" y="0.0" width="375" height="667"/> | 21 | <rect key="frame" x="0.0" y="0.0" width="375" height="667"/> |
20 | <autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/> | 22 | <autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/> |
21 | <subviews> | 23 | <subviews> |
22 | <view contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="O4Q-H0-WBO" userLabel="ViewHeader"> | 24 | <view contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="O4Q-H0-WBO" userLabel="ViewHeader"> |
23 | <rect key="frame" x="0.0" y="0.0" width="375" height="46"/> | 25 | <rect key="frame" x="0.0" y="0.0" width="375" height="46"/> |
24 | <subviews> | 26 | <subviews> |
25 | <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="SNS" textAlignment="center" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="afS-51-Q5Z" customClass="AutoTransLabel"> | 27 | <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="SNS" textAlignment="center" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="afS-51-Q5Z" customClass="AutoTransLabel"> |
26 | <rect key="frame" x="0.0" y="0.0" width="375" height="46"/> | 28 | <rect key="frame" x="0.0" y="0.0" width="375" height="46"/> |
27 | <fontDescription key="fontDescription" type="system" pointSize="17"/> | 29 | <fontDescription key="fontDescription" type="system" pointSize="17"/> |
28 | <color key="textColor" white="1" alpha="1" colorSpace="calibratedWhite"/> | 30 | <color key="textColor" white="1" alpha="1" colorSpace="calibratedWhite"/> |
29 | <nil key="highlightedColor"/> | 31 | <nil key="highlightedColor"/> |
30 | <userDefinedRuntimeAttributes> | 32 | <userDefinedRuntimeAttributes> |
31 | <userDefinedRuntimeAttribute type="string" keyPath="localizeKey" value="lifelog.sns.title"/> | 33 | <userDefinedRuntimeAttribute type="string" keyPath="localizeKey" value="lifelog.sns.title"/> |
32 | </userDefinedRuntimeAttributes> | 34 | </userDefinedRuntimeAttributes> |
33 | </label> | 35 | </label> |
34 | <button hidden="YES" opaque="NO" contentMode="scaleToFill" contentHorizontalAlignment="center" contentVerticalAlignment="center" lineBreakMode="middleTruncation" translatesAutoresizingMaskIntoConstraints="NO" id="BIE-oM-ejb"> | 36 | <button hidden="YES" opaque="NO" contentMode="scaleToFill" contentHorizontalAlignment="center" contentVerticalAlignment="center" lineBreakMode="middleTruncation" translatesAutoresizingMaskIntoConstraints="NO" id="BIE-oM-ejb"> |
35 | <rect key="frame" x="0.0" y="5" width="70" height="36"/> | 37 | <rect key="frame" x="0.0" y="5" width="70" height="36"/> |
36 | <constraints> | 38 | <constraints> |
37 | <constraint firstAttribute="width" constant="70" id="ZpD-Ru-8wG"/> | 39 | <constraint firstAttribute="width" constant="70" id="ZpD-Ru-8wG"/> |
38 | </constraints> | 40 | </constraints> |
39 | <state key="normal" image="today_back_button"/> | 41 | <state key="normal" image="today_back_button"/> |
40 | </button> | 42 | </button> |
41 | <button opaque="NO" contentMode="scaleToFill" contentHorizontalAlignment="center" contentVerticalAlignment="center" lineBreakMode="middleTruncation" translatesAutoresizingMaskIntoConstraints="NO" id="CJn-w1-o2o"> | 43 | <button opaque="NO" contentMode="scaleToFill" contentHorizontalAlignment="center" contentVerticalAlignment="center" lineBreakMode="middleTruncation" translatesAutoresizingMaskIntoConstraints="NO" id="CJn-w1-o2o"> |
42 | <rect key="frame" x="330" y="0.0" width="45" height="46"/> | 44 | <rect key="frame" x="330" y="0.0" width="45" height="46"/> |
43 | <constraints> | 45 | <constraints> |
44 | <constraint firstAttribute="width" constant="45" id="5jv-6w-JAE"/> | 46 | <constraint firstAttribute="width" constant="45" id="5jv-6w-JAE"/> |
45 | </constraints> | 47 | </constraints> |
46 | <state key="normal" image="icon_menu"/> | 48 | <state key="normal" image="icon_menu"/> |
47 | </button> | 49 | </button> |
48 | </subviews> | 50 | </subviews> |
49 | <color key="backgroundColor" red="0.098039215690000001" green="0.098039215690000001" blue="0.098039215690000001" alpha="1" colorSpace="custom" customColorSpace="sRGB"/> | 51 | <color key="backgroundColor" red="0.0" green="0.0" blue="0.2196078431372549" alpha="1" colorSpace="custom" customColorSpace="sRGB"/> |
50 | <constraints> | 52 | <constraints> |
51 | <constraint firstItem="CJn-w1-o2o" firstAttribute="top" secondItem="O4Q-H0-WBO" secondAttribute="top" id="1zI-mI-RXX"/> | 53 | <constraint firstItem="CJn-w1-o2o" firstAttribute="top" secondItem="O4Q-H0-WBO" secondAttribute="top" id="1zI-mI-RXX"/> |
52 | <constraint firstAttribute="trailing" secondItem="afS-51-Q5Z" secondAttribute="trailing" id="7I5-1M-8AE"/> | 54 | <constraint firstAttribute="trailing" secondItem="afS-51-Q5Z" secondAttribute="trailing" id="7I5-1M-8AE"/> |
53 | <constraint firstItem="afS-51-Q5Z" firstAttribute="leading" secondItem="O4Q-H0-WBO" secondAttribute="leading" id="IEr-WN-6MO"/> | 55 | <constraint firstItem="afS-51-Q5Z" firstAttribute="leading" secondItem="O4Q-H0-WBO" secondAttribute="leading" id="IEr-WN-6MO"/> |
54 | <constraint firstAttribute="bottom" secondItem="afS-51-Q5Z" secondAttribute="bottom" id="LNL-Mo-g5c"/> | 56 | <constraint firstAttribute="bottom" secondItem="afS-51-Q5Z" secondAttribute="bottom" id="LNL-Mo-g5c"/> |
55 | <constraint firstItem="BIE-oM-ejb" firstAttribute="leading" secondItem="O4Q-H0-WBO" secondAttribute="leading" id="O9H-bB-I0V"/> | 57 | <constraint firstItem="BIE-oM-ejb" firstAttribute="leading" secondItem="O4Q-H0-WBO" secondAttribute="leading" id="O9H-bB-I0V"/> |
56 | <constraint firstAttribute="height" constant="46" id="Pmw-mV-DhU"/> | 58 | <constraint firstAttribute="height" constant="46" id="Pmw-mV-DhU"/> |
57 | <constraint firstAttribute="bottom" secondItem="CJn-w1-o2o" secondAttribute="bottom" id="Xmh-Qg-N81"/> | 59 | <constraint firstAttribute="bottom" secondItem="CJn-w1-o2o" secondAttribute="bottom" id="Xmh-Qg-N81"/> |
58 | <constraint firstAttribute="trailing" secondItem="CJn-w1-o2o" secondAttribute="trailing" id="l2g-NC-l1f"/> | 60 | <constraint firstAttribute="trailing" secondItem="CJn-w1-o2o" secondAttribute="trailing" id="l2g-NC-l1f"/> |
59 | <constraint firstAttribute="bottom" secondItem="BIE-oM-ejb" secondAttribute="bottom" constant="5" id="lwA-7z-Gi9"/> | 61 | <constraint firstAttribute="bottom" secondItem="BIE-oM-ejb" secondAttribute="bottom" constant="5" id="lwA-7z-Gi9"/> |
60 | <constraint firstItem="BIE-oM-ejb" firstAttribute="top" secondItem="O4Q-H0-WBO" secondAttribute="top" constant="5" id="r6e-SB-lb7"/> | 62 | <constraint firstItem="BIE-oM-ejb" firstAttribute="top" secondItem="O4Q-H0-WBO" secondAttribute="top" constant="5" id="r6e-SB-lb7"/> |
61 | <constraint firstItem="afS-51-Q5Z" firstAttribute="top" secondItem="O4Q-H0-WBO" secondAttribute="top" id="vAx-Bu-CLe"/> | 63 | <constraint firstItem="afS-51-Q5Z" firstAttribute="top" secondItem="O4Q-H0-WBO" secondAttribute="top" id="vAx-Bu-CLe"/> |
62 | </constraints> | 64 | </constraints> |
63 | </view> | 65 | </view> |
64 | <button opaque="NO" contentMode="scaleToFill" contentHorizontalAlignment="center" contentVerticalAlignment="center" buttonType="roundedRect" lineBreakMode="middleTruncation" translatesAutoresizingMaskIntoConstraints="NO" id="5ZL-zf-geZ" customClass="AutoTransButton"> | 66 | <button opaque="NO" contentMode="scaleToFill" contentHorizontalAlignment="center" contentVerticalAlignment="center" buttonType="roundedRect" lineBreakMode="middleTruncation" translatesAutoresizingMaskIntoConstraints="NO" id="5ZL-zf-geZ" customClass="AutoTransButton"> |
65 | <rect key="frame" x="20" y="76" width="335" height="40"/> | 67 | <rect key="frame" x="20" y="76" width="335" height="40"/> |
66 | <color key="backgroundColor" white="0.33333333333333331" alpha="1" colorSpace="calibratedWhite"/> | 68 | <color key="backgroundColor" white="0.33333333333333331" alpha="1" colorSpace="calibratedWhite"/> |
67 | <constraints> | 69 | <constraints> |
68 | <constraint firstAttribute="height" constant="40" id="ATx-eA-hJ1"/> | 70 | <constraint firstAttribute="height" constant="40" id="ATx-eA-hJ1"/> |
69 | </constraints> | 71 | </constraints> |
70 | <fontDescription key="fontDescription" type="system" pointSize="13"/> | 72 | <fontDescription key="fontDescription" type="system" pointSize="13"/> |
71 | <state key="normal"> | 73 | <state key="normal"> |
72 | <string key="title" base64-UTF8="YES"> | 74 | <string key="title" base64-UTF8="YES"> |
73 | 44Kq44K544K544Oh44Kw44Or44O844OXAA | 75 | 44Kq44K544K544Oh44Kw44Or44O844OXAA |
74 | </string> | 76 | </string> |
75 | <color key="titleColor" white="1" alpha="1" colorSpace="calibratedWhite"/> | 77 | <color key="titleColor" white="1" alpha="1" colorSpace="calibratedWhite"/> |
76 | </state> | 78 | </state> |
77 | <userDefinedRuntimeAttributes> | 79 | <userDefinedRuntimeAttributes> |
78 | <userDefinedRuntimeAttribute type="number" keyPath="layer.corderRadius"> | 80 | <userDefinedRuntimeAttribute type="number" keyPath="layer.corderRadius"> |
79 | <integer key="value" value="5"/> | 81 | <integer key="value" value="5"/> |
80 | </userDefinedRuntimeAttribute> | 82 | </userDefinedRuntimeAttribute> |
81 | <userDefinedRuntimeAttribute type="string" keyPath="localizeKey" value="lifelog.sns.bt.commendgroup"/> | 83 | <userDefinedRuntimeAttribute type="string" keyPath="localizeKey" value="lifelog.sns.bt.commendgroup"/> |
82 | </userDefinedRuntimeAttributes> | 84 | </userDefinedRuntimeAttributes> |
83 | <connections> | 85 | <connections> |
84 | <action selector="clickRecommendGroup:" destination="-1" eventType="touchUpInside" id="DEw-ej-loH"/> | 86 | <action selector="clickRecommendGroup:" destination="-1" eventType="touchUpInside" id="DEw-ej-loH"/> |
85 | </connections> | 87 | </connections> |
86 | </button> | 88 | </button> |
87 | <button opaque="NO" contentMode="scaleToFill" contentHorizontalAlignment="center" contentVerticalAlignment="center" buttonType="roundedRect" lineBreakMode="middleTruncation" translatesAutoresizingMaskIntoConstraints="NO" id="uB3-Sm-i6e" customClass="AutoTransButton"> | 89 | <button opaque="NO" contentMode="scaleToFill" contentHorizontalAlignment="center" contentVerticalAlignment="center" buttonType="roundedRect" lineBreakMode="middleTruncation" translatesAutoresizingMaskIntoConstraints="NO" id="uB3-Sm-i6e" customClass="AutoTransButton"> |
88 | <rect key="frame" x="20" y="126" width="335" height="40"/> | 90 | <rect key="frame" x="20" y="126" width="335" height="40"/> |
89 | <color key="backgroundColor" white="0.33333333333333331" alpha="1" colorSpace="calibratedWhite"/> | 91 | <color key="backgroundColor" white="0.33333333333333331" alpha="1" colorSpace="calibratedWhite"/> |
90 | <constraints> | 92 | <constraints> |
91 | <constraint firstAttribute="height" constant="40" id="oph-d8-bxh"/> | 93 | <constraint firstAttribute="height" constant="40" id="oph-d8-bxh"/> |
92 | </constraints> | 94 | </constraints> |
93 | <fontDescription key="fontDescription" type="system" pointSize="13"/> | 95 | <fontDescription key="fontDescription" type="system" pointSize="13"/> |
94 | <state key="normal"> | 96 | <state key="normal"> |
95 | <string key="title" base64-UTF8="YES"> | 97 | <string key="title" base64-UTF8="YES"> |
96 | 44Oe44Kk44Kw44Or44O844OXAA | 98 | 44Oe44Kk44Kw44Or44O844OXAA |
97 | </string> | 99 | </string> |
98 | <color key="titleColor" white="1" alpha="1" colorSpace="calibratedWhite"/> | 100 | <color key="titleColor" white="1" alpha="1" colorSpace="calibratedWhite"/> |
99 | </state> | 101 | </state> |
100 | <userDefinedRuntimeAttributes> | 102 | <userDefinedRuntimeAttributes> |
101 | <userDefinedRuntimeAttribute type="number" keyPath="layer.corderRadius"> | 103 | <userDefinedRuntimeAttribute type="number" keyPath="layer.corderRadius"> |
102 | <integer key="value" value="5"/> | 104 | <integer key="value" value="5"/> |
103 | </userDefinedRuntimeAttribute> | 105 | </userDefinedRuntimeAttribute> |
104 | <userDefinedRuntimeAttribute type="string" keyPath="localizeKey" value="lifelog.sns.bt.mygroup"/> | 106 | <userDefinedRuntimeAttribute type="string" keyPath="localizeKey" value="lifelog.sns.bt.mygroup"/> |
105 | </userDefinedRuntimeAttributes> | 107 | </userDefinedRuntimeAttributes> |
106 | <connections> | 108 | <connections> |
107 | <action selector="clickMyGroup:" destination="-1" eventType="touchUpInside" id="ph8-DF-WMt"/> | 109 | <action selector="clickMyGroup:" destination="-1" eventType="touchUpInside" id="ph8-DF-WMt"/> |
108 | </connections> | 110 | </connections> |
109 | </button> | 111 | </button> |
110 | <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="最近の話題" textAlignment="center" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="zzn-bU-X6s" customClass="AutoTransLabel"> | 112 | <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="最近の話題" textAlignment="center" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="zzn-bU-X6s" customClass="AutoTransLabel"> |
111 | <rect key="frame" x="20" y="226" width="335" height="21"/> | 113 | <rect key="frame" x="20" y="226" width="335" height="21"/> |
112 | <constraints> | 114 | <constraints> |
113 | <constraint firstAttribute="height" constant="21" id="Gu9-7U-YXF"/> | 115 | <constraint firstAttribute="height" constant="21" id="Gu9-7U-YXF"/> |
114 | </constraints> | 116 | </constraints> |
115 | <fontDescription key="fontDescription" type="system" weight="medium" pointSize="15"/> | 117 | <fontDescription key="fontDescription" type="system" weight="medium" pointSize="15"/> |
116 | <color key="textColor" white="1" alpha="1" colorSpace="calibratedWhite"/> | 118 | <color key="textColor" white="1" alpha="1" colorSpace="calibratedWhite"/> |
117 | <nil key="highlightedColor"/> | 119 | <nil key="highlightedColor"/> |
118 | <userDefinedRuntimeAttributes> | 120 | <userDefinedRuntimeAttributes> |
119 | <userDefinedRuntimeAttribute type="string" keyPath="localizeKey" value="lifelog.sns.lbl.recent"/> | 121 | <userDefinedRuntimeAttribute type="string" keyPath="localizeKey" value="lifelog.sns.lbl.recent"/> |
120 | </userDefinedRuntimeAttributes> | 122 | </userDefinedRuntimeAttributes> |
121 | </label> | 123 | </label> |
122 | <tableView clipsSubviews="YES" contentMode="scaleToFill" alwaysBounceVertical="YES" style="plain" separatorStyle="none" rowHeight="100" sectionHeaderHeight="28" sectionFooterHeight="28" translatesAutoresizingMaskIntoConstraints="NO" id="KcG-O5-UhK"> | 124 | <tableView clipsSubviews="YES" contentMode="scaleToFill" alwaysBounceVertical="YES" style="plain" separatorStyle="none" rowHeight="100" sectionHeaderHeight="28" sectionFooterHeight="28" translatesAutoresizingMaskIntoConstraints="NO" id="KcG-O5-UhK"> |
123 | <rect key="frame" x="0.0" y="255" width="375" height="362"/> | 125 | <rect key="frame" x="0.0" y="255" width="375" height="362"/> |
124 | <color key="backgroundColor" white="0.0" alpha="0.0" colorSpace="calibratedWhite"/> | 126 | <color key="backgroundColor" white="0.0" alpha="0.0" colorSpace="calibratedWhite"/> |
125 | <connections> | 127 | <connections> |
126 | <outlet property="dataSource" destination="-1" id="Y5Y-4y-Bzz"/> | 128 | <outlet property="dataSource" destination="-1" id="Y5Y-4y-Bzz"/> |
127 | <outlet property="delegate" destination="-1" id="VCg-Ha-vdk"/> | 129 | <outlet property="delegate" destination="-1" id="VCg-Ha-vdk"/> |
128 | </connections> | 130 | </connections> |
129 | </tableView> | 131 | </tableView> |
130 | </subviews> | 132 | </subviews> |
131 | <color key="backgroundColor" white="0.0" alpha="1" colorSpace="calibratedWhite"/> | 133 | <color key="backgroundColor" white="0.0" alpha="1" colorSpace="calibratedWhite"/> |
132 | <constraints> | 134 | <constraints> |
133 | <constraint firstItem="O4Q-H0-WBO" firstAttribute="top" secondItem="i5M-Pr-FkT" secondAttribute="top" id="0u7-Ks-LSt"/> | 135 | <constraint firstItem="O4Q-H0-WBO" firstAttribute="top" secondItem="i5M-Pr-FkT" secondAttribute="top" priority="750" id="0u7-Ks-LSt"/> |
134 | <constraint firstAttribute="trailing" secondItem="O4Q-H0-WBO" secondAttribute="trailing" id="2pA-85-kwM"/> | 136 | <constraint firstAttribute="trailing" secondItem="O4Q-H0-WBO" secondAttribute="trailing" id="2pA-85-kwM"/> |
135 | <constraint firstItem="zzn-bU-X6s" firstAttribute="leading" secondItem="i5M-Pr-FkT" secondAttribute="leading" constant="20" id="4Uu-Hd-lEX"/> | 137 | <constraint firstItem="zzn-bU-X6s" firstAttribute="leading" secondItem="i5M-Pr-FkT" secondAttribute="leading" constant="20" id="4Uu-Hd-lEX"/> |
136 | <constraint firstItem="uB3-Sm-i6e" firstAttribute="top" secondItem="5ZL-zf-geZ" secondAttribute="bottom" constant="10" id="BBu-TF-Z8P"/> | 138 | <constraint firstItem="uB3-Sm-i6e" firstAttribute="top" secondItem="5ZL-zf-geZ" secondAttribute="bottom" constant="10" id="BBu-TF-Z8P"/> |
137 | <constraint firstItem="O4Q-H0-WBO" firstAttribute="leading" secondItem="i5M-Pr-FkT" secondAttribute="leading" id="Ml4-eE-LTb"/> | 139 | <constraint firstItem="O4Q-H0-WBO" firstAttribute="leading" secondItem="i5M-Pr-FkT" secondAttribute="leading" id="Ml4-eE-LTb"/> |
138 | <constraint firstAttribute="bottom" secondItem="KcG-O5-UhK" secondAttribute="bottom" constant="50" id="O0M-Cr-W0f"/> | 140 | <constraint firstAttribute="bottom" secondItem="KcG-O5-UhK" secondAttribute="bottom" constant="50" id="O0M-Cr-W0f"/> |
139 | <constraint firstAttribute="trailing" secondItem="uB3-Sm-i6e" secondAttribute="trailing" constant="20" id="Qu0-ja-Iwx"/> | 141 | <constraint firstAttribute="trailing" secondItem="uB3-Sm-i6e" secondAttribute="trailing" constant="20" id="Qu0-ja-Iwx"/> |
140 | <constraint firstAttribute="trailing" secondItem="5ZL-zf-geZ" secondAttribute="trailing" constant="20" id="Sdn-yt-XFa"/> | 142 | <constraint firstAttribute="trailing" secondItem="5ZL-zf-geZ" secondAttribute="trailing" constant="20" id="Sdn-yt-XFa"/> |
141 | <constraint firstAttribute="trailing" secondItem="KcG-O5-UhK" secondAttribute="trailing" id="T6S-Bu-Yqj"/> | 143 | <constraint firstAttribute="trailing" secondItem="KcG-O5-UhK" secondAttribute="trailing" id="T6S-Bu-Yqj"/> |
142 | <constraint firstItem="5ZL-zf-geZ" firstAttribute="top" secondItem="O4Q-H0-WBO" secondAttribute="bottom" constant="30" id="byK-GM-sv0"/> | 144 | <constraint firstItem="5ZL-zf-geZ" firstAttribute="top" secondItem="O4Q-H0-WBO" secondAttribute="bottom" constant="30" id="byK-GM-sv0"/> |
143 | <constraint firstItem="KcG-O5-UhK" firstAttribute="leading" secondItem="i5M-Pr-FkT" secondAttribute="leading" id="eBl-Gj-eMk"/> | 145 | <constraint firstItem="KcG-O5-UhK" firstAttribute="leading" secondItem="i5M-Pr-FkT" secondAttribute="leading" id="eBl-Gj-eMk"/> |
144 | <constraint firstItem="zzn-bU-X6s" firstAttribute="top" secondItem="uB3-Sm-i6e" secondAttribute="bottom" constant="60" id="edW-Ji-61a"/> | 146 | <constraint firstItem="zzn-bU-X6s" firstAttribute="top" secondItem="uB3-Sm-i6e" secondAttribute="bottom" constant="60" id="edW-Ji-61a"/> |
145 | <constraint firstAttribute="trailing" secondItem="zzn-bU-X6s" secondAttribute="trailing" constant="20" id="ftd-7J-C4c"/> | 147 | <constraint firstAttribute="trailing" secondItem="zzn-bU-X6s" secondAttribute="trailing" constant="20" id="ftd-7J-C4c"/> |
146 | <constraint firstItem="5ZL-zf-geZ" firstAttribute="leading" secondItem="i5M-Pr-FkT" secondAttribute="leading" constant="20" id="jDz-q1-ufR"/> | 148 | <constraint firstItem="5ZL-zf-geZ" firstAttribute="leading" secondItem="i5M-Pr-FkT" secondAttribute="leading" constant="20" id="jDz-q1-ufR"/> |
147 | <constraint firstItem="KcG-O5-UhK" firstAttribute="top" secondItem="zzn-bU-X6s" secondAttribute="bottom" constant="8" id="lFR-We-lIy"/> | 149 | <constraint firstItem="KcG-O5-UhK" firstAttribute="top" secondItem="zzn-bU-X6s" secondAttribute="bottom" constant="8" id="lFR-We-lIy"/> |
148 | <constraint firstItem="uB3-Sm-i6e" firstAttribute="leading" secondItem="i5M-Pr-FkT" secondAttribute="leading" constant="20" id="v4n-Fr-Vhx"/> | 150 | <constraint firstItem="uB3-Sm-i6e" firstAttribute="leading" secondItem="i5M-Pr-FkT" secondAttribute="leading" constant="20" id="v4n-Fr-Vhx"/> |
149 | </constraints> | 151 | </constraints> |
150 | <point key="canvasLocation" x="24.5" y="52.5"/> | 152 | <point key="canvasLocation" x="24.5" y="52.5"/> |
151 | </view> | 153 | </view> |
152 | </objects> | 154 | </objects> |
153 | <resources> | 155 | <resources> |
154 | <image name="icon_menu" width="30" height="30"/> | 156 | <image name="icon_menu" width="30" height="30"/> |
155 | <image name="today_back_button" width="73" height="37"/> | 157 | <image name="today_back_button" width="73" height="37"/> |
156 | </resources> | 158 | </resources> |
157 | </document> | 159 | </document> |
158 | 160 |
LifeLog/LifeLog/SearchGroupViewController.h
1 | // | 1 | // |
2 | // SearchGroupViewController.h | 2 | // SearchGroupViewController.h |
3 | // LifeLog | 3 | // LifeLog |
4 | // | 4 | // |
5 | // Created by nvtu on 8/11/17. | 5 | // Created by nvtu on 8/11/17. |
6 | // Copyright © 2017 PhongNV. All rights reserved. | 6 | // Copyright © 2017 PhongNV. All rights reserved. |
7 | // | 7 | // |
8 | 8 | ||
9 | #import <UIKit/UIKit.h> | 9 | #import <UIKit/UIKit.h> |
10 | #import "BaseTableViewController.h" | 10 | #import "BaseTableViewController.h" |
11 | 11 | ||
12 | @interface SearchGroupViewController : BaseTableViewController<UITextFieldDelegate> { | 12 | @interface SearchGroupViewController : BaseTableViewController<UITextFieldDelegate> { |
13 | NSTimer *timerSearch; | 13 | NSTimer *timerSearch; |
14 | } | 14 | } |
15 | 15 | ||
16 | @property (weak, nonatomic) IBOutlet UIView *viewHeader; | ||
16 | @property (weak, nonatomic) IBOutlet UITextField *textFieldSearch; | 17 | @property (weak, nonatomic) IBOutlet UITextField *textFieldSearch; |
17 | 18 | ||
18 | - (IBAction)clickBack:(id)sender; | 19 | - (IBAction)clickBack:(id)sender; |
19 | - (IBAction)clickSearch:(id)sender; | 20 | - (IBAction)clickSearch:(id)sender; |
20 | - (IBAction)clickCreateGroup:(id)sender; | 21 | - (IBAction)clickCreateGroup:(id)sender; |
21 | 22 | ||
22 | @end | 23 | @end |
23 | 24 |
LifeLog/LifeLog/SearchGroupViewController.m
1 | // | 1 | // |
2 | // SearchGroupViewController.m | 2 | // SearchGroupViewController.m |
3 | // LifeLog | 3 | // LifeLog |
4 | // | 4 | // |
5 | // Created by nvtu on 8/11/17. | 5 | // Created by nvtu on 8/11/17. |
6 | // Copyright © 2017 PhongNV. All rights reserved. | 6 | // Copyright © 2017 PhongNV. All rights reserved. |
7 | // | 7 | // |
8 | 8 | ||
9 | #import "SearchGroupViewController.h" | 9 | #import "SearchGroupViewController.h" |
10 | 10 | ||
11 | #import <SDWebImage/UIImageView+WebCache.h> | 11 | #import <SDWebImage/UIImageView+WebCache.h> |
12 | 12 | ||
13 | #import "ServerAPI.h" | 13 | #import "ServerAPI.h" |
14 | #import "Utilities.h" | 14 | #import "Utilities.h" |
15 | 15 | ||
16 | #import "SearchGroupTableViewCell.h" | 16 | #import "SearchGroupTableViewCell.h" |
17 | #import "CreateGroupViewController.h" | 17 | #import "CreateGroupViewController.h" |
18 | #import "GroupDetailViewController.h" | 18 | #import "GroupDetailViewController.h" |
19 | 19 | ||
20 | @interface SearchGroupViewController () | 20 | @interface SearchGroupViewController () |
21 | 21 | ||
22 | @end | 22 | @end |
23 | 23 | ||
24 | @implementation SearchGroupViewController | 24 | @implementation SearchGroupViewController |
25 | 25 | ||
26 | - (void)viewDidLoad { | 26 | - (void)viewDidLoad { |
27 | [super viewDidLoad]; | 27 | [super viewDidLoad]; |
28 | [self.view addConstraint:[NSLayoutConstraint constraintWithItem:self.topLayoutGuide attribute:NSLayoutAttributeBottom relatedBy:NSLayoutRelationEqual toItem:self.viewHeader attribute:NSLayoutAttributeTop multiplier:1 constant:0]]; | ||
29 | |||
28 | [self callRequestToUpdateData]; | 30 | [self callRequestToUpdateData]; |
29 | 31 | ||
30 | //register nib for table view | 32 | //register nib for table view |
31 | [self.tableBase registerNib:[UINib nibWithNibName:@"SearchGroupTableViewCell" bundle:nil] forCellReuseIdentifier:@"SearchGroupCell"]; | 33 | [self.tableBase registerNib:[UINib nibWithNibName:@"SearchGroupTableViewCell" bundle:nil] forCellReuseIdentifier:@"SearchGroupCell"]; |
32 | } | 34 | } |
33 | 35 | ||
34 | - (void)didReceiveMemoryWarning { | 36 | - (void)didReceiveMemoryWarning { |
35 | [super didReceiveMemoryWarning]; | 37 | [super didReceiveMemoryWarning]; |
36 | // Dispose of any resources that can be recreated. | 38 | // Dispose of any resources that can be recreated. |
37 | } | 39 | } |
38 | 40 | ||
39 | #pragma mark IBAction | 41 | #pragma mark IBAction |
40 | 42 | ||
41 | - (IBAction)clickBack:(id)sender { | 43 | - (IBAction)clickBack:(id)sender { |
42 | [self.navigationController popViewControllerAnimated:true]; | 44 | [self.navigationController popViewControllerAnimated:true]; |
43 | } | 45 | } |
44 | 46 | ||
45 | - (IBAction)clickSearch:(id)sender { | 47 | - (IBAction)clickSearch:(id)sender { |
46 | [self.view endEditing:true]; | 48 | [self.view endEditing:true]; |
47 | [self resetData]; | 49 | [self resetData]; |
48 | } | 50 | } |
49 | 51 | ||
50 | - (IBAction)clickCreateGroup:(id)sender { | 52 | - (IBAction)clickCreateGroup:(id)sender { |
51 | CreateGroupViewController * create = [[CreateGroupViewController alloc] init]; | 53 | CreateGroupViewController * create = [[CreateGroupViewController alloc] init]; |
52 | create.createGroupSuccess = ^(GroupObject *object){ | 54 | create.createGroupSuccess = ^(GroupObject *object){ |
53 | GroupDetailViewController * detail = [[GroupDetailViewController alloc] init]; | 55 | GroupDetailViewController * detail = [[GroupDetailViewController alloc] init]; |
54 | [detail setGroup:object]; | 56 | [detail setGroup:object]; |
55 | [self.navigationController pushViewController:detail animated:true]; | 57 | [self.navigationController pushViewController:detail animated:true]; |
56 | }; | 58 | }; |
57 | [self.navigationController pushViewController:create animated:true]; | 59 | [self.navigationController pushViewController:create animated:true]; |
58 | } | 60 | } |
59 | 61 | ||
60 | #pragma mark UITableView Delegate | 62 | #pragma mark UITableView Delegate |
61 | - (UITableViewCell *) tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath { | 63 | - (UITableViewCell *) tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath { |
62 | SearchGroupTableViewCell * cell = [tableView dequeueReusableCellWithIdentifier:@"SearchGroupCell"]; | 64 | SearchGroupTableViewCell * cell = [tableView dequeueReusableCellWithIdentifier:@"SearchGroupCell"]; |
63 | GroupObject *object = [_curDataList objectAtIndex:indexPath.row]; | 65 | GroupObject *object = [_curDataList objectAtIndex:indexPath.row]; |
64 | if(object.avatar && ![object.avatar isKindOfClass:[NSNull class]]) { | 66 | if(object.avatar && ![object.avatar isKindOfClass:[NSNull class]]) { |
65 | [cell.imgAvatar sd_setImageWithURL:[NSURL URLWithString:[Utilities getImageLink:object.avatar]]]; | 67 | [cell.imgAvatar sd_setImageWithURL:[NSURL URLWithString:[Utilities getImageLink:object.avatar]]]; |
66 | } | 68 | } |
67 | else { | 69 | else { |
68 | [cell.imgAvatar setImage:[UIImage imageNamed:@"avatar_default"]]; | 70 | [cell.imgAvatar setImage:[UIImage imageNamed:@"avatar_default"]]; |
69 | } | 71 | } |
70 | cell.lblName.text = object.name; | 72 | cell.lblName.text = object.name; |
71 | return cell; | 73 | return cell; |
72 | } | 74 | } |
73 | 75 | ||
74 | -(void) scrollViewDidScroll:(UIScrollView *)scrollView { | 76 | -(void) scrollViewDidScroll:(UIScrollView *)scrollView { |
75 | [self.view endEditing:true]; | 77 | [self.view endEditing:true]; |
76 | } | 78 | } |
77 | 79 | ||
78 | -(void) tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath { | 80 | -(void) tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath { |
79 | GroupDetailViewController * detail = [[GroupDetailViewController alloc] init]; | 81 | GroupDetailViewController * detail = [[GroupDetailViewController alloc] init]; |
80 | [detail setGroup:[_curDataList objectAtIndex:indexPath.row]]; | 82 | [detail setGroup:[_curDataList objectAtIndex:indexPath.row]]; |
81 | [self.navigationController pushViewController:detail animated:true]; | 83 | [self.navigationController pushViewController:detail animated:true]; |
82 | } | 84 | } |
83 | 85 | ||
84 | #pragma mark UITextField Delegate | 86 | #pragma mark UITextField Delegate |
85 | -(BOOL) textFieldShouldReturn:(UITextField *)textField { | 87 | -(BOOL) textFieldShouldReturn:(UITextField *)textField { |
86 | [self.view endEditing:true]; | 88 | [self.view endEditing:true]; |
87 | return true; | 89 | return true; |
88 | } | 90 | } |
89 | 91 | ||
90 | -(BOOL) textField:(UITextField *)textField shouldChangeCharactersInRange:(NSRange)range replacementString:(NSString *)string { | 92 | -(BOOL) textField:(UITextField *)textField shouldChangeCharactersInRange:(NSRange)range replacementString:(NSString *)string { |
91 | if(timerSearch != nil) { | 93 | if(timerSearch != nil) { |
92 | [timerSearch invalidate]; | 94 | [timerSearch invalidate]; |
93 | } | 95 | } |
94 | timerSearch = [NSTimer scheduledTimerWithTimeInterval:1 target:self selector:@selector(resetData) userInfo:nil repeats:false]; | 96 | timerSearch = [NSTimer scheduledTimerWithTimeInterval:1 target:self selector:@selector(resetData) userInfo:nil repeats:false]; |
95 | return true; | 97 | return true; |
96 | } | 98 | } |
97 | 99 | ||
98 | #pragma mark Private Function | 100 | #pragma mark Private Function |
99 | -(void) callRequestToUpdateData { | 101 | -(void) callRequestToUpdateData { |
100 | [super callRequestToUpdateData]; | 102 | [super callRequestToUpdateData]; |
101 | 103 | ||
102 | NSString * token = [[NSUserDefaults standardUserDefaults] stringForKey:kToken]; | 104 | NSString * token = [[NSUserDefaults standardUserDefaults] stringForKey:kToken]; |
103 | MBProgressHUD *hudView = nil; | 105 | MBProgressHUD *hudView = nil; |
104 | if(_curPage == 1 && !self.refreshControl.isRefreshing) { | 106 | if(_curPage == 1 && !self.refreshControl.isRefreshing) { |
105 | hudView = [MBProgressHUD showHUDAddedTo:self.view animated:true]; | 107 | hudView = [MBProgressHUD showHUDAddedTo:self.view animated:true]; |
106 | } | 108 | } |
107 | [[ServerAPI server] searchGroup:token withKey:self.textFieldSearch.text andPage:_curPage CompletionHandler:^(NSArray *array, NSError *error) { | 109 | [[ServerAPI server] searchGroup:token withKey:self.textFieldSearch.text andPage:_curPage CompletionHandler:^(NSArray *array, NSError *error) { |
108 | dispatch_async(dispatch_get_main_queue(), ^{ | 110 | dispatch_async(dispatch_get_main_queue(), ^{ |
109 | if(hudView != nil) { | 111 | if(hudView != nil) { |
110 | [hudView hideAnimated:true]; | 112 | [hudView hideAnimated:true]; |
111 | } | 113 | } |
112 | }); | 114 | }); |
113 | SearchGroupViewController __weak *weakSelf = self; | 115 | SearchGroupViewController __weak *weakSelf = self; |
114 | [weakSelf updateTableData:array error:error]; | 116 | [weakSelf updateTableData:array error:error]; |
115 | }]; | 117 | }]; |
116 | } | 118 | } |
117 | @end | 119 | @end |
118 | 120 |
LifeLog/LifeLog/SearchGroupViewController.xib
1 | <?xml version="1.0" encoding="UTF-8"?> | 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="13529" targetRuntime="iOS.CocoaTouch" propertyAccessControl="none" useAutolayout="YES" useTraitCollections="YES" colorMatched="YES"> |
3 | <device id="retina4_7" orientation="portrait"> | 3 | <device id="retina4_7" orientation="portrait"> |
4 | <adaptation id="fullscreen"/> | 4 | <adaptation id="fullscreen"/> |
5 | </device> | 5 | </device> |
6 | <dependencies> | 6 | <dependencies> |
7 | <plugIn identifier="com.apple.InterfaceBuilder.IBCocoaTouchPlugin" version="12086"/> | 7 | <deployment identifier="iOS"/> |
8 | <plugIn identifier="com.apple.InterfaceBuilder.IBCocoaTouchPlugin" version="13527"/> | ||
8 | <capability name="documents saved in the Xcode 8 format" minToolsVersion="8.0"/> | 9 | <capability name="documents saved in the Xcode 8 format" minToolsVersion="8.0"/> |
9 | </dependencies> | 10 | </dependencies> |
10 | <objects> | 11 | <objects> |
11 | <placeholder placeholderIdentifier="IBFilesOwner" id="-1" userLabel="File's Owner" customClass="SearchGroupViewController"> | 12 | <placeholder placeholderIdentifier="IBFilesOwner" id="-1" userLabel="File's Owner" customClass="SearchGroupViewController"> |
12 | <connections> | 13 | <connections> |
13 | <outlet property="tableBase" destination="yF3-ZN-ebL" id="WYE-g2-1iW"/> | 14 | <outlet property="tableBase" destination="yF3-ZN-ebL" id="WYE-g2-1iW"/> |
14 | <outlet property="textFieldSearch" destination="ZV5-M6-gge" id="my5-ga-rV2"/> | 15 | <outlet property="textFieldSearch" destination="ZV5-M6-gge" id="my5-ga-rV2"/> |
15 | <outlet property="view" destination="i5M-Pr-FkT" id="sfx-zR-JGt"/> | 16 | <outlet property="view" destination="i5M-Pr-FkT" id="sfx-zR-JGt"/> |
17 | <outlet property="viewHeader" destination="YHv-ES-wQ0" id="QLI-K7-tqI"/> | ||
16 | </connections> | 18 | </connections> |
17 | </placeholder> | 19 | </placeholder> |
18 | <placeholder placeholderIdentifier="IBFirstResponder" id="-2" customClass="UIResponder"/> | 20 | <placeholder placeholderIdentifier="IBFirstResponder" id="-2" customClass="UIResponder"/> |
19 | <view clearsContextBeforeDrawing="NO" contentMode="scaleToFill" id="i5M-Pr-FkT"> | 21 | <view clearsContextBeforeDrawing="NO" contentMode="scaleToFill" id="i5M-Pr-FkT"> |
20 | <rect key="frame" x="0.0" y="0.0" width="375" height="667"/> | 22 | <rect key="frame" x="0.0" y="0.0" width="375" height="667"/> |
21 | <autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/> | 23 | <autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/> |
22 | <subviews> | 24 | <subviews> |
23 | <view contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="YHv-ES-wQ0" userLabel="ViewHeader"> | 25 | <view contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="YHv-ES-wQ0" userLabel="ViewHeader"> |
24 | <rect key="frame" x="0.0" y="0.0" width="375" height="46"/> | 26 | <rect key="frame" x="0.0" y="0.0" width="375" height="46"/> |
25 | <subviews> | 27 | <subviews> |
26 | <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="SNS" textAlignment="center" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="qQF-tf-31d" customClass="AutoTransLabel"> | 28 | <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="SNS" textAlignment="center" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="qQF-tf-31d" customClass="AutoTransLabel"> |
27 | <rect key="frame" x="0.0" y="0.0" width="375" height="46"/> | 29 | <rect key="frame" x="0.0" y="0.0" width="375" height="46"/> |
28 | <fontDescription key="fontDescription" type="system" pointSize="17"/> | 30 | <fontDescription key="fontDescription" type="system" pointSize="17"/> |
29 | <color key="textColor" white="1" alpha="1" colorSpace="calibratedWhite"/> | 31 | <color key="textColor" white="1" alpha="1" colorSpace="calibratedWhite"/> |
30 | <nil key="highlightedColor"/> | 32 | <nil key="highlightedColor"/> |
31 | <userDefinedRuntimeAttributes> | 33 | <userDefinedRuntimeAttributes> |
32 | <userDefinedRuntimeAttribute type="string" keyPath="localizeKey" value="lifelog.searchGr.title"/> | 34 | <userDefinedRuntimeAttribute type="string" keyPath="localizeKey" value="lifelog.searchGr.title"/> |
33 | </userDefinedRuntimeAttributes> | 35 | </userDefinedRuntimeAttributes> |
34 | </label> | 36 | </label> |
35 | <button opaque="NO" contentMode="scaleToFill" contentHorizontalAlignment="center" contentVerticalAlignment="center" lineBreakMode="middleTruncation" translatesAutoresizingMaskIntoConstraints="NO" id="pK9-Nf-LNR"> | 37 | <button opaque="NO" contentMode="scaleToFill" contentHorizontalAlignment="center" contentVerticalAlignment="center" lineBreakMode="middleTruncation" translatesAutoresizingMaskIntoConstraints="NO" id="pK9-Nf-LNR"> |
36 | <rect key="frame" x="0.0" y="5" width="70" height="36"/> | 38 | <rect key="frame" x="0.0" y="5" width="70" height="36"/> |
37 | <constraints> | 39 | <constraints> |
38 | <constraint firstAttribute="width" constant="70" id="Kdt-q3-40K"/> | 40 | <constraint firstAttribute="width" constant="70" id="Kdt-q3-40K"/> |
39 | </constraints> | 41 | </constraints> |
40 | <state key="normal" image="today_back_button"/> | 42 | <state key="normal" image="today_back_button"/> |
41 | <connections> | 43 | <connections> |
42 | <action selector="clickBack:" destination="-1" eventType="touchUpInside" id="Z3f-Fd-CEc"/> | 44 | <action selector="clickBack:" destination="-1" eventType="touchUpInside" id="Z3f-Fd-CEc"/> |
43 | </connections> | 45 | </connections> |
44 | </button> | 46 | </button> |
45 | <button hidden="YES" opaque="NO" contentMode="scaleToFill" contentHorizontalAlignment="center" contentVerticalAlignment="center" lineBreakMode="middleTruncation" translatesAutoresizingMaskIntoConstraints="NO" id="PkV-G3-Fru"> | 47 | <button hidden="YES" opaque="NO" contentMode="scaleToFill" contentHorizontalAlignment="center" contentVerticalAlignment="center" lineBreakMode="middleTruncation" translatesAutoresizingMaskIntoConstraints="NO" id="PkV-G3-Fru"> |
46 | <rect key="frame" x="330" y="0.0" width="45" height="46"/> | 48 | <rect key="frame" x="330" y="0.0" width="45" height="46"/> |
47 | <constraints> | 49 | <constraints> |
48 | <constraint firstAttribute="width" constant="45" id="7W6-Cl-TRS"/> | 50 | <constraint firstAttribute="width" constant="45" id="7W6-Cl-TRS"/> |
49 | </constraints> | 51 | </constraints> |
50 | <state key="normal" image="icon_menu"/> | 52 | <state key="normal" image="icon_menu"/> |
51 | </button> | 53 | </button> |
52 | </subviews> | 54 | </subviews> |
53 | <color key="backgroundColor" red="0.098039215690000001" green="0.098039215690000001" blue="0.098039215690000001" alpha="1" colorSpace="custom" customColorSpace="sRGB"/> | 55 | <color key="backgroundColor" red="0.0" green="0.0" blue="0.21960784310000001" alpha="1" colorSpace="custom" customColorSpace="sRGB"/> |
54 | <constraints> | 56 | <constraints> |
55 | <constraint firstItem="pK9-Nf-LNR" firstAttribute="leading" secondItem="YHv-ES-wQ0" secondAttribute="leading" id="84D-o2-cdT"/> | 57 | <constraint firstItem="pK9-Nf-LNR" firstAttribute="leading" secondItem="YHv-ES-wQ0" secondAttribute="leading" id="84D-o2-cdT"/> |
56 | <constraint firstAttribute="trailing" secondItem="qQF-tf-31d" secondAttribute="trailing" id="BMv-VR-p7j"/> | 58 | <constraint firstAttribute="trailing" secondItem="qQF-tf-31d" secondAttribute="trailing" id="BMv-VR-p7j"/> |
57 | <constraint firstAttribute="trailing" secondItem="PkV-G3-Fru" secondAttribute="trailing" id="CiO-zw-1XR"/> | 59 | <constraint firstAttribute="trailing" secondItem="PkV-G3-Fru" secondAttribute="trailing" id="CiO-zw-1XR"/> |
58 | <constraint firstAttribute="height" constant="46" id="KDJ-I2-eMi"/> | 60 | <constraint firstAttribute="height" constant="46" id="KDJ-I2-eMi"/> |
59 | <constraint firstItem="qQF-tf-31d" firstAttribute="leading" secondItem="YHv-ES-wQ0" secondAttribute="leading" id="heq-vX-GHv"/> | 61 | <constraint firstItem="qQF-tf-31d" firstAttribute="leading" secondItem="YHv-ES-wQ0" secondAttribute="leading" id="heq-vX-GHv"/> |
60 | <constraint firstAttribute="bottom" secondItem="qQF-tf-31d" secondAttribute="bottom" id="iJg-Q2-eLi"/> | 62 | <constraint firstAttribute="bottom" secondItem="qQF-tf-31d" secondAttribute="bottom" id="iJg-Q2-eLi"/> |
61 | <constraint firstItem="qQF-tf-31d" firstAttribute="top" secondItem="YHv-ES-wQ0" secondAttribute="top" id="l3t-CY-3zr"/> | 63 | <constraint firstItem="qQF-tf-31d" firstAttribute="top" secondItem="YHv-ES-wQ0" secondAttribute="top" id="l3t-CY-3zr"/> |
62 | <constraint firstAttribute="bottom" secondItem="pK9-Nf-LNR" secondAttribute="bottom" constant="5" id="lJY-v6-1cM"/> | 64 | <constraint firstAttribute="bottom" secondItem="pK9-Nf-LNR" secondAttribute="bottom" constant="5" id="lJY-v6-1cM"/> |
63 | <constraint firstItem="pK9-Nf-LNR" firstAttribute="top" secondItem="YHv-ES-wQ0" secondAttribute="top" constant="5" id="ppE-r0-ai7"/> | 65 | <constraint firstItem="pK9-Nf-LNR" firstAttribute="top" secondItem="YHv-ES-wQ0" secondAttribute="top" constant="5" id="ppE-r0-ai7"/> |
64 | <constraint firstItem="PkV-G3-Fru" firstAttribute="top" secondItem="YHv-ES-wQ0" secondAttribute="top" id="ptk-1B-s3f"/> | 66 | <constraint firstItem="PkV-G3-Fru" firstAttribute="top" secondItem="YHv-ES-wQ0" secondAttribute="top" id="ptk-1B-s3f"/> |
65 | <constraint firstAttribute="bottom" secondItem="PkV-G3-Fru" secondAttribute="bottom" id="yNR-37-Qmd"/> | 67 | <constraint firstAttribute="bottom" secondItem="PkV-G3-Fru" secondAttribute="bottom" id="yNR-37-Qmd"/> |
66 | </constraints> | 68 | </constraints> |
67 | </view> | 69 | </view> |
68 | <textField opaque="NO" clipsSubviews="YES" contentMode="scaleToFill" contentHorizontalAlignment="left" contentVerticalAlignment="center" borderStyle="roundedRect" textAlignment="natural" minimumFontSize="17" translatesAutoresizingMaskIntoConstraints="NO" id="ZV5-M6-gge"> | 70 | <textField opaque="NO" clipsSubviews="YES" contentMode="scaleToFill" contentHorizontalAlignment="left" contentVerticalAlignment="center" borderStyle="roundedRect" textAlignment="natural" minimumFontSize="17" translatesAutoresizingMaskIntoConstraints="NO" id="ZV5-M6-gge"> |
69 | <rect key="frame" x="16" y="86" width="209" height="30"/> | 71 | <rect key="frame" x="16" y="86" width="209" height="30"/> |
70 | <nil key="textColor"/> | 72 | <nil key="textColor"/> |
71 | <fontDescription key="fontDescription" type="system" pointSize="14"/> | 73 | <fontDescription key="fontDescription" type="system" pointSize="14"/> |
72 | <textInputTraits key="textInputTraits"/> | 74 | <textInputTraits key="textInputTraits"/> |
73 | <connections> | 75 | <connections> |
74 | <outlet property="delegate" destination="-1" id="Wzs-Wc-gd1"/> | 76 | <outlet property="delegate" destination="-1" id="Wzs-Wc-gd1"/> |
75 | </connections> | 77 | </connections> |
76 | </textField> | 78 | </textField> |
77 | <button opaque="NO" contentMode="scaleToFill" contentHorizontalAlignment="center" contentVerticalAlignment="center" buttonType="roundedRect" lineBreakMode="middleTruncation" translatesAutoresizingMaskIntoConstraints="NO" id="V72-De-hhR" customClass="AutoTransButton"> | 79 | <button opaque="NO" contentMode="scaleToFill" contentHorizontalAlignment="center" contentVerticalAlignment="center" buttonType="roundedRect" lineBreakMode="middleTruncation" translatesAutoresizingMaskIntoConstraints="NO" id="V72-De-hhR" customClass="AutoTransButton"> |
78 | <rect key="frame" x="250" y="86" width="110" height="30"/> | 80 | <rect key="frame" x="250" y="86" width="110" height="30"/> |
79 | <color key="backgroundColor" white="1" alpha="1" colorSpace="calibratedWhite"/> | 81 | <color key="backgroundColor" white="1" alpha="1" colorSpace="calibratedWhite"/> |
80 | <constraints> | 82 | <constraints> |
81 | <constraint firstAttribute="height" constant="30" id="plQ-aS-bwK"/> | 83 | <constraint firstAttribute="height" constant="30" id="plQ-aS-bwK"/> |
82 | <constraint firstAttribute="width" constant="110" id="w47-Tg-vYC"/> | 84 | <constraint firstAttribute="width" constant="110" id="w47-Tg-vYC"/> |
83 | </constraints> | 85 | </constraints> |
84 | <fontDescription key="fontDescription" type="system" pointSize="13"/> | 86 | <fontDescription key="fontDescription" type="system" pointSize="13"/> |
85 | <state key="normal" title="検索"> | 87 | <state key="normal" title="検索"> |
86 | <color key="titleColor" white="0.0" alpha="1" colorSpace="calibratedWhite"/> | 88 | <color key="titleColor" white="0.0" alpha="1" colorSpace="calibratedWhite"/> |
87 | </state> | 89 | </state> |
88 | <userDefinedRuntimeAttributes> | 90 | <userDefinedRuntimeAttributes> |
89 | <userDefinedRuntimeAttribute type="number" keyPath="layer.cornerRadius"> | 91 | <userDefinedRuntimeAttribute type="number" keyPath="layer.cornerRadius"> |
90 | <integer key="value" value="5"/> | 92 | <integer key="value" value="5"/> |
91 | </userDefinedRuntimeAttribute> | 93 | </userDefinedRuntimeAttribute> |
92 | <userDefinedRuntimeAttribute type="string" keyPath="localizeKey" value="lifelog.searchGr.bt.search"/> | 94 | <userDefinedRuntimeAttribute type="string" keyPath="localizeKey" value="lifelog.searchGr.bt.search"/> |
93 | </userDefinedRuntimeAttributes> | 95 | </userDefinedRuntimeAttributes> |
94 | <connections> | 96 | <connections> |
95 | <action selector="clickSearch:" destination="-1" eventType="touchUpInside" id="WPo-6j-0K1"/> | 97 | <action selector="clickSearch:" destination="-1" eventType="touchUpInside" id="WPo-6j-0K1"/> |
96 | </connections> | 98 | </connections> |
97 | </button> | 99 | </button> |
98 | <button opaque="NO" contentMode="scaleToFill" contentHorizontalAlignment="center" contentVerticalAlignment="center" buttonType="roundedRect" lineBreakMode="middleTruncation" translatesAutoresizingMaskIntoConstraints="NO" id="Rb5-To-ffT" customClass="AutoTransButton"> | 100 | <button opaque="NO" contentMode="scaleToFill" contentHorizontalAlignment="center" contentVerticalAlignment="center" buttonType="roundedRect" lineBreakMode="middleTruncation" translatesAutoresizingMaskIntoConstraints="NO" id="Rb5-To-ffT" customClass="AutoTransButton"> |
99 | <rect key="frame" x="250" y="131" width="110" height="30"/> | 101 | <rect key="frame" x="250" y="131" width="110" height="30"/> |
100 | <color key="backgroundColor" white="1" alpha="1" colorSpace="calibratedWhite"/> | 102 | <color key="backgroundColor" white="1" alpha="1" colorSpace="calibratedWhite"/> |
101 | <constraints> | 103 | <constraints> |
102 | <constraint firstAttribute="height" constant="30" id="Cwt-yy-rcp"/> | 104 | <constraint firstAttribute="height" constant="30" id="Cwt-yy-rcp"/> |
103 | </constraints> | 105 | </constraints> |
104 | <fontDescription key="fontDescription" type="system" pointSize="13"/> | 106 | <fontDescription key="fontDescription" type="system" pointSize="13"/> |
105 | <state key="normal" title="グループ作成"> | 107 | <state key="normal" title="グループ作成"> |
106 | <color key="titleColor" white="0.0" alpha="1" colorSpace="calibratedWhite"/> | 108 | <color key="titleColor" white="0.0" alpha="1" colorSpace="calibratedWhite"/> |
107 | </state> | 109 | </state> |
108 | <userDefinedRuntimeAttributes> | 110 | <userDefinedRuntimeAttributes> |
109 | <userDefinedRuntimeAttribute type="number" keyPath="layer.cornerRadius"> | 111 | <userDefinedRuntimeAttribute type="number" keyPath="layer.cornerRadius"> |
110 | <integer key="value" value="5"/> | 112 | <integer key="value" value="5"/> |
111 | </userDefinedRuntimeAttribute> | 113 | </userDefinedRuntimeAttribute> |
112 | <userDefinedRuntimeAttribute type="string" keyPath="localizeKey" value="lifelog.searchGr.bt.createGr"/> | 114 | <userDefinedRuntimeAttribute type="string" keyPath="localizeKey" value="lifelog.searchGr.bt.createGr"/> |
113 | </userDefinedRuntimeAttributes> | 115 | </userDefinedRuntimeAttributes> |
114 | <connections> | 116 | <connections> |
115 | <action selector="clickCreateGroup:" destination="-1" eventType="touchUpInside" id="J9P-5a-SrT"/> | 117 | <action selector="clickCreateGroup:" destination="-1" eventType="touchUpInside" id="J9P-5a-SrT"/> |
116 | </connections> | 118 | </connections> |
117 | </button> | 119 | </button> |
118 | <tableView clipsSubviews="YES" contentMode="scaleToFill" alwaysBounceVertical="YES" style="plain" separatorStyle="none" rowHeight="70" sectionHeaderHeight="28" sectionFooterHeight="28" translatesAutoresizingMaskIntoConstraints="NO" id="yF3-ZN-ebL"> | 120 | <tableView clipsSubviews="YES" contentMode="scaleToFill" alwaysBounceVertical="YES" style="plain" separatorStyle="none" rowHeight="70" sectionHeaderHeight="28" sectionFooterHeight="28" translatesAutoresizingMaskIntoConstraints="NO" id="yF3-ZN-ebL"> |
119 | <rect key="frame" x="0.0" y="176" width="375" height="441"/> | 121 | <rect key="frame" x="0.0" y="176" width="375" height="441"/> |
120 | <color key="backgroundColor" white="0.0" alpha="0.0" colorSpace="calibratedWhite"/> | 122 | <color key="backgroundColor" white="0.0" alpha="0.0" colorSpace="calibratedWhite"/> |
121 | <connections> | 123 | <connections> |
122 | <outlet property="dataSource" destination="-1" id="tKB-Uq-esC"/> | 124 | <outlet property="dataSource" destination="-1" id="tKB-Uq-esC"/> |
123 | <outlet property="delegate" destination="-1" id="88z-Bd-dz0"/> | 125 | <outlet property="delegate" destination="-1" id="88z-Bd-dz0"/> |
124 | </connections> | 126 | </connections> |
125 | </tableView> | 127 | </tableView> |
126 | <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" fixedFrame="YES" text="オススメグループ" textAlignment="center" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="YIq-l4-77c" customClass="AutoTransLabel"> | 128 | <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" fixedFrame="YES" text="オススメグループ" textAlignment="center" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="YIq-l4-77c" customClass="AutoTransLabel"> |
127 | <rect key="frame" x="16" y="54" width="343" height="21"/> | 129 | <rect key="frame" x="16" y="54" width="343" height="21"/> |
128 | <autoresizingMask key="autoresizingMask" flexibleMaxX="YES" flexibleMaxY="YES"/> | 130 | <autoresizingMask key="autoresizingMask" flexibleMaxX="YES" flexibleMaxY="YES"/> |
129 | <fontDescription key="fontDescription" type="system" pointSize="17"/> | 131 | <fontDescription key="fontDescription" type="system" pointSize="17"/> |
130 | <color key="textColor" white="1" alpha="1" colorSpace="calibratedWhite"/> | 132 | <color key="textColor" white="1" alpha="1" colorSpace="calibratedWhite"/> |
131 | <nil key="highlightedColor"/> | 133 | <nil key="highlightedColor"/> |
132 | <userDefinedRuntimeAttributes> | 134 | <userDefinedRuntimeAttributes> |
133 | <userDefinedRuntimeAttribute type="string" keyPath="localizeKey" value="lifelog.searchGr.lbl.title"/> | 135 | <userDefinedRuntimeAttribute type="string" keyPath="localizeKey" value="lifelog.searchGr.lbl.title"/> |
134 | </userDefinedRuntimeAttributes> | 136 | </userDefinedRuntimeAttributes> |
135 | </label> | 137 | </label> |
136 | </subviews> | 138 | </subviews> |
137 | <color key="backgroundColor" white="0.0" alpha="1" colorSpace="calibratedWhite"/> | 139 | <color key="backgroundColor" white="0.0" alpha="1" colorSpace="calibratedWhite"/> |
138 | <constraints> | 140 | <constraints> |
139 | <constraint firstItem="yF3-ZN-ebL" firstAttribute="top" secondItem="Rb5-To-ffT" secondAttribute="bottom" constant="15" id="2wi-jL-dso"/> | 141 | <constraint firstItem="yF3-ZN-ebL" firstAttribute="top" secondItem="Rb5-To-ffT" secondAttribute="bottom" constant="15" id="2wi-jL-dso"/> |
140 | <constraint firstAttribute="trailing" secondItem="V72-De-hhR" secondAttribute="trailing" constant="15" id="342-Ur-sPT"/> | 142 | <constraint firstAttribute="trailing" secondItem="V72-De-hhR" secondAttribute="trailing" constant="15" id="342-Ur-sPT"/> |
141 | <constraint firstItem="YHv-ES-wQ0" firstAttribute="leading" secondItem="i5M-Pr-FkT" secondAttribute="leading" id="3ft-ch-v8f"/> | 143 | <constraint firstItem="YHv-ES-wQ0" firstAttribute="leading" secondItem="i5M-Pr-FkT" secondAttribute="leading" id="3ft-ch-v8f"/> |
142 | <constraint firstItem="Rb5-To-ffT" firstAttribute="top" secondItem="V72-De-hhR" secondAttribute="bottom" constant="15" id="Hic-jl-Ndk"/> | 144 | <constraint firstItem="Rb5-To-ffT" firstAttribute="top" secondItem="V72-De-hhR" secondAttribute="bottom" constant="15" id="Hic-jl-Ndk"/> |
143 | <constraint firstAttribute="bottom" secondItem="yF3-ZN-ebL" secondAttribute="bottom" constant="50" id="Nad-2Y-mrb"/> | 145 | <constraint firstAttribute="bottom" secondItem="yF3-ZN-ebL" secondAttribute="bottom" constant="50" id="Nad-2Y-mrb"/> |
144 | <constraint firstItem="V72-De-hhR" firstAttribute="leading" secondItem="ZV5-M6-gge" secondAttribute="trailing" constant="25" id="Pv6-Li-O07"/> | 146 | <constraint firstItem="V72-De-hhR" firstAttribute="leading" secondItem="ZV5-M6-gge" secondAttribute="trailing" constant="25" id="Pv6-Li-O07"/> |
145 | <constraint firstAttribute="trailing" secondItem="YHv-ES-wQ0" secondAttribute="trailing" id="crv-XZ-T34"/> | 147 | <constraint firstAttribute="trailing" secondItem="YHv-ES-wQ0" secondAttribute="trailing" id="crv-XZ-T34"/> |
146 | <constraint firstItem="yF3-ZN-ebL" firstAttribute="leading" secondItem="i5M-Pr-FkT" secondAttribute="leading" id="f6n-Zr-w64"/> | 148 | <constraint firstItem="yF3-ZN-ebL" firstAttribute="leading" secondItem="i5M-Pr-FkT" secondAttribute="leading" id="f6n-Zr-w64"/> |
147 | <constraint firstItem="Rb5-To-ffT" firstAttribute="trailing" secondItem="V72-De-hhR" secondAttribute="trailing" id="fHS-Kk-Ew0"/> | 149 | <constraint firstItem="Rb5-To-ffT" firstAttribute="trailing" secondItem="V72-De-hhR" secondAttribute="trailing" id="fHS-Kk-Ew0"/> |
148 | <constraint firstItem="YHv-ES-wQ0" firstAttribute="top" secondItem="i5M-Pr-FkT" secondAttribute="top" id="fdM-w1-hOo"/> | 150 | <constraint firstItem="YHv-ES-wQ0" firstAttribute="top" secondItem="i5M-Pr-FkT" secondAttribute="top" priority="750" id="fdM-w1-hOo"/> |
149 | <constraint firstItem="V72-De-hhR" firstAttribute="top" secondItem="YHv-ES-wQ0" secondAttribute="bottom" constant="40" id="hlc-vb-EVo"/> | 151 | <constraint firstItem="V72-De-hhR" firstAttribute="top" secondItem="YHv-ES-wQ0" secondAttribute="bottom" constant="40" id="hlc-vb-EVo"/> |
150 | <constraint firstItem="Rb5-To-ffT" firstAttribute="width" secondItem="V72-De-hhR" secondAttribute="width" id="jtP-uw-vkF"/> | 152 | <constraint firstItem="Rb5-To-ffT" firstAttribute="width" secondItem="V72-De-hhR" secondAttribute="width" id="jtP-uw-vkF"/> |
151 | <constraint firstItem="ZV5-M6-gge" firstAttribute="leading" secondItem="i5M-Pr-FkT" secondAttribute="leading" constant="16" id="kxD-e8-dYm"/> | 153 | <constraint firstItem="ZV5-M6-gge" firstAttribute="leading" secondItem="i5M-Pr-FkT" secondAttribute="leading" constant="16" id="kxD-e8-dYm"/> |
152 | <constraint firstAttribute="trailing" secondItem="yF3-ZN-ebL" secondAttribute="trailing" id="rZv-uL-RZ3"/> | 154 | <constraint firstAttribute="trailing" secondItem="yF3-ZN-ebL" secondAttribute="trailing" id="rZv-uL-RZ3"/> |
153 | <constraint firstItem="V72-De-hhR" firstAttribute="top" secondItem="ZV5-M6-gge" secondAttribute="top" id="voZ-Kp-Zm3"/> | 155 | <constraint firstItem="V72-De-hhR" firstAttribute="top" secondItem="ZV5-M6-gge" secondAttribute="top" id="voZ-Kp-Zm3"/> |
154 | </constraints> | 156 | </constraints> |
155 | <point key="canvasLocation" x="24.5" y="52.5"/> | 157 | <point key="canvasLocation" x="24.5" y="52.5"/> |
156 | </view> | 158 | </view> |
157 | </objects> | 159 | </objects> |
158 | <resources> | 160 | <resources> |
159 | <image name="icon_menu" width="30" height="30"/> | 161 | <image name="icon_menu" width="30" height="30"/> |
160 | <image name="today_back_button" width="73" height="37"/> | 162 | <image name="today_back_button" width="73" height="37"/> |
161 | </resources> | 163 | </resources> |
162 | </document> | 164 | </document> |
163 | 165 |
LifeLog/LifeLog/TodayViewController.xib
1 | <?xml version="1.0" encoding="UTF-8"?> | 1 | <?xml version="1.0" encoding="UTF-8"?> |
2 | <document type="com.apple.InterfaceBuilder3.CocoaTouch.XIB" version="3.0" toolsVersion="12121" systemVersion="16G29" targetRuntime="iOS.CocoaTouch" propertyAccessControl="none" useAutolayout="YES" useTraitCollections="YES" colorMatched="YES"> | 2 | <document type="com.apple.InterfaceBuilder3.CocoaTouch.XIB" version="3.0" toolsVersion="13529" targetRuntime="iOS.CocoaTouch" propertyAccessControl="none" useAutolayout="YES" useTraitCollections="YES" colorMatched="YES"> |
3 | <device id="retina4_7" orientation="portrait"> | 3 | <device id="retina4_7" orientation="portrait"> |
4 | <adaptation id="fullscreen"/> | 4 | <adaptation id="fullscreen"/> |
5 | </device> | 5 | </device> |
6 | <dependencies> | 6 | <dependencies> |
7 | <plugIn identifier="com.apple.InterfaceBuilder.IBCocoaTouchPlugin" version="12089"/> | 7 | <deployment identifier="iOS"/> |
8 | <plugIn identifier="com.apple.InterfaceBuilder.IBCocoaTouchPlugin" version="13527"/> | ||
8 | <capability name="Aspect ratio constraints" minToolsVersion="5.1"/> | 9 | <capability name="Aspect ratio constraints" minToolsVersion="5.1"/> |
9 | <capability name="Constraints with non-1.0 multipliers" minToolsVersion="5.1"/> | 10 | <capability name="Constraints with non-1.0 multipliers" minToolsVersion="5.1"/> |
10 | <capability name="documents saved in the Xcode 8 format" minToolsVersion="8.0"/> | 11 | <capability name="documents saved in the Xcode 8 format" minToolsVersion="8.0"/> |
11 | </dependencies> | 12 | </dependencies> |
12 | <objects> | 13 | <objects> |
13 | <placeholder placeholderIdentifier="IBFilesOwner" id="-1" userLabel="File's Owner" customClass="TodayViewController"> | 14 | <placeholder placeholderIdentifier="IBFilesOwner" id="-1" userLabel="File's Owner" customClass="TodayViewController"> |
14 | <connections> | 15 | <connections> |
15 | <outlet property="circleProgressToday" destination="oRx-7J-bma" id="ljj-Xx-OOH"/> | 16 | <outlet property="circleProgressToday" destination="oRx-7J-bma" id="ljj-Xx-OOH"/> |
16 | <outlet property="lblPercent" destination="11m-je-qZ1" id="Tjq-td-B22"/> | 17 | <outlet property="lblPercent" destination="11m-je-qZ1" id="Tjq-td-B22"/> |
17 | <outlet property="lblRemainingStep" destination="dEz-7j-nXc" id="03L-hQ-Kiv"/> | 18 | <outlet property="lblRemainingStep" destination="dEz-7j-nXc" id="03L-hQ-Kiv"/> |
18 | <outlet property="lblRemainingStepOther" destination="V2B-wZ-Efk" id="XNr-bG-LbN"/> | 19 | <outlet property="lblRemainingStepOther" destination="V2B-wZ-Efk" id="XNr-bG-LbN"/> |
19 | <outlet property="lblTitle" destination="2SZ-sd-ADD" id="Ztf-W5-jwd"/> | 20 | <outlet property="lblTitle" destination="2SZ-sd-ADD" id="Ztf-W5-jwd"/> |
20 | <outlet property="lblTotalStep" destination="Fvu-lz-xIk" id="i1e-DL-7QA"/> | 21 | <outlet property="lblTotalStep" destination="Fvu-lz-xIk" id="i1e-DL-7QA"/> |
21 | <outlet property="lblTotalStepOther" destination="dQq-cp-R2A" id="ugW-Wi-BFI"/> | 22 | <outlet property="lblTotalStepOther" destination="dQq-cp-R2A" id="ugW-Wi-BFI"/> |
22 | <outlet property="lblValueStep" destination="iCl-1r-Bwp" id="Zpf-6A-8cO"/> | 23 | <outlet property="lblValueStep" destination="iCl-1r-Bwp" id="Zpf-6A-8cO"/> |
23 | <outlet property="view" destination="i5M-Pr-FkT" id="sfx-zR-JGt"/> | 24 | <outlet property="view" destination="i5M-Pr-FkT" id="sfx-zR-JGt"/> |
24 | </connections> | 25 | </connections> |
25 | </placeholder> | 26 | </placeholder> |
26 | <placeholder placeholderIdentifier="IBFirstResponder" id="-2" customClass="UIResponder"/> | 27 | <placeholder placeholderIdentifier="IBFirstResponder" id="-2" customClass="UIResponder"/> |
27 | <view clearsContextBeforeDrawing="NO" contentMode="scaleToFill" id="i5M-Pr-FkT"> | 28 | <view clearsContextBeforeDrawing="NO" contentMode="scaleToFill" id="i5M-Pr-FkT"> |
28 | <rect key="frame" x="0.0" y="0.0" width="375" height="667"/> | 29 | <rect key="frame" x="0.0" y="0.0" width="375" height="667"/> |
29 | <autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/> | 30 | <autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/> |
30 | <subviews> | 31 | <subviews> |
31 | <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="TODAY" textAlignment="center" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="2SZ-sd-ADD" userLabel="LabelTitle"> | 32 | <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="TODAY" textAlignment="center" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="2SZ-sd-ADD" userLabel="LabelTitle"> |
32 | <rect key="frame" x="0.0" y="0.0" width="375" height="44"/> | 33 | <rect key="frame" x="0.0" y="0.0" width="375" height="44"/> |
33 | <color key="backgroundColor" red="0.098039215690000001" green="0.098039215690000001" blue="0.098039215690000001" alpha="1" colorSpace="custom" customColorSpace="sRGB"/> | 34 | <color key="backgroundColor" red="0.098039215690000001" green="0.098039215690000001" blue="0.098039215690000001" alpha="1" colorSpace="custom" customColorSpace="sRGB"/> |
34 | <constraints> | 35 | <constraints> |
35 | <constraint firstAttribute="height" constant="44" id="Qgv-Kk-P8u"/> | 36 | <constraint firstAttribute="height" constant="44" id="Qgv-Kk-P8u"/> |
36 | </constraints> | 37 | </constraints> |
37 | <fontDescription key="fontDescription" type="system" pointSize="23"/> | 38 | <fontDescription key="fontDescription" type="system" pointSize="23"/> |
38 | <color key="textColor" white="1" alpha="1" colorSpace="calibratedWhite"/> | 39 | <color key="textColor" white="1" alpha="1" colorSpace="calibratedWhite"/> |
39 | <nil key="highlightedColor"/> | 40 | <nil key="highlightedColor"/> |
40 | </label> | 41 | </label> |
41 | <button opaque="NO" contentMode="scaleToFill" contentHorizontalAlignment="center" contentVerticalAlignment="center" lineBreakMode="middleTruncation" translatesAutoresizingMaskIntoConstraints="NO" id="RSj-iV-Oaf" userLabel="ButtonMenu"> | 42 | <button opaque="NO" contentMode="scaleToFill" contentHorizontalAlignment="center" contentVerticalAlignment="center" lineBreakMode="middleTruncation" translatesAutoresizingMaskIntoConstraints="NO" id="RSj-iV-Oaf" userLabel="ButtonMenu"> |
42 | <rect key="frame" x="335" y="7" width="30" height="30"/> | 43 | <rect key="frame" x="335" y="7" width="30" height="30"/> |
43 | <constraints> | 44 | <constraints> |
44 | <constraint firstAttribute="width" secondItem="RSj-iV-Oaf" secondAttribute="height" multiplier="1:1" id="Paf-pW-iOE"/> | 45 | <constraint firstAttribute="width" secondItem="RSj-iV-Oaf" secondAttribute="height" multiplier="1:1" id="Paf-pW-iOE"/> |
45 | <constraint firstAttribute="width" constant="30" id="ZEC-Fx-ygL"/> | 46 | <constraint firstAttribute="width" constant="30" id="ZEC-Fx-ygL"/> |
46 | </constraints> | 47 | </constraints> |
47 | <state key="normal" image="icon_menu"/> | 48 | <state key="normal" image="icon_menu"/> |
48 | <connections> | 49 | <connections> |
49 | <action selector="menuButtonTouchUpInside:" destination="-1" eventType="touchUpInside" id="74L-R4-bfn"/> | 50 | <action selector="menuButtonTouchUpInside:" destination="-1" eventType="touchUpInside" id="74L-R4-bfn"/> |
50 | </connections> | 51 | </connections> |
51 | </button> | 52 | </button> |
52 | <button opaque="NO" contentMode="scaleToFill" contentHorizontalAlignment="center" contentVerticalAlignment="center" lineBreakMode="middleTruncation" translatesAutoresizingMaskIntoConstraints="NO" id="yOP-KX-J14" userLabel="ButtonBack"> | 53 | <button opaque="NO" contentMode="scaleToFill" contentHorizontalAlignment="center" contentVerticalAlignment="center" lineBreakMode="middleTruncation" translatesAutoresizingMaskIntoConstraints="NO" id="yOP-KX-J14" userLabel="ButtonBack"> |
53 | <rect key="frame" x="5" y="3" width="73" height="37"/> | 54 | <rect key="frame" x="5" y="3" width="73" height="37"/> |
54 | <constraints> | 55 | <constraints> |
55 | <constraint firstAttribute="height" constant="37" id="A6m-b2-WXH"/> | 56 | <constraint firstAttribute="height" constant="37" id="A6m-b2-WXH"/> |
56 | <constraint firstAttribute="width" constant="73" id="YO8-PV-PiT"/> | 57 | <constraint firstAttribute="width" constant="73" id="YO8-PV-PiT"/> |
57 | </constraints> | 58 | </constraints> |
58 | <state key="normal" image="today_back_button"/> | 59 | <state key="normal" image="today_back_button"/> |
59 | <connections> | 60 | <connections> |
60 | <action selector="backButtonTouchUpInside:" destination="-1" eventType="touchUpInside" id="on4-Ru-Xpf"/> | 61 | <action selector="backButtonTouchUpInside:" destination="-1" eventType="touchUpInside" id="on4-Ru-Xpf"/> |
61 | </connections> | 62 | </connections> |
62 | </button> | 63 | </button> |
63 | <imageView userInteractionEnabled="NO" contentMode="scaleToFill" horizontalHuggingPriority="251" verticalHuggingPriority="251" image="icon_share" translatesAutoresizingMaskIntoConstraints="NO" id="PW6-AR-UCs"> | 64 | <imageView userInteractionEnabled="NO" contentMode="scaleToFill" horizontalHuggingPriority="251" verticalHuggingPriority="251" image="icon_share" translatesAutoresizingMaskIntoConstraints="NO" id="PW6-AR-UCs"> |
64 | <rect key="frame" x="8" y="137" width="42" height="57"/> | 65 | <rect key="frame" x="8" y="137" width="42" height="57"/> |
65 | <constraints> | 66 | <constraints> |
66 | <constraint firstAttribute="height" constant="57" id="7WA-3l-0cr"/> | 67 | <constraint firstAttribute="height" constant="57" id="7WA-3l-0cr"/> |
67 | <constraint firstAttribute="width" constant="42" id="abX-W4-Ho4"/> | 68 | <constraint firstAttribute="width" constant="42" id="abX-W4-Ho4"/> |
68 | </constraints> | 69 | </constraints> |
69 | </imageView> | 70 | </imageView> |
70 | <button opaque="NO" contentMode="scaleToFill" contentHorizontalAlignment="center" contentVerticalAlignment="center" buttonType="roundedRect" lineBreakMode="middleTruncation" translatesAutoresizingMaskIntoConstraints="NO" id="1ak-Ne-wz9" userLabel="ButtonShare"> | 71 | <button opaque="NO" contentMode="scaleToFill" contentHorizontalAlignment="center" contentVerticalAlignment="center" buttonType="roundedRect" lineBreakMode="middleTruncation" translatesAutoresizingMaskIntoConstraints="NO" id="1ak-Ne-wz9" userLabel="ButtonShare"> |
71 | <rect key="frame" x="8" y="137" width="42" height="57"/> | 72 | <rect key="frame" x="8" y="137" width="42" height="57"/> |
72 | <connections> | 73 | <connections> |
73 | <action selector="buttonShareTouchUpInside:" destination="-1" eventType="touchUpInside" id="dkw-ed-JhQ"/> | 74 | <action selector="buttonShareTouchUpInside:" destination="-1" eventType="touchUpInside" id="dkw-ed-JhQ"/> |
74 | </connections> | 75 | </connections> |
75 | </button> | 76 | </button> |
76 | <imageView userInteractionEnabled="NO" contentMode="scaleToFill" horizontalHuggingPriority="251" verticalHuggingPriority="251" image="icon_facebook" translatesAutoresizingMaskIntoConstraints="NO" id="Jtx-be-zjg"> | 77 | <imageView userInteractionEnabled="NO" contentMode="scaleToFill" horizontalHuggingPriority="251" verticalHuggingPriority="251" image="icon_facebook" translatesAutoresizingMaskIntoConstraints="NO" id="Jtx-be-zjg"> |
77 | <rect key="frame" x="8" y="202" width="40" height="40"/> | 78 | <rect key="frame" x="8" y="202" width="40" height="40"/> |
78 | <constraints> | 79 | <constraints> |
79 | <constraint firstAttribute="width" constant="40" id="2Fe-7S-LCC"/> | 80 | <constraint firstAttribute="width" constant="40" id="2Fe-7S-LCC"/> |
80 | <constraint firstAttribute="height" constant="40" id="5hP-gZ-Qrl"/> | 81 | <constraint firstAttribute="height" constant="40" id="5hP-gZ-Qrl"/> |
81 | </constraints> | 82 | </constraints> |
82 | </imageView> | 83 | </imageView> |
83 | <button opaque="NO" contentMode="scaleToFill" contentHorizontalAlignment="center" contentVerticalAlignment="center" buttonType="roundedRect" lineBreakMode="middleTruncation" translatesAutoresizingMaskIntoConstraints="NO" id="HLr-Qj-bm4" userLabel="ButtonFacebook"> | 84 | <button opaque="NO" contentMode="scaleToFill" contentHorizontalAlignment="center" contentVerticalAlignment="center" buttonType="roundedRect" lineBreakMode="middleTruncation" translatesAutoresizingMaskIntoConstraints="NO" id="HLr-Qj-bm4" userLabel="ButtonFacebook"> |
84 | <rect key="frame" x="8" y="202" width="40" height="40"/> | 85 | <rect key="frame" x="8" y="202" width="40" height="40"/> |
85 | <connections> | 86 | <connections> |
86 | <action selector="buttonFacebookTouchUpInside:" destination="-1" eventType="touchUpInside" id="MHi-pC-vsR"/> | 87 | <action selector="buttonFacebookTouchUpInside:" destination="-1" eventType="touchUpInside" id="MHi-pC-vsR"/> |
87 | </connections> | 88 | </connections> |
88 | </button> | 89 | </button> |
89 | <imageView userInteractionEnabled="NO" contentMode="scaleToFill" horizontalHuggingPriority="251" verticalHuggingPriority="251" image="icon_line" translatesAutoresizingMaskIntoConstraints="NO" id="wHy-xz-GJV"> | 90 | <imageView userInteractionEnabled="NO" contentMode="scaleToFill" horizontalHuggingPriority="251" verticalHuggingPriority="251" image="icon_line" translatesAutoresizingMaskIntoConstraints="NO" id="wHy-xz-GJV"> |
90 | <rect key="frame" x="8" y="250" width="40" height="40"/> | 91 | <rect key="frame" x="8" y="250" width="40" height="40"/> |
91 | <constraints> | 92 | <constraints> |
92 | <constraint firstAttribute="width" constant="40" id="ElF-BB-cgs"/> | 93 | <constraint firstAttribute="width" constant="40" id="ElF-BB-cgs"/> |
93 | <constraint firstAttribute="height" constant="40" id="myc-Ev-aCy"/> | 94 | <constraint firstAttribute="height" constant="40" id="myc-Ev-aCy"/> |
94 | </constraints> | 95 | </constraints> |
95 | </imageView> | 96 | </imageView> |
96 | <button opaque="NO" contentMode="scaleToFill" contentHorizontalAlignment="center" contentVerticalAlignment="center" buttonType="roundedRect" lineBreakMode="middleTruncation" translatesAutoresizingMaskIntoConstraints="NO" id="equ-yC-hU1" userLabel="ButtonLine"> | 97 | <button opaque="NO" contentMode="scaleToFill" contentHorizontalAlignment="center" contentVerticalAlignment="center" buttonType="roundedRect" lineBreakMode="middleTruncation" translatesAutoresizingMaskIntoConstraints="NO" id="equ-yC-hU1" userLabel="ButtonLine"> |
97 | <rect key="frame" x="8" y="250" width="40" height="40"/> | 98 | <rect key="frame" x="8" y="250" width="40" height="40"/> |
98 | <connections> | 99 | <connections> |
99 | <action selector="buttonLineTouchUpInside:" destination="-1" eventType="touchUpInside" id="9mi-bX-Uqp"/> | 100 | <action selector="buttonLineTouchUpInside:" destination="-1" eventType="touchUpInside" id="9mi-bX-Uqp"/> |
100 | </connections> | 101 | </connections> |
101 | </button> | 102 | </button> |
102 | <view contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="oRx-7J-bma" customClass="CircleProgressBar"> | 103 | <view contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="oRx-7J-bma" customClass="CircleProgressBar"> |
103 | <rect key="frame" x="60" y="94" width="255" height="255"/> | 104 | <rect key="frame" x="60" y="94" width="255" height="255"/> |
104 | <subviews> | 105 | <subviews> |
105 | <view contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="qQS-5K-MuA" userLabel="ViewContent"> | 106 | <view contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="qQS-5K-MuA" userLabel="ViewContent"> |
106 | <rect key="frame" x="59" y="43" width="136" height="170"/> | 107 | <rect key="frame" x="59" y="43" width="136" height="170"/> |
107 | <subviews> | 108 | <subviews> |
108 | <imageView userInteractionEnabled="NO" contentMode="scaleToFill" horizontalHuggingPriority="251" verticalHuggingPriority="251" image="icon_walking" translatesAutoresizingMaskIntoConstraints="NO" id="VwM-9C-Dye"> | 109 | <imageView userInteractionEnabled="NO" contentMode="scaleToFill" horizontalHuggingPriority="251" verticalHuggingPriority="251" image="icon_walking" translatesAutoresizingMaskIntoConstraints="NO" id="VwM-9C-Dye"> |
109 | <rect key="frame" x="61" y="2" width="14" height="25"/> | 110 | <rect key="frame" x="61" y="2" width="14" height="25"/> |
110 | <constraints> | 111 | <constraints> |
111 | <constraint firstAttribute="width" constant="14" id="mn6-eU-59Y"/> | 112 | <constraint firstAttribute="width" constant="14" id="mn6-eU-59Y"/> |
112 | <constraint firstAttribute="height" constant="25" id="rok-3H-sX5"/> | 113 | <constraint firstAttribute="height" constant="25" id="rok-3H-sX5"/> |
113 | </constraints> | 114 | </constraints> |
114 | </imageView> | 115 | </imageView> |
115 | <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="6,513" textAlignment="center" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="iCl-1r-Bwp"> | 116 | <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="6,513" textAlignment="center" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="iCl-1r-Bwp"> |
116 | <rect key="frame" x="0.0" y="35" width="136" height="54"/> | 117 | <rect key="frame" x="0.0" y="35" width="136" height="54"/> |
117 | <constraints> | 118 | <constraints> |
118 | <constraint firstAttribute="height" constant="54" id="OWK-YU-E5c"/> | 119 | <constraint firstAttribute="height" constant="54" id="OWK-YU-E5c"/> |
119 | </constraints> | 120 | </constraints> |
120 | <fontDescription key="fontDescription" type="boldSystem" pointSize="45"/> | 121 | <fontDescription key="fontDescription" type="boldSystem" pointSize="45"/> |
121 | <color key="textColor" white="1" alpha="1" colorSpace="calibratedWhite"/> | 122 | <color key="textColor" white="1" alpha="1" colorSpace="calibratedWhite"/> |
122 | <nil key="highlightedColor"/> | 123 | <nil key="highlightedColor"/> |
123 | </label> | 124 | </label> |
124 | <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="/ 10,000" textAlignment="center" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="Fvu-lz-xIk"> | 125 | <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="/ 10,000" textAlignment="center" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="Fvu-lz-xIk"> |
125 | <rect key="frame" x="0.0" y="97" width="136" height="24"/> | 126 | <rect key="frame" x="0.0" y="97" width="136" height="24"/> |
126 | <constraints> | 127 | <constraints> |
127 | <constraint firstAttribute="height" constant="24" id="ID6-U3-pcq"/> | 128 | <constraint firstAttribute="height" constant="24" id="ID6-U3-pcq"/> |
128 | </constraints> | 129 | </constraints> |
129 | <fontDescription key="fontDescription" type="system" pointSize="20"/> | 130 | <fontDescription key="fontDescription" type="system" pointSize="20"/> |
130 | <color key="textColor" white="1" alpha="1" colorSpace="calibratedWhite"/> | 131 | <color key="textColor" white="1" alpha="1" colorSpace="calibratedWhite"/> |
131 | <nil key="highlightedColor"/> | 132 | <nil key="highlightedColor"/> |
132 | </label> | 133 | </label> |
133 | <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="目模まであと3487歩です" textAlignment="center" lineBreakMode="tailTruncation" numberOfLines="2" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="dEz-7j-nXc"> | 134 | <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="目模まであと3487歩です" textAlignment="center" lineBreakMode="tailTruncation" numberOfLines="2" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="dEz-7j-nXc"> |
134 | <rect key="frame" x="0.0" y="129" width="136" height="48"/> | 135 | <rect key="frame" x="0.0" y="129" width="136" height="48"/> |
135 | <constraints> | 136 | <constraints> |
136 | <constraint firstAttribute="height" constant="48" id="IhK-uP-msA"/> | 137 | <constraint firstAttribute="height" constant="48" id="IhK-uP-msA"/> |
137 | </constraints> | 138 | </constraints> |
138 | <fontDescription key="fontDescription" type="system" pointSize="20"/> | 139 | <fontDescription key="fontDescription" type="system" pointSize="20"/> |
139 | <color key="textColor" white="1" alpha="1" colorSpace="calibratedWhite"/> | 140 | <color key="textColor" white="1" alpha="1" colorSpace="calibratedWhite"/> |
140 | <nil key="highlightedColor"/> | 141 | <nil key="highlightedColor"/> |
141 | </label> | 142 | </label> |
142 | </subviews> | 143 | </subviews> |
143 | <color key="backgroundColor" white="0.0" alpha="1" colorSpace="calibratedWhite"/> | 144 | <color key="backgroundColor" white="0.0" alpha="1" colorSpace="calibratedWhite"/> |
144 | <constraints> | 145 | <constraints> |
145 | <constraint firstItem="VwM-9C-Dye" firstAttribute="top" secondItem="qQS-5K-MuA" secondAttribute="top" constant="2" id="3wt-gj-JSb"/> | 146 | <constraint firstItem="VwM-9C-Dye" firstAttribute="top" secondItem="qQS-5K-MuA" secondAttribute="top" constant="2" id="3wt-gj-JSb"/> |
146 | <constraint firstItem="dEz-7j-nXc" firstAttribute="top" secondItem="Fvu-lz-xIk" secondAttribute="bottom" constant="8" id="8HX-cn-RI5"/> | 147 | <constraint firstItem="dEz-7j-nXc" firstAttribute="top" secondItem="Fvu-lz-xIk" secondAttribute="bottom" constant="8" id="8HX-cn-RI5"/> |
147 | <constraint firstItem="iCl-1r-Bwp" firstAttribute="top" secondItem="VwM-9C-Dye" secondAttribute="bottom" constant="8" id="8th-yr-ele"/> | 148 | <constraint firstItem="iCl-1r-Bwp" firstAttribute="top" secondItem="VwM-9C-Dye" secondAttribute="bottom" constant="8" id="8th-yr-ele"/> |
148 | <constraint firstItem="Fvu-lz-xIk" firstAttribute="leading" secondItem="qQS-5K-MuA" secondAttribute="leading" id="A6X-AZ-Tlm"/> | 149 | <constraint firstItem="Fvu-lz-xIk" firstAttribute="leading" secondItem="qQS-5K-MuA" secondAttribute="leading" id="A6X-AZ-Tlm"/> |
149 | <constraint firstAttribute="trailing" secondItem="iCl-1r-Bwp" secondAttribute="trailing" id="ALp-VX-Oqk"/> | 150 | <constraint firstAttribute="trailing" secondItem="iCl-1r-Bwp" secondAttribute="trailing" id="ALp-VX-Oqk"/> |
150 | <constraint firstAttribute="trailing" secondItem="Fvu-lz-xIk" secondAttribute="trailing" id="ELm-PN-7hB"/> | 151 | <constraint firstAttribute="trailing" secondItem="Fvu-lz-xIk" secondAttribute="trailing" id="ELm-PN-7hB"/> |
151 | <constraint firstItem="VwM-9C-Dye" firstAttribute="centerX" secondItem="qQS-5K-MuA" secondAttribute="centerX" id="Erd-eu-Lgw"/> | 152 | <constraint firstItem="VwM-9C-Dye" firstAttribute="centerX" secondItem="qQS-5K-MuA" secondAttribute="centerX" id="Erd-eu-Lgw"/> |
152 | <constraint firstItem="dEz-7j-nXc" firstAttribute="leading" secondItem="qQS-5K-MuA" secondAttribute="leading" id="nvf-Kg-Ivk"/> | 153 | <constraint firstItem="dEz-7j-nXc" firstAttribute="leading" secondItem="qQS-5K-MuA" secondAttribute="leading" id="nvf-Kg-Ivk"/> |
153 | <constraint firstItem="Fvu-lz-xIk" firstAttribute="top" secondItem="iCl-1r-Bwp" secondAttribute="bottom" constant="8" id="rFD-e5-Oke"/> | 154 | <constraint firstItem="Fvu-lz-xIk" firstAttribute="top" secondItem="iCl-1r-Bwp" secondAttribute="bottom" constant="8" id="rFD-e5-Oke"/> |
154 | <constraint firstItem="iCl-1r-Bwp" firstAttribute="leading" secondItem="qQS-5K-MuA" secondAttribute="leading" id="ykV-Hh-2Se"/> | 155 | <constraint firstItem="iCl-1r-Bwp" firstAttribute="leading" secondItem="qQS-5K-MuA" secondAttribute="leading" id="ykV-Hh-2Se"/> |
155 | <constraint firstAttribute="trailing" secondItem="dEz-7j-nXc" secondAttribute="trailing" id="zdo-Fa-Bk6"/> | 156 | <constraint firstAttribute="trailing" secondItem="dEz-7j-nXc" secondAttribute="trailing" id="zdo-Fa-Bk6"/> |
156 | </constraints> | 157 | </constraints> |
157 | </view> | 158 | </view> |
158 | </subviews> | 159 | </subviews> |
159 | <color key="backgroundColor" white="0.0" alpha="0.0" colorSpace="calibratedWhite"/> | 160 | <color key="backgroundColor" white="0.0" alpha="0.0" colorSpace="calibratedWhite"/> |
160 | <constraints> | 161 | <constraints> |
161 | <constraint firstItem="qQS-5K-MuA" firstAttribute="height" secondItem="oRx-7J-bma" secondAttribute="height" multiplier="200/299" id="KK9-9I-hBs"/> | 162 | <constraint firstItem="qQS-5K-MuA" firstAttribute="height" secondItem="oRx-7J-bma" secondAttribute="height" multiplier="200/299" id="KK9-9I-hBs"/> |
162 | <constraint firstItem="qQS-5K-MuA" firstAttribute="centerX" secondItem="oRx-7J-bma" secondAttribute="centerX" id="iHf-Qo-LsK"/> | 163 | <constraint firstItem="qQS-5K-MuA" firstAttribute="centerX" secondItem="oRx-7J-bma" secondAttribute="centerX" id="iHf-Qo-LsK"/> |
163 | <constraint firstItem="qQS-5K-MuA" firstAttribute="width" secondItem="oRx-7J-bma" secondAttribute="width" multiplier="160/299" id="nAQ-00-V9H"/> | 164 | <constraint firstItem="qQS-5K-MuA" firstAttribute="width" secondItem="oRx-7J-bma" secondAttribute="width" multiplier="160/299" id="nAQ-00-V9H"/> |
164 | <constraint firstItem="qQS-5K-MuA" firstAttribute="centerY" secondItem="oRx-7J-bma" secondAttribute="centerY" id="oCW-BR-PvV"/> | 165 | <constraint firstItem="qQS-5K-MuA" firstAttribute="centerY" secondItem="oRx-7J-bma" secondAttribute="centerY" id="oCW-BR-PvV"/> |
165 | <constraint firstAttribute="width" secondItem="oRx-7J-bma" secondAttribute="height" multiplier="1:1" id="of6-Gd-VOP"/> | 166 | <constraint firstAttribute="width" secondItem="oRx-7J-bma" secondAttribute="height" multiplier="1:1" id="of6-Gd-VOP"/> |
166 | </constraints> | 167 | </constraints> |
167 | <userDefinedRuntimeAttributes> | 168 | <userDefinedRuntimeAttributes> |
168 | <userDefinedRuntimeAttribute type="color" keyPath="progressBarProgressColor"> | 169 | <userDefinedRuntimeAttribute type="color" keyPath="progressBarProgressColor"> |
169 | <color key="value" red="0.2196078431372549" green="0.74117647058823533" blue="0.90196078431372551" alpha="1" colorSpace="calibratedRGB"/> | 170 | <color key="value" red="0.2196078431372549" green="0.74117647058823533" blue="0.90196078431372551" alpha="1" colorSpace="calibratedRGB"/> |
170 | </userDefinedRuntimeAttribute> | 171 | </userDefinedRuntimeAttribute> |
171 | <userDefinedRuntimeAttribute type="color" keyPath="progressBarTrackColor"> | 172 | <userDefinedRuntimeAttribute type="color" keyPath="progressBarTrackColor"> |
172 | <color key="value" red="0.21176470588235294" green="0.21176470588235294" blue="0.21176470588235294" alpha="1" colorSpace="calibratedRGB"/> | 173 | <color key="value" red="0.21176470588235294" green="0.21176470588235294" blue="0.21176470588235294" alpha="1" colorSpace="calibratedRGB"/> |
173 | </userDefinedRuntimeAttribute> | 174 | </userDefinedRuntimeAttribute> |
174 | <userDefinedRuntimeAttribute type="number" keyPath="progressBarWidth"> | 175 | <userDefinedRuntimeAttribute type="number" keyPath="progressBarWidth"> |
175 | <real key="value" value="12"/> | 176 | <real key="value" value="12"/> |
176 | </userDefinedRuntimeAttribute> | 177 | </userDefinedRuntimeAttribute> |
177 | <userDefinedRuntimeAttribute type="number" keyPath="startAngle"> | 178 | <userDefinedRuntimeAttribute type="number" keyPath="startAngle"> |
178 | <real key="value" value="-90"/> | 179 | <real key="value" value="-90"/> |
179 | </userDefinedRuntimeAttribute> | 180 | </userDefinedRuntimeAttribute> |
180 | <userDefinedRuntimeAttribute type="number" keyPath="progress"> | 181 | <userDefinedRuntimeAttribute type="number" keyPath="progress"> |
181 | <real key="value" value="0.40999999999999998"/> | 182 | <real key="value" value="0.40999999999999998"/> |
182 | </userDefinedRuntimeAttribute> | 183 | </userDefinedRuntimeAttribute> |
183 | </userDefinedRuntimeAttributes> | 184 | </userDefinedRuntimeAttributes> |
184 | </view> | 185 | </view> |
185 | <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="目標10,000歩" textAlignment="center" lineBreakMode="tailTruncation" numberOfLines="2" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="dQq-cp-R2A" userLabel="Label1"> | 186 | <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="目標10,000歩" textAlignment="center" lineBreakMode="tailTruncation" numberOfLines="2" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="dQq-cp-R2A" userLabel="Label1"> |
186 | <rect key="frame" x="315" y="155.5" width="60" height="33.5"/> | 187 | <rect key="frame" x="315" y="155.5" width="60" height="33.5"/> |
187 | <constraints> | 188 | <constraints> |
188 | <constraint firstAttribute="height" constant="33.5" id="pNJ-9e-Qhb"/> | 189 | <constraint firstAttribute="height" constant="33.5" id="pNJ-9e-Qhb"/> |
189 | </constraints> | 190 | </constraints> |
190 | <fontDescription key="fontDescription" type="system" pointSize="14"/> | 191 | <fontDescription key="fontDescription" type="system" pointSize="14"/> |
191 | <color key="textColor" white="1" alpha="1" colorSpace="calibratedWhite"/> | 192 | <color key="textColor" white="1" alpha="1" colorSpace="calibratedWhite"/> |
192 | <nil key="highlightedColor"/> | 193 | <nil key="highlightedColor"/> |
193 | </label> | 194 | </label> |
194 | <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="残歩数3487歩" textAlignment="center" lineBreakMode="tailTruncation" numberOfLines="2" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="V2B-wZ-Efk" userLabel="Label2"> | 195 | <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="残歩数3487歩" textAlignment="center" lineBreakMode="tailTruncation" numberOfLines="2" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="V2B-wZ-Efk" userLabel="Label2"> |
195 | <rect key="frame" x="315" y="197" width="60" height="50"/> | 196 | <rect key="frame" x="315" y="197" width="60" height="50"/> |
196 | <constraints> | 197 | <constraints> |
197 | <constraint firstAttribute="height" constant="50" id="9oI-Ia-C0h"/> | 198 | <constraint firstAttribute="height" constant="50" id="9oI-Ia-C0h"/> |
198 | </constraints> | 199 | </constraints> |
199 | <fontDescription key="fontDescription" type="system" pointSize="14"/> | 200 | <fontDescription key="fontDescription" type="system" pointSize="14"/> |
200 | <color key="textColor" white="1" alpha="1" colorSpace="calibratedWhite"/> | 201 | <color key="textColor" white="1" alpha="1" colorSpace="calibratedWhite"/> |
201 | <nil key="highlightedColor"/> | 202 | <nil key="highlightedColor"/> |
202 | </label> | 203 | </label> |
203 | <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="達成率78%" textAlignment="center" lineBreakMode="tailTruncation" numberOfLines="2" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="11m-je-qZ1" userLabel="Label3"> | 204 | <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="達成率78%" textAlignment="center" lineBreakMode="tailTruncation" numberOfLines="2" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="11m-je-qZ1" userLabel="Label3"> |
204 | <rect key="frame" x="315" y="255" width="60" height="33.5"/> | 205 | <rect key="frame" x="315" y="255" width="60" height="33.5"/> |
205 | <constraints> | 206 | <constraints> |
206 | <constraint firstAttribute="height" constant="33.5" id="ale-7X-6Gx"/> | 207 | <constraint firstAttribute="height" constant="33.5" id="ale-7X-6Gx"/> |
207 | </constraints> | 208 | </constraints> |
208 | <fontDescription key="fontDescription" type="system" pointSize="14"/> | 209 | <fontDescription key="fontDescription" type="system" pointSize="14"/> |
209 | <color key="textColor" white="1" alpha="1" colorSpace="calibratedWhite"/> | 210 | <color key="textColor" white="1" alpha="1" colorSpace="calibratedWhite"/> |
210 | <nil key="highlightedColor"/> | 211 | <nil key="highlightedColor"/> |
211 | </label> | 212 | </label> |
213 | <imageView userInteractionEnabled="NO" contentMode="scaleToFill" horizontalHuggingPriority="251" verticalHuggingPriority="251" fixedFrame="YES" translatesAutoresizingMaskIntoConstraints="NO" id="jqx-9b-OkT"> | ||
214 | <rect key="frame" x="0.0" y="0.0" width="375" height="667"/> | ||
215 | <autoresizingMask key="autoresizingMask" flexibleMaxX="YES" flexibleMaxY="YES"/> | ||
216 | </imageView> | ||
212 | </subviews> | 217 | </subviews> |
213 | <color key="backgroundColor" white="0.0" alpha="1" colorSpace="calibratedWhite"/> | 218 | <color key="backgroundColor" white="0.0" alpha="1" colorSpace="calibratedWhite"/> |
214 | <constraints> | 219 | <constraints> |
215 | <constraint firstAttribute="trailing" secondItem="11m-je-qZ1" secondAttribute="trailing" id="5wQ-9t-fkx"/> | 220 | <constraint firstAttribute="trailing" secondItem="11m-je-qZ1" secondAttribute="trailing" id="5wQ-9t-fkx"/> |
216 | <constraint firstItem="1ak-Ne-wz9" firstAttribute="top" secondItem="PW6-AR-UCs" secondAttribute="top" id="7Lu-Sw-8Vd"/> | 221 | <constraint firstItem="1ak-Ne-wz9" firstAttribute="top" secondItem="PW6-AR-UCs" secondAttribute="top" id="7Lu-Sw-8Vd"/> |
217 | <constraint firstItem="V2B-wZ-Efk" firstAttribute="centerY" secondItem="oRx-7J-bma" secondAttribute="centerY" id="Bhj-5W-tqM"/> | 222 | <constraint firstItem="V2B-wZ-Efk" firstAttribute="centerY" secondItem="oRx-7J-bma" secondAttribute="centerY" id="Bhj-5W-tqM"/> |
218 | <constraint firstItem="yOP-KX-J14" firstAttribute="leading" secondItem="i5M-Pr-FkT" secondAttribute="leading" constant="5" id="Bp4-Am-rzQ"/> | 223 | <constraint firstItem="yOP-KX-J14" firstAttribute="leading" secondItem="i5M-Pr-FkT" secondAttribute="leading" constant="5" id="Bp4-Am-rzQ"/> |
219 | <constraint firstItem="Jtx-be-zjg" firstAttribute="leading" secondItem="i5M-Pr-FkT" secondAttribute="leading" constant="8" id="C4T-QJ-aV0"/> | 224 | <constraint firstItem="Jtx-be-zjg" firstAttribute="leading" secondItem="i5M-Pr-FkT" secondAttribute="leading" constant="8" id="C4T-QJ-aV0"/> |
220 | <constraint firstItem="dQq-cp-R2A" firstAttribute="leading" secondItem="oRx-7J-bma" secondAttribute="trailing" id="CSy-Of-ifG"/> | 225 | <constraint firstItem="dQq-cp-R2A" firstAttribute="leading" secondItem="oRx-7J-bma" secondAttribute="trailing" id="CSy-Of-ifG"/> |
221 | <constraint firstAttribute="trailing" secondItem="dQq-cp-R2A" secondAttribute="trailing" id="Ct9-ZA-fqo"/> | 226 | <constraint firstAttribute="trailing" secondItem="dQq-cp-R2A" secondAttribute="trailing" id="Ct9-ZA-fqo"/> |
222 | <constraint firstItem="HLr-Qj-bm4" firstAttribute="bottom" secondItem="Jtx-be-zjg" secondAttribute="bottom" id="DGk-ic-g00"/> | 227 | <constraint firstItem="HLr-Qj-bm4" firstAttribute="bottom" secondItem="Jtx-be-zjg" secondAttribute="bottom" id="DGk-ic-g00"/> |
223 | <constraint firstItem="oRx-7J-bma" firstAttribute="leading" secondItem="i5M-Pr-FkT" secondAttribute="leading" constant="60" id="DKw-80-JuB"/> | 228 | <constraint firstItem="oRx-7J-bma" firstAttribute="leading" secondItem="i5M-Pr-FkT" secondAttribute="leading" constant="60" id="DKw-80-JuB"/> |
224 | <constraint firstItem="11m-je-qZ1" firstAttribute="leading" secondItem="oRx-7J-bma" secondAttribute="trailing" id="FOq-gH-CTf"/> | 229 | <constraint firstItem="11m-je-qZ1" firstAttribute="leading" secondItem="oRx-7J-bma" secondAttribute="trailing" id="FOq-gH-CTf"/> |
225 | <constraint firstItem="HLr-Qj-bm4" firstAttribute="leading" secondItem="Jtx-be-zjg" secondAttribute="leading" id="FhM-mA-AWq"/> | 230 | <constraint firstItem="HLr-Qj-bm4" firstAttribute="leading" secondItem="Jtx-be-zjg" secondAttribute="leading" id="FhM-mA-AWq"/> |
226 | <constraint firstItem="RSj-iV-Oaf" firstAttribute="centerY" secondItem="2SZ-sd-ADD" secondAttribute="centerY" id="JTA-NC-8qU"/> | 231 | <constraint firstItem="RSj-iV-Oaf" firstAttribute="centerY" secondItem="2SZ-sd-ADD" secondAttribute="centerY" id="JTA-NC-8qU"/> |
227 | <constraint firstItem="V2B-wZ-Efk" firstAttribute="top" secondItem="dQq-cp-R2A" secondAttribute="bottom" constant="8" id="KF9-QN-1Vc"/> | 232 | <constraint firstItem="V2B-wZ-Efk" firstAttribute="top" secondItem="dQq-cp-R2A" secondAttribute="bottom" constant="8" id="KF9-QN-1Vc"/> |
228 | <constraint firstItem="wHy-xz-GJV" firstAttribute="top" secondItem="Jtx-be-zjg" secondAttribute="bottom" constant="8" id="LFj-zM-kIs"/> | 233 | <constraint firstItem="wHy-xz-GJV" firstAttribute="top" secondItem="Jtx-be-zjg" secondAttribute="bottom" constant="8" id="LFj-zM-kIs"/> |
229 | <constraint firstAttribute="trailing" secondItem="RSj-iV-Oaf" secondAttribute="trailing" constant="10" id="Ldg-q1-Jsy"/> | 234 | <constraint firstAttribute="trailing" secondItem="RSj-iV-Oaf" secondAttribute="trailing" constant="10" id="Ldg-q1-Jsy"/> |
230 | <constraint firstItem="V2B-wZ-Efk" firstAttribute="leading" secondItem="oRx-7J-bma" secondAttribute="trailing" id="Ls8-7Q-gjM"/> | 235 | <constraint firstItem="V2B-wZ-Efk" firstAttribute="leading" secondItem="oRx-7J-bma" secondAttribute="trailing" id="Ls8-7Q-gjM"/> |
231 | <constraint firstItem="Jtx-be-zjg" firstAttribute="top" secondItem="PW6-AR-UCs" secondAttribute="bottom" constant="8" id="MMi-Mg-qDV"/> | 236 | <constraint firstItem="Jtx-be-zjg" firstAttribute="top" secondItem="PW6-AR-UCs" secondAttribute="bottom" constant="8" id="MMi-Mg-qDV"/> |
232 | <constraint firstItem="1ak-Ne-wz9" firstAttribute="leading" secondItem="PW6-AR-UCs" secondAttribute="leading" id="NK3-Gl-NZu"/> | 237 | <constraint firstItem="1ak-Ne-wz9" firstAttribute="leading" secondItem="PW6-AR-UCs" secondAttribute="leading" id="NK3-Gl-NZu"/> |
233 | <constraint firstAttribute="trailing" secondItem="2SZ-sd-ADD" secondAttribute="trailing" id="O9f-yA-cZ5"/> | 238 | <constraint firstAttribute="trailing" secondItem="2SZ-sd-ADD" secondAttribute="trailing" id="O9f-yA-cZ5"/> |
234 | <constraint firstItem="equ-yC-hU1" firstAttribute="leading" secondItem="wHy-xz-GJV" secondAttribute="leading" id="Oe7-aI-2zb"/> | 239 | <constraint firstItem="equ-yC-hU1" firstAttribute="leading" secondItem="wHy-xz-GJV" secondAttribute="leading" id="Oe7-aI-2zb"/> |
235 | <constraint firstItem="Jtx-be-zjg" firstAttribute="centerY" secondItem="oRx-7J-bma" secondAttribute="centerY" id="U3o-rO-Gcb"/> | 240 | <constraint firstItem="Jtx-be-zjg" firstAttribute="centerY" secondItem="oRx-7J-bma" secondAttribute="centerY" id="U3o-rO-Gcb"/> |
236 | <constraint firstItem="oRx-7J-bma" firstAttribute="top" secondItem="2SZ-sd-ADD" secondAttribute="bottom" constant="50" id="WGj-Jf-jSz"/> | 241 | <constraint firstItem="oRx-7J-bma" firstAttribute="top" secondItem="2SZ-sd-ADD" secondAttribute="bottom" constant="50" id="WGj-Jf-jSz"/> |
237 | <constraint firstItem="equ-yC-hU1" firstAttribute="bottom" secondItem="wHy-xz-GJV" secondAttribute="bottom" id="ad4-KH-cYo"/> | 242 | <constraint firstItem="equ-yC-hU1" firstAttribute="bottom" secondItem="wHy-xz-GJV" secondAttribute="bottom" id="ad4-KH-cYo"/> |
238 | <constraint firstItem="equ-yC-hU1" firstAttribute="top" secondItem="wHy-xz-GJV" secondAttribute="top" id="adt-MK-oHP"/> | 243 | <constraint firstItem="equ-yC-hU1" firstAttribute="top" secondItem="wHy-xz-GJV" secondAttribute="top" id="adt-MK-oHP"/> |
239 | <constraint firstItem="PW6-AR-UCs" firstAttribute="leading" secondItem="i5M-Pr-FkT" secondAttribute="leading" constant="8" id="bsc-pa-ApI"/> | 244 | <constraint firstItem="PW6-AR-UCs" firstAttribute="leading" secondItem="i5M-Pr-FkT" secondAttribute="leading" constant="8" id="bsc-pa-ApI"/> |
240 | <constraint firstItem="HLr-Qj-bm4" firstAttribute="trailing" secondItem="Jtx-be-zjg" secondAttribute="trailing" id="h5E-wF-FZV"/> | 245 | <constraint firstItem="HLr-Qj-bm4" firstAttribute="trailing" secondItem="Jtx-be-zjg" secondAttribute="trailing" id="h5E-wF-FZV"/> |
241 | <constraint firstItem="1ak-Ne-wz9" firstAttribute="trailing" secondItem="PW6-AR-UCs" secondAttribute="trailing" id="jXm-mH-e3x"/> | 246 | <constraint firstItem="1ak-Ne-wz9" firstAttribute="trailing" secondItem="PW6-AR-UCs" secondAttribute="trailing" id="jXm-mH-e3x"/> |
242 | <constraint firstAttribute="trailing" secondItem="V2B-wZ-Efk" secondAttribute="trailing" id="kQV-FL-4Zq"/> | 247 | <constraint firstAttribute="trailing" secondItem="V2B-wZ-Efk" secondAttribute="trailing" id="kQV-FL-4Zq"/> |
243 | <constraint firstItem="HLr-Qj-bm4" firstAttribute="top" secondItem="Jtx-be-zjg" secondAttribute="top" id="lE9-vw-sw6"/> | 248 | <constraint firstItem="HLr-Qj-bm4" firstAttribute="top" secondItem="Jtx-be-zjg" secondAttribute="top" id="lE9-vw-sw6"/> |
244 | <constraint firstItem="2SZ-sd-ADD" firstAttribute="leading" secondItem="i5M-Pr-FkT" secondAttribute="leading" id="q0L-8m-E0D"/> | 249 | <constraint firstItem="2SZ-sd-ADD" firstAttribute="leading" secondItem="i5M-Pr-FkT" secondAttribute="leading" id="q0L-8m-E0D"/> |
245 | <constraint firstItem="equ-yC-hU1" firstAttribute="trailing" secondItem="wHy-xz-GJV" secondAttribute="trailing" id="vDi-q7-eov"/> | 250 | <constraint firstItem="equ-yC-hU1" firstAttribute="trailing" secondItem="wHy-xz-GJV" secondAttribute="trailing" id="vDi-q7-eov"/> |
246 | <constraint firstItem="1ak-Ne-wz9" firstAttribute="bottom" secondItem="PW6-AR-UCs" secondAttribute="bottom" id="vlQ-WK-pY4"/> | 251 | <constraint firstItem="1ak-Ne-wz9" firstAttribute="bottom" secondItem="PW6-AR-UCs" secondAttribute="bottom" id="vlQ-WK-pY4"/> |
247 | <constraint firstItem="11m-je-qZ1" firstAttribute="top" secondItem="V2B-wZ-Efk" secondAttribute="bottom" constant="8" id="vrX-sS-hWJ"/> | 252 | <constraint firstItem="11m-je-qZ1" firstAttribute="top" secondItem="V2B-wZ-Efk" secondAttribute="bottom" constant="8" id="vrX-sS-hWJ"/> |
248 | <constraint firstItem="2SZ-sd-ADD" firstAttribute="top" secondItem="i5M-Pr-FkT" secondAttribute="top" placeholder="YES" id="w1M-Il-jBT"/> | 253 | <constraint firstItem="2SZ-sd-ADD" firstAttribute="top" secondItem="i5M-Pr-FkT" secondAttribute="top" placeholder="YES" id="w1M-Il-jBT"/> |
249 | <constraint firstAttribute="trailing" secondItem="oRx-7J-bma" secondAttribute="trailing" constant="60" id="y6f-vv-nWJ"/> | 254 | <constraint firstAttribute="trailing" secondItem="oRx-7J-bma" secondAttribute="trailing" constant="60" id="y6f-vv-nWJ"/> |
250 | <constraint firstItem="wHy-xz-GJV" firstAttribute="leading" secondItem="i5M-Pr-FkT" secondAttribute="leading" constant="8" id="yEj-yT-PGx"/> | 255 | <constraint firstItem="wHy-xz-GJV" firstAttribute="leading" secondItem="i5M-Pr-FkT" secondAttribute="leading" constant="8" id="yEj-yT-PGx"/> |
251 | <constraint firstItem="yOP-KX-J14" firstAttribute="centerY" secondItem="2SZ-sd-ADD" secondAttribute="centerY" id="ym9-6w-9C5"/> | 256 | <constraint firstItem="yOP-KX-J14" firstAttribute="centerY" secondItem="2SZ-sd-ADD" secondAttribute="centerY" id="ym9-6w-9C5"/> |
252 | </constraints> | 257 | </constraints> |
253 | <point key="canvasLocation" x="33.5" y="54.5"/> | 258 | <point key="canvasLocation" x="33.5" y="54.5"/> |
254 | </view> | 259 | </view> |
255 | </objects> | 260 | </objects> |
256 | <resources> | 261 | <resources> |
257 | <image name="icon_facebook" width="40" height="40"/> | 262 | <image name="icon_facebook" width="40" height="40"/> |
258 | <image name="icon_line" width="40" height="40"/> | 263 | <image name="icon_line" width="40" height="40"/> |
259 | <image name="icon_menu" width="30" height="30"/> | 264 | <image name="icon_menu" width="30" height="30"/> |
260 | <image name="icon_share" width="42" height="57"/> | 265 | <image name="icon_share" width="42" height="57"/> |
261 | <image name="icon_walking" width="14" height="25"/> | 266 | <image name="icon_walking" width="14" height="25"/> |
262 | <image name="today_back_button" width="73" height="37"/> | 267 | <image name="today_back_button" width="73" height="37"/> |
263 | </resources> | 268 | </resources> |
264 | </document> | 269 | </document> |
265 | 270 |