Commit 02fd57747bb322b433ed6332fe37d148c9039305
1 parent
f7449e6618
Exists in
master
and in
1 other branch
Add function to change endDate in ranking screen
Showing 3 changed files with 11 additions and 4 deletions Inline Diff
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 CollectionView *viewCollectionTime; | 19 | @property (weak, nonatomic) IBOutlet CollectionView *viewCollectionTime; |
20 | @property (weak, nonatomic) IBOutlet CollectionView *viewCollectionMode; | 20 | @property (weak, nonatomic) IBOutlet CollectionView *viewCollectionMode; |
21 | @property (weak, nonatomic) IBOutlet CollectionView *viewCollectionType; | 21 | @property (weak, nonatomic) IBOutlet CollectionView *viewCollectionType; |
22 | @property (weak, nonatomic) IBOutlet UILabel *lblDateTime; | 22 | @property (weak, nonatomic) IBOutlet UILabel *lblDateTime; |
23 | 23 | ||
24 | - (IBAction)clickButton:(UIButton *)sender; | 24 | - (IBAction)clickBackward:(UIButton *)sender; |
25 | - (IBAction)clickForward:(UIButton *)sender; | ||
25 | @end | 26 | @end |
26 | 27 |
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 | // Do any additional setup after loading the view from its nib. | 23 | // Do any additional setup after loading the view from its nib. |
24 | self.title = NSLocalizedString(@"lifelog.rank.title", nil); | 24 | self.title = NSLocalizedString(@"lifelog.rank.title", nil); |
25 | 25 | ||
26 | [self setupView]; | 26 | [self setupView]; |
27 | 27 | ||
28 | _startDate = [NSDate date]; | 28 | _startDate = [NSDate date]; |
29 | _endDate = _startDate; | 29 | _endDate = _startDate; |
30 | self.lblDateTime.text = [Utilities stringFromDate:_endDate withFormat:@"YYYY年MM月dd日 EEEE" locale:@"ja_JP"]; | 30 | self.lblDateTime.text = [Utilities stringFromDate:_endDate withFormat:@"YYYY年MM月dd日 EEEE" locale:@"ja_JP"]; |
31 | 31 | ||
32 | //register nib for table view | 32 | //register nib for table view |
33 | [self.tableBase registerNib:[UINib nibWithNibName:@"RankingTableViewCell" bundle:nil] forCellReuseIdentifier:@"RankCell"]; | 33 | [self.tableBase registerNib:[UINib nibWithNibName:@"RankingTableViewCell" bundle:nil] forCellReuseIdentifier:@"RankCell"]; |
34 | 34 | ||
35 | [self callRequestToUpdateData]; | 35 | [self callRequestToUpdateData]; |
36 | } | 36 | } |
37 | 37 | ||
38 | - (void)didReceiveMemoryWarning { | 38 | - (void)didReceiveMemoryWarning { |
39 | [super didReceiveMemoryWarning]; | 39 | [super didReceiveMemoryWarning]; |
40 | // Dispose of any resources that can be recreated. | 40 | // Dispose of any resources that can be recreated. |
41 | } | 41 | } |
42 | 42 | ||
43 | #pragma mark Setup and Update View | 43 | #pragma mark Setup and Update View |
44 | 44 | ||
45 | - (void)setupView { | 45 | - (void)setupView { |
46 | 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]; | 46 | 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]; |
47 | [self.viewCollectionTime setButtonNumber:timeTitle.count]; | 47 | [self.viewCollectionTime setButtonNumber:timeTitle.count]; |
48 | [self.viewCollectionTime setSpacing:1]; | 48 | [self.viewCollectionTime setSpacing:1]; |
49 | [self.viewCollectionTime setArrayTitle:timeTitle]; | 49 | [self.viewCollectionTime setArrayTitle:timeTitle]; |
50 | self.viewCollectionTime.changeCurrentIndex = ^(int index){ | 50 | self.viewCollectionTime.changeCurrentIndex = ^(int index){ |
51 | [self changeDate]; | 51 | [self changeDate]; |
52 | }; | 52 | }; |
53 | 53 | ||
54 | 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]; | 54 | 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]; |
55 | [self.viewCollectionMode setButtonNumber:modeTitle.count]; | 55 | [self.viewCollectionMode setButtonNumber:modeTitle.count]; |
56 | [self.viewCollectionMode setSpacing:1]; | 56 | [self.viewCollectionMode setSpacing:1]; |
57 | [self.viewCollectionMode setArrayTitle:modeTitle]; | 57 | [self.viewCollectionMode setArrayTitle:modeTitle]; |
58 | self.viewCollectionMode.changeCurrentIndex = ^(int index){ | 58 | self.viewCollectionMode.changeCurrentIndex = ^(int index){ |
59 | [self callRequestToUpdateData]; | 59 | [self callRequestToUpdateData]; |
60 | }; | 60 | }; |
61 | 61 | ||
62 | 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]; | 62 | 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]; |
63 | [self.viewCollectionType setButtonNumber:typeTitle.count]; | 63 | [self.viewCollectionType setButtonNumber:typeTitle.count]; |
64 | [self.viewCollectionType setSpacing:1]; | 64 | [self.viewCollectionType setSpacing:1]; |
65 | [self.viewCollectionType setArrayTitle:typeTitle]; | 65 | [self.viewCollectionType setArrayTitle:typeTitle]; |
66 | self.viewCollectionMode.changeCurrentIndex = ^(int index){ | 66 | self.viewCollectionMode.changeCurrentIndex = ^(int index){ |
67 | [self callRequestToUpdateData]; | 67 | [self callRequestToUpdateData]; |
68 | }; | 68 | }; |
69 | } | 69 | } |
70 | 70 | ||
71 | 71 | ||
72 | #pragma mark IBAction function | 72 | #pragma mark IBAction function |
73 | - (IBAction)clickBackward:(UIButton *)sender { | ||
74 | _endDate = [_endDate dateByAddingTimeInterval:-86400]; | ||
75 | [self changeDate]; | ||
76 | } | ||
73 | 77 | ||
74 | - (IBAction)clickButton:(UIButton *)sender { | 78 | - (IBAction)clickForward:(UIButton *)sender { |
79 | _endDate = [_endDate dateByAddingTimeInterval:86400]; | ||
80 | [self changeDate]; | ||
75 | } | 81 | } |
76 | 82 | ||
77 | #pragma mark UITableView Delegate | 83 | #pragma mark UITableView Delegate |
78 | 84 | ||
79 | - (UITableViewCell *) tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath { | 85 | - (UITableViewCell *) tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath { |
80 | RankingTableViewCell * cell = [tableView dequeueReusableCellWithIdentifier:@"RankCell"]; | 86 | RankingTableViewCell * cell = [tableView dequeueReusableCellWithIdentifier:@"RankCell"]; |
81 | [cell setRankingData:[_curDataList objectAtIndex:indexPath.row]]; | 87 | [cell setRankingData:[_curDataList objectAtIndex:indexPath.row]]; |
82 | return cell; | 88 | return cell; |
83 | } | 89 | } |
84 | 90 | ||
85 | #pragma mark Private function | 91 | #pragma mark Private function |
86 | - (void)callRequestToUpdateData { | 92 | - (void)callRequestToUpdateData { |
87 | [super callRequestToUpdateData]; | 93 | [super callRequestToUpdateData]; |
88 | 94 | ||
89 | NSString * token = [[NSUserDefaults standardUserDefaults] stringForKey:kToken]; | 95 | NSString * token = [[NSUserDefaults standardUserDefaults] stringForKey:kToken]; |
90 | MBProgressHUD *hudView = nil; | 96 | MBProgressHUD *hudView = nil; |
91 | int mode = self.viewCollectionMode.getCurrentIndex + 1; | 97 | int mode = self.viewCollectionMode.getCurrentIndex + 1; |
92 | //dont have all | 98 | //dont have all |
93 | mode = fmin(mode, 3); | 99 | mode = fmin(mode, 3); |
94 | 100 | ||
95 | if(_curPage == 1 && !self.refreshControl.isRefreshing) { | 101 | if(_curPage == 1 && !self.refreshControl.isRefreshing) { |
96 | hudView = [MBProgressHUD showHUDAddedTo:self.view animated:true]; | 102 | hudView = [MBProgressHUD showHUDAddedTo:self.view animated:true]; |
97 | } | 103 | } |
98 | [[ServerAPI server] requestRankingList:token startDate:_startDate endDate:_endDate mode:mode page:_curPage CompletionHandler:^(NSArray *array, NSError *error){ | 104 | [[ServerAPI server] requestRankingList:token startDate:_startDate endDate:_endDate mode:mode page:_curPage CompletionHandler:^(NSArray *array, NSError *error){ |
99 | dispatch_async(dispatch_get_main_queue(), ^{ | 105 | dispatch_async(dispatch_get_main_queue(), ^{ |
100 | if(hudView != nil) { | 106 | if(hudView != nil) { |
101 | [hudView hideAnimated:true]; | 107 | [hudView hideAnimated:true]; |
102 | } | 108 | } |
103 | }); | 109 | }); |
104 | RankingViewController __weak *weakSelf = self; | 110 | RankingViewController __weak *weakSelf = self; |
105 | [weakSelf updateTableData:array error:error]; | 111 | [weakSelf updateTableData:array error:error]; |
106 | }]; | 112 | }]; |
107 | } | 113 | } |
108 | 114 | ||
109 | - (void) changeDate { | 115 | - (void) changeDate { |
110 | switch (self.viewCollectionTime.getCurrentIndex) { | 116 | switch (self.viewCollectionTime.getCurrentIndex) { |
111 | case 1: | 117 | case 1: |
112 | _startDate = [_endDate dateByAddingTimeInterval:-86400 * 7]; | 118 | _startDate = [_endDate dateByAddingTimeInterval:-86400 * 7]; |
113 | break; | 119 | break; |
114 | case 2: | 120 | case 2: |
115 | _startDate = [_endDate dateByAddingTimeInterval:-86400 * 30]; | 121 | _startDate = [_endDate dateByAddingTimeInterval:-86400 * 30]; |
116 | break; | 122 | break; |
117 | case 3: | 123 | case 3: |
118 | _startDate = [_endDate dateByAddingTimeInterval:-86400 * 365]; | 124 | _startDate = [_endDate dateByAddingTimeInterval:-86400 * 365]; |
119 | break; | 125 | break; |
120 | default: | 126 | default: |
121 | _startDate = _endDate; | 127 | _startDate = _endDate; |
122 | break; | 128 | break; |
123 | } | 129 | } |
124 | if(_startDate == _endDate) { | 130 | if(_startDate == _endDate) { |
125 | self.lblDateTime.text = [Utilities stringFromDate:_endDate withFormat:@"YYYY年MM月dd日 EEEE" locale:@"ja_JP"]; | 131 | self.lblDateTime.text = [Utilities stringFromDate:_endDate withFormat:@"YYYY年MM月dd日 EEEE" locale:@"ja_JP"]; |
126 | } | 132 | } |
127 | else { | 133 | else { |
128 | NSString * startDateString = [Utilities stringFromDate:_startDate withFormat:@"YYYY年MM月dd日" locale:@"ja_JP"]; | 134 | NSString * startDateString = [Utilities stringFromDate:_startDate withFormat:@"YYYY年MM月dd日" locale:@"ja_JP"]; |
129 | NSString * endDateString = [Utilities stringFromDate:_endDate withFormat:@"YYYY年MM月dd日" locale:@"ja_JP"]; | 135 | NSString * endDateString = [Utilities stringFromDate:_endDate withFormat:@"YYYY年MM月dd日" locale:@"ja_JP"]; |
130 | self.lblDateTime.text = [NSString stringWithFormat:@"%@-%@", startDateString, endDateString]; | 136 | self.lblDateTime.text = [NSString stringWithFormat:@"%@-%@", startDateString, endDateString]; |
131 | } | 137 | } |
132 | [self callRequestToUpdateData]; | 138 | [self callRequestToUpdateData]; |
133 | } | 139 | } |
134 | @end | 140 | @end |
135 | 141 |
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="12118" systemVersion="16D32" targetRuntime="iOS.CocoaTouch" propertyAccessControl="none" useAutolayout="YES" useTraitCollections="YES" colorMatched="YES"> | 2 | <document type="com.apple.InterfaceBuilder3.CocoaTouch.XIB" version="3.0" toolsVersion="12118" systemVersion="16D32" 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 | <plugIn identifier="com.apple.InterfaceBuilder.IBCocoaTouchPlugin" version="12086"/> |
8 | <capability name="documents saved in the Xcode 8 format" minToolsVersion="8.0"/> | 8 | <capability name="documents saved in the Xcode 8 format" minToolsVersion="8.0"/> |
9 | </dependencies> | 9 | </dependencies> |
10 | <objects> | 10 | <objects> |
11 | <placeholder placeholderIdentifier="IBFilesOwner" id="-1" userLabel="File's Owner" customClass="RankingViewController"> | 11 | <placeholder placeholderIdentifier="IBFilesOwner" id="-1" userLabel="File's Owner" customClass="RankingViewController"> |
12 | <connections> | 12 | <connections> |
13 | <outlet property="lblDateTime" destination="5Ro-k6-fvT" id="5uO-ff-Pmc"/> | 13 | <outlet property="lblDateTime" destination="5Ro-k6-fvT" id="5uO-ff-Pmc"/> |
14 | <outlet property="tableBase" destination="R3A-K9-MFe" id="Tf9-Rg-PEW"/> | 14 | <outlet property="tableBase" destination="R3A-K9-MFe" id="Tf9-Rg-PEW"/> |
15 | <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="viewCollectionMode" destination="B33-xX-Jro" id="HP4-Xb-LJm"/> | 16 | <outlet property="viewCollectionMode" destination="B33-xX-Jro" id="HP4-Xb-LJm"/> |
17 | <outlet property="viewCollectionTime" destination="syA-uK-pbr" id="WdA-Cq-Flj"/> | 17 | <outlet property="viewCollectionTime" destination="syA-uK-pbr" id="WdA-Cq-Flj"/> |
18 | <outlet property="viewCollectionType" destination="oUo-Eo-tz5" id="bjw-El-34G"/> | 18 | <outlet property="viewCollectionType" destination="oUo-Eo-tz5" id="bjw-El-34G"/> |
19 | </connections> | 19 | </connections> |
20 | </placeholder> | 20 | </placeholder> |
21 | <placeholder placeholderIdentifier="IBFirstResponder" id="-2" customClass="UIResponder"/> | 21 | <placeholder placeholderIdentifier="IBFirstResponder" id="-2" customClass="UIResponder"/> |
22 | <view clearsContextBeforeDrawing="NO" contentMode="scaleToFill" id="i5M-Pr-FkT"> | 22 | <view clearsContextBeforeDrawing="NO" contentMode="scaleToFill" id="i5M-Pr-FkT"> |
23 | <rect key="frame" x="0.0" y="0.0" width="375" height="667"/> | 23 | <rect key="frame" x="0.0" y="0.0" width="375" height="667"/> |
24 | <autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/> | 24 | <autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/> |
25 | <subviews> | 25 | <subviews> |
26 | <view contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="GBx-lY-9YI" userLabel="ViewHeader"> | 26 | <view contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="GBx-lY-9YI" userLabel="ViewHeader"> |
27 | <rect key="frame" x="0.0" y="0.0" width="375" height="46"/> | 27 | <rect key="frame" x="0.0" y="0.0" width="375" height="46"/> |
28 | <subviews> | 28 | <subviews> |
29 | <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"> | 29 | <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"> |
30 | <rect key="frame" x="0.0" y="0.0" width="375" height="46"/> | 30 | <rect key="frame" x="0.0" y="0.0" width="375" height="46"/> |
31 | <fontDescription key="fontDescription" type="system" pointSize="17"/> | 31 | <fontDescription key="fontDescription" type="system" pointSize="17"/> |
32 | <color key="textColor" white="1" alpha="1" colorSpace="calibratedWhite"/> | 32 | <color key="textColor" white="1" alpha="1" colorSpace="calibratedWhite"/> |
33 | <nil key="highlightedColor"/> | 33 | <nil key="highlightedColor"/> |
34 | <userDefinedRuntimeAttributes> | 34 | <userDefinedRuntimeAttributes> |
35 | <userDefinedRuntimeAttribute type="string" keyPath="localizeKey" value="lifelog.rank.title"/> | 35 | <userDefinedRuntimeAttribute type="string" keyPath="localizeKey" value="lifelog.rank.title"/> |
36 | </userDefinedRuntimeAttributes> | 36 | </userDefinedRuntimeAttributes> |
37 | </label> | 37 | </label> |
38 | <button hidden="YES" opaque="NO" contentMode="scaleToFill" contentHorizontalAlignment="center" contentVerticalAlignment="center" lineBreakMode="middleTruncation" translatesAutoresizingMaskIntoConstraints="NO" id="qPe-ff-jRp"> | 38 | <button hidden="YES" opaque="NO" contentMode="scaleToFill" contentHorizontalAlignment="center" contentVerticalAlignment="center" lineBreakMode="middleTruncation" translatesAutoresizingMaskIntoConstraints="NO" id="qPe-ff-jRp"> |
39 | <rect key="frame" x="0.0" y="5" width="70" height="36"/> | 39 | <rect key="frame" x="0.0" y="5" width="70" height="36"/> |
40 | <constraints> | 40 | <constraints> |
41 | <constraint firstAttribute="width" constant="70" id="bEy-jt-69Q"/> | 41 | <constraint firstAttribute="width" constant="70" id="bEy-jt-69Q"/> |
42 | </constraints> | 42 | </constraints> |
43 | <state key="normal" image="today_back_button"/> | 43 | <state key="normal" image="today_back_button"/> |
44 | </button> | 44 | </button> |
45 | <button opaque="NO" contentMode="scaleToFill" contentHorizontalAlignment="center" contentVerticalAlignment="center" lineBreakMode="middleTruncation" translatesAutoresizingMaskIntoConstraints="NO" id="WGc-2i-Swk"> | 45 | <button opaque="NO" contentMode="scaleToFill" contentHorizontalAlignment="center" contentVerticalAlignment="center" lineBreakMode="middleTruncation" translatesAutoresizingMaskIntoConstraints="NO" id="WGc-2i-Swk"> |
46 | <rect key="frame" x="330" y="0.0" width="45" height="46"/> | 46 | <rect key="frame" x="330" y="0.0" width="45" height="46"/> |
47 | <constraints> | 47 | <constraints> |
48 | <constraint firstAttribute="width" constant="45" id="nJ2-jH-Z45"/> | 48 | <constraint firstAttribute="width" constant="45" id="nJ2-jH-Z45"/> |
49 | </constraints> | 49 | </constraints> |
50 | <state key="normal" image="icon_menu"/> | 50 | <state key="normal" image="icon_menu"/> |
51 | </button> | 51 | </button> |
52 | </subviews> | 52 | </subviews> |
53 | <color key="backgroundColor" red="0.098039215690000001" green="0.098039215690000001" blue="0.098039215690000001" alpha="1" colorSpace="custom" customColorSpace="sRGB"/> | 53 | <color key="backgroundColor" red="0.098039215690000001" green="0.098039215690000001" blue="0.098039215690000001" alpha="1" colorSpace="custom" customColorSpace="sRGB"/> |
54 | <constraints> | 54 | <constraints> |
55 | <constraint firstAttribute="bottom" secondItem="WGc-2i-Swk" secondAttribute="bottom" id="0hd-fk-kJG"/> | 55 | <constraint firstAttribute="bottom" secondItem="WGc-2i-Swk" secondAttribute="bottom" id="0hd-fk-kJG"/> |
56 | <constraint firstAttribute="bottom" secondItem="p97-40-8m9" secondAttribute="bottom" id="78G-b2-wAu"/> | 56 | <constraint firstAttribute="bottom" secondItem="p97-40-8m9" secondAttribute="bottom" id="78G-b2-wAu"/> |
57 | <constraint firstItem="qPe-ff-jRp" firstAttribute="leading" secondItem="GBx-lY-9YI" secondAttribute="leading" id="9ND-Te-qX9"/> | 57 | <constraint firstItem="qPe-ff-jRp" firstAttribute="leading" secondItem="GBx-lY-9YI" secondAttribute="leading" id="9ND-Te-qX9"/> |
58 | <constraint firstItem="qPe-ff-jRp" firstAttribute="top" secondItem="GBx-lY-9YI" secondAttribute="top" constant="5" id="9ZX-A3-Bnp"/> | 58 | <constraint firstItem="qPe-ff-jRp" firstAttribute="top" secondItem="GBx-lY-9YI" secondAttribute="top" constant="5" id="9ZX-A3-Bnp"/> |
59 | <constraint firstItem="p97-40-8m9" firstAttribute="top" secondItem="GBx-lY-9YI" secondAttribute="top" id="CVN-ke-5KK"/> | 59 | <constraint firstItem="p97-40-8m9" firstAttribute="top" secondItem="GBx-lY-9YI" secondAttribute="top" id="CVN-ke-5KK"/> |
60 | <constraint firstAttribute="height" constant="46" id="SDI-ij-KbH"/> | 60 | <constraint firstAttribute="height" constant="46" id="SDI-ij-KbH"/> |
61 | <constraint firstItem="p97-40-8m9" firstAttribute="leading" secondItem="GBx-lY-9YI" secondAttribute="leading" id="U19-fM-q7G"/> | 61 | <constraint firstItem="p97-40-8m9" firstAttribute="leading" secondItem="GBx-lY-9YI" secondAttribute="leading" id="U19-fM-q7G"/> |
62 | <constraint firstAttribute="bottom" secondItem="qPe-ff-jRp" secondAttribute="bottom" constant="5" id="jU7-xM-YKX"/> | 62 | <constraint firstAttribute="bottom" secondItem="qPe-ff-jRp" secondAttribute="bottom" constant="5" id="jU7-xM-YKX"/> |
63 | <constraint firstItem="WGc-2i-Swk" firstAttribute="top" secondItem="GBx-lY-9YI" secondAttribute="top" id="knL-Yf-VTN"/> | 63 | <constraint firstItem="WGc-2i-Swk" firstAttribute="top" secondItem="GBx-lY-9YI" secondAttribute="top" id="knL-Yf-VTN"/> |
64 | <constraint firstAttribute="trailing" secondItem="p97-40-8m9" secondAttribute="trailing" id="sLL-ca-92S"/> | 64 | <constraint firstAttribute="trailing" secondItem="p97-40-8m9" secondAttribute="trailing" id="sLL-ca-92S"/> |
65 | <constraint firstAttribute="trailing" secondItem="WGc-2i-Swk" secondAttribute="trailing" id="v0h-pb-83W"/> | 65 | <constraint firstAttribute="trailing" secondItem="WGc-2i-Swk" secondAttribute="trailing" id="v0h-pb-83W"/> |
66 | </constraints> | 66 | </constraints> |
67 | </view> | 67 | </view> |
68 | <view contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="syA-uK-pbr" customClass="CollectionView"> | 68 | <view contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="syA-uK-pbr" customClass="CollectionView"> |
69 | <rect key="frame" x="0.0" y="46" width="375" height="30"/> | 69 | <rect key="frame" x="0.0" y="46" width="375" height="30"/> |
70 | <color key="backgroundColor" white="0.0" alpha="0.0" colorSpace="calibratedWhite"/> | 70 | <color key="backgroundColor" white="0.0" alpha="0.0" colorSpace="calibratedWhite"/> |
71 | <constraints> | 71 | <constraints> |
72 | <constraint firstAttribute="height" constant="30" id="ezW-Qs-M7K"/> | 72 | <constraint firstAttribute="height" constant="30" id="ezW-Qs-M7K"/> |
73 | </constraints> | 73 | </constraints> |
74 | </view> | 74 | </view> |
75 | <view contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="B33-xX-Jro" customClass="CollectionView"> | 75 | <view contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="B33-xX-Jro" customClass="CollectionView"> |
76 | <rect key="frame" x="0.0" y="116" width="375" height="30"/> | 76 | <rect key="frame" x="0.0" y="116" width="375" height="30"/> |
77 | <color key="backgroundColor" white="0.0" alpha="0.0" colorSpace="calibratedWhite"/> | 77 | <color key="backgroundColor" white="0.0" alpha="0.0" colorSpace="calibratedWhite"/> |
78 | <constraints> | 78 | <constraints> |
79 | <constraint firstAttribute="height" constant="30" id="snn-FM-11r"/> | 79 | <constraint firstAttribute="height" constant="30" id="snn-FM-11r"/> |
80 | </constraints> | 80 | </constraints> |
81 | </view> | 81 | </view> |
82 | <view contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="u5D-xz-8dK"> | 82 | <view contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="u5D-xz-8dK"> |
83 | <rect key="frame" x="0.0" y="76" width="375" height="40"/> | 83 | <rect key="frame" x="0.0" y="76" width="375" height="40"/> |
84 | <subviews> | 84 | <subviews> |
85 | <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"> | 85 | <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"> |
86 | <rect key="frame" x="0.0" y="0.0" width="375" height="40"/> | 86 | <rect key="frame" x="0.0" y="0.0" width="375" height="40"/> |
87 | <string key="text" base64-UTF8="YES"> | 87 | <string key="text" base64-UTF8="YES"> |
88 | MjAxNuW5tCAx5pyIMjLml6XjgIDvvI3jgIAyMDE35bm0IDHmnIgyMeaXpQ0KAA | 88 | MjAxNuW5tCAx5pyIMjLml6XjgIDvvI3jgIAyMDE35bm0IDHmnIgyMeaXpQ0KAA |
89 | </string> | 89 | </string> |
90 | <fontDescription key="fontDescription" type="system" pointSize="13"/> | 90 | <fontDescription key="fontDescription" type="system" pointSize="13"/> |
91 | <color key="textColor" white="1" alpha="1" colorSpace="calibratedWhite"/> | 91 | <color key="textColor" white="1" alpha="1" colorSpace="calibratedWhite"/> |
92 | <nil key="highlightedColor"/> | 92 | <nil key="highlightedColor"/> |
93 | </label> | 93 | </label> |
94 | <button opaque="NO" contentMode="scaleToFill" contentHorizontalAlignment="center" contentVerticalAlignment="center" lineBreakMode="middleTruncation" translatesAutoresizingMaskIntoConstraints="NO" id="eiH-Sk-3VV"> | 94 | <button opaque="NO" contentMode="scaleToFill" contentHorizontalAlignment="center" contentVerticalAlignment="center" lineBreakMode="middleTruncation" translatesAutoresizingMaskIntoConstraints="NO" id="eiH-Sk-3VV"> |
95 | <rect key="frame" x="15" y="5" width="30" height="30"/> | 95 | <rect key="frame" x="15" y="5" width="30" height="30"/> |
96 | <constraints> | 96 | <constraints> |
97 | <constraint firstAttribute="height" constant="30" id="kEd-sQ-0ub"/> | 97 | <constraint firstAttribute="height" constant="30" id="kEd-sQ-0ub"/> |
98 | <constraint firstAttribute="width" constant="30" id="sFT-sr-7pL"/> | 98 | <constraint firstAttribute="width" constant="30" id="sFT-sr-7pL"/> |
99 | </constraints> | 99 | </constraints> |
100 | <state key="normal" image="icon_left"/> | 100 | <state key="normal" image="icon_left"/> |
101 | <connections> | 101 | <connections> |
102 | <action selector="clickButton:" destination="-1" eventType="touchUpInside" id="f1Y-rj-F7d"/> | 102 | <action selector="clickBackward:" destination="-1" eventType="touchUpInside" id="8KB-3G-h6v"/> |
103 | </connections> | 103 | </connections> |
104 | </button> | 104 | </button> |
105 | <button opaque="NO" contentMode="scaleToFill" contentHorizontalAlignment="center" contentVerticalAlignment="center" lineBreakMode="middleTruncation" translatesAutoresizingMaskIntoConstraints="NO" id="Usl-Cl-d9d"> | 105 | <button opaque="NO" contentMode="scaleToFill" contentHorizontalAlignment="center" contentVerticalAlignment="center" lineBreakMode="middleTruncation" translatesAutoresizingMaskIntoConstraints="NO" id="Usl-Cl-d9d"> |
106 | <rect key="frame" x="330" y="5" width="30" height="30"/> | 106 | <rect key="frame" x="330" y="5" width="30" height="30"/> |
107 | <constraints> | 107 | <constraints> |
108 | <constraint firstAttribute="width" constant="30" id="uFf-AY-LsL"/> | 108 | <constraint firstAttribute="width" constant="30" id="uFf-AY-LsL"/> |
109 | <constraint firstAttribute="height" constant="30" id="v8w-hV-CY1"/> | 109 | <constraint firstAttribute="height" constant="30" id="v8w-hV-CY1"/> |
110 | </constraints> | 110 | </constraints> |
111 | <state key="normal" image="icon_right"/> | 111 | <state key="normal" image="icon_right"/> |
112 | <connections> | 112 | <connections> |
113 | <action selector="clickButton:" destination="-1" eventType="touchUpInside" id="OB1-mE-CGE"/> | 113 | <action selector="clickForward:" destination="-1" eventType="touchUpInside" id="sgL-89-hXv"/> |
114 | </connections> | 114 | </connections> |
115 | </button> | 115 | </button> |
116 | </subviews> | 116 | </subviews> |
117 | <color key="backgroundColor" white="0.0" alpha="0.0" colorSpace="calibratedWhite"/> | 117 | <color key="backgroundColor" white="0.0" alpha="0.0" colorSpace="calibratedWhite"/> |
118 | <constraints> | 118 | <constraints> |
119 | <constraint firstAttribute="height" constant="40" id="C5o-Zd-KjG"/> | 119 | <constraint firstAttribute="height" constant="40" id="C5o-Zd-KjG"/> |
120 | <constraint firstAttribute="bottom" secondItem="5Ro-k6-fvT" secondAttribute="bottom" id="DQQ-wh-s1Q"/> | 120 | <constraint firstAttribute="bottom" secondItem="5Ro-k6-fvT" secondAttribute="bottom" id="DQQ-wh-s1Q"/> |
121 | <constraint firstAttribute="trailing" secondItem="5Ro-k6-fvT" secondAttribute="trailing" id="E0c-bJ-AIi"/> | 121 | <constraint firstAttribute="trailing" secondItem="5Ro-k6-fvT" secondAttribute="trailing" id="E0c-bJ-AIi"/> |
122 | <constraint firstItem="5Ro-k6-fvT" firstAttribute="top" secondItem="u5D-xz-8dK" secondAttribute="top" id="Mrk-FC-rqh"/> | 122 | <constraint firstItem="5Ro-k6-fvT" firstAttribute="top" secondItem="u5D-xz-8dK" secondAttribute="top" id="Mrk-FC-rqh"/> |
123 | <constraint firstItem="eiH-Sk-3VV" firstAttribute="centerY" secondItem="u5D-xz-8dK" secondAttribute="centerY" id="k2J-Lc-ZDI"/> | 123 | <constraint firstItem="eiH-Sk-3VV" firstAttribute="centerY" secondItem="u5D-xz-8dK" secondAttribute="centerY" id="k2J-Lc-ZDI"/> |
124 | <constraint firstItem="5Ro-k6-fvT" firstAttribute="leading" secondItem="u5D-xz-8dK" secondAttribute="leading" id="rj5-0J-xs3"/> | 124 | <constraint firstItem="5Ro-k6-fvT" firstAttribute="leading" secondItem="u5D-xz-8dK" secondAttribute="leading" id="rj5-0J-xs3"/> |
125 | <constraint firstItem="Usl-Cl-d9d" firstAttribute="centerY" secondItem="u5D-xz-8dK" secondAttribute="centerY" id="sJX-n3-1pz"/> | 125 | <constraint firstItem="Usl-Cl-d9d" firstAttribute="centerY" secondItem="u5D-xz-8dK" secondAttribute="centerY" id="sJX-n3-1pz"/> |
126 | <constraint firstItem="eiH-Sk-3VV" firstAttribute="leading" secondItem="u5D-xz-8dK" secondAttribute="leading" constant="15" id="to7-WU-7xo"/> | 126 | <constraint firstItem="eiH-Sk-3VV" firstAttribute="leading" secondItem="u5D-xz-8dK" secondAttribute="leading" constant="15" id="to7-WU-7xo"/> |
127 | <constraint firstAttribute="trailing" secondItem="Usl-Cl-d9d" secondAttribute="trailing" constant="15" id="yDF-9k-XlW"/> | 127 | <constraint firstAttribute="trailing" secondItem="Usl-Cl-d9d" secondAttribute="trailing" constant="15" id="yDF-9k-XlW"/> |
128 | </constraints> | 128 | </constraints> |
129 | </view> | 129 | </view> |
130 | <view contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="oUo-Eo-tz5" customClass="CollectionView"> | 130 | <view contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="oUo-Eo-tz5" customClass="CollectionView"> |
131 | <rect key="frame" x="0.0" y="577" width="375" height="40"/> | 131 | <rect key="frame" x="0.0" y="577" width="375" height="40"/> |
132 | <color key="backgroundColor" white="0.0" alpha="0.0" colorSpace="calibratedWhite"/> | 132 | <color key="backgroundColor" white="0.0" alpha="0.0" colorSpace="calibratedWhite"/> |
133 | <constraints> | 133 | <constraints> |
134 | <constraint firstAttribute="height" constant="40" id="Trr-Ku-Ssy"/> | 134 | <constraint firstAttribute="height" constant="40" id="Trr-Ku-Ssy"/> |
135 | </constraints> | 135 | </constraints> |
136 | </view> | 136 | </view> |
137 | <tableView clipsSubviews="YES" contentMode="scaleToFill" alwaysBounceVertical="YES" style="plain" rowHeight="80" sectionHeaderHeight="28" sectionFooterHeight="28" translatesAutoresizingMaskIntoConstraints="NO" id="R3A-K9-MFe"> | 137 | <tableView clipsSubviews="YES" contentMode="scaleToFill" alwaysBounceVertical="YES" style="plain" rowHeight="80" sectionHeaderHeight="28" sectionFooterHeight="28" translatesAutoresizingMaskIntoConstraints="NO" id="R3A-K9-MFe"> |
138 | <rect key="frame" x="0.0" y="147" width="375" height="429"/> | 138 | <rect key="frame" x="0.0" y="147" width="375" height="429"/> |
139 | <color key="backgroundColor" white="0.0" alpha="0.0" colorSpace="calibratedWhite"/> | 139 | <color key="backgroundColor" white="0.0" alpha="0.0" colorSpace="calibratedWhite"/> |
140 | <color key="separatorColor" white="0.0" alpha="0.0" colorSpace="calibratedWhite"/> | 140 | <color key="separatorColor" white="0.0" alpha="0.0" colorSpace="calibratedWhite"/> |
141 | <connections> | 141 | <connections> |
142 | <outlet property="dataSource" destination="-1" id="JJX-cg-LPL"/> | 142 | <outlet property="dataSource" destination="-1" id="JJX-cg-LPL"/> |
143 | <outlet property="delegate" destination="-1" id="u0m-93-lsi"/> | 143 | <outlet property="delegate" destination="-1" id="u0m-93-lsi"/> |
144 | </connections> | 144 | </connections> |
145 | </tableView> | 145 | </tableView> |
146 | </subviews> | 146 | </subviews> |
147 | <color key="backgroundColor" white="0.0" alpha="1" colorSpace="calibratedWhite"/> | 147 | <color key="backgroundColor" white="0.0" alpha="1" colorSpace="calibratedWhite"/> |
148 | <constraints> | 148 | <constraints> |
149 | <constraint firstItem="B33-xX-Jro" firstAttribute="leading" secondItem="i5M-Pr-FkT" secondAttribute="leading" id="2Mu-hy-FVU"/> | 149 | <constraint firstItem="B33-xX-Jro" firstAttribute="leading" secondItem="i5M-Pr-FkT" secondAttribute="leading" id="2Mu-hy-FVU"/> |
150 | <constraint firstItem="GBx-lY-9YI" firstAttribute="top" secondItem="i5M-Pr-FkT" secondAttribute="top" id="5CL-wT-MBg"/> | 150 | <constraint firstItem="GBx-lY-9YI" firstAttribute="top" secondItem="i5M-Pr-FkT" secondAttribute="top" id="5CL-wT-MBg"/> |
151 | <constraint firstItem="u5D-xz-8dK" firstAttribute="top" secondItem="syA-uK-pbr" secondAttribute="bottom" id="5uu-dZ-oXI"/> | 151 | <constraint firstItem="u5D-xz-8dK" firstAttribute="top" secondItem="syA-uK-pbr" secondAttribute="bottom" id="5uu-dZ-oXI"/> |
152 | <constraint firstItem="syA-uK-pbr" firstAttribute="top" secondItem="GBx-lY-9YI" secondAttribute="bottom" id="6FQ-vy-d4N"/> | 152 | <constraint firstItem="syA-uK-pbr" firstAttribute="top" secondItem="GBx-lY-9YI" secondAttribute="bottom" id="6FQ-vy-d4N"/> |
153 | <constraint firstItem="u5D-xz-8dK" firstAttribute="leading" secondItem="i5M-Pr-FkT" secondAttribute="leading" id="75z-RN-ObF"/> | 153 | <constraint firstItem="u5D-xz-8dK" firstAttribute="leading" secondItem="i5M-Pr-FkT" secondAttribute="leading" id="75z-RN-ObF"/> |
154 | <constraint firstItem="R3A-K9-MFe" firstAttribute="leading" secondItem="i5M-Pr-FkT" secondAttribute="leading" id="LyL-9p-qcd"/> | 154 | <constraint firstItem="R3A-K9-MFe" firstAttribute="leading" secondItem="i5M-Pr-FkT" secondAttribute="leading" id="LyL-9p-qcd"/> |
155 | <constraint firstItem="oUo-Eo-tz5" firstAttribute="leading" secondItem="i5M-Pr-FkT" secondAttribute="leading" id="M7I-ue-lip"/> | 155 | <constraint firstItem="oUo-Eo-tz5" firstAttribute="leading" secondItem="i5M-Pr-FkT" secondAttribute="leading" id="M7I-ue-lip"/> |
156 | <constraint firstAttribute="trailing" secondItem="B33-xX-Jro" secondAttribute="trailing" id="Pjd-Ay-GaV"/> | 156 | <constraint firstAttribute="trailing" secondItem="B33-xX-Jro" secondAttribute="trailing" id="Pjd-Ay-GaV"/> |
157 | <constraint firstItem="oUo-Eo-tz5" firstAttribute="top" secondItem="R3A-K9-MFe" secondAttribute="bottom" constant="1" id="QMu-aq-2Zt"/> | 157 | <constraint firstItem="oUo-Eo-tz5" firstAttribute="top" secondItem="R3A-K9-MFe" secondAttribute="bottom" constant="1" id="QMu-aq-2Zt"/> |
158 | <constraint firstAttribute="trailing" secondItem="syA-uK-pbr" secondAttribute="trailing" id="Qnl-Pp-y2G"/> | 158 | <constraint firstAttribute="trailing" secondItem="syA-uK-pbr" secondAttribute="trailing" id="Qnl-Pp-y2G"/> |
159 | <constraint firstItem="B33-xX-Jro" firstAttribute="top" secondItem="u5D-xz-8dK" secondAttribute="bottom" id="VOl-jo-wU3"/> | 159 | <constraint firstItem="B33-xX-Jro" firstAttribute="top" secondItem="u5D-xz-8dK" secondAttribute="bottom" id="VOl-jo-wU3"/> |
160 | <constraint firstItem="GBx-lY-9YI" firstAttribute="leading" secondItem="i5M-Pr-FkT" secondAttribute="leading" id="YjB-ef-xTt"/> | 160 | <constraint firstItem="GBx-lY-9YI" firstAttribute="leading" secondItem="i5M-Pr-FkT" secondAttribute="leading" id="YjB-ef-xTt"/> |
161 | <constraint firstItem="syA-uK-pbr" firstAttribute="leading" secondItem="i5M-Pr-FkT" secondAttribute="leading" id="aTf-mb-wlT"/> | 161 | <constraint firstItem="syA-uK-pbr" firstAttribute="leading" secondItem="i5M-Pr-FkT" secondAttribute="leading" id="aTf-mb-wlT"/> |
162 | <constraint firstAttribute="bottom" secondItem="oUo-Eo-tz5" secondAttribute="bottom" constant="50" id="cux-Vm-qq7"/> | 162 | <constraint firstAttribute="bottom" secondItem="oUo-Eo-tz5" secondAttribute="bottom" constant="50" id="cux-Vm-qq7"/> |
163 | <constraint firstAttribute="trailing" secondItem="R3A-K9-MFe" secondAttribute="trailing" id="jBn-JI-SQP"/> | 163 | <constraint firstAttribute="trailing" secondItem="R3A-K9-MFe" secondAttribute="trailing" id="jBn-JI-SQP"/> |
164 | <constraint firstItem="R3A-K9-MFe" firstAttribute="top" secondItem="B33-xX-Jro" secondAttribute="bottom" constant="1" id="jTi-59-XsZ"/> | 164 | <constraint firstItem="R3A-K9-MFe" firstAttribute="top" secondItem="B33-xX-Jro" secondAttribute="bottom" constant="1" id="jTi-59-XsZ"/> |
165 | <constraint firstAttribute="trailing" secondItem="u5D-xz-8dK" secondAttribute="trailing" id="mDB-o3-gtA"/> | 165 | <constraint firstAttribute="trailing" secondItem="u5D-xz-8dK" secondAttribute="trailing" id="mDB-o3-gtA"/> |
166 | <constraint firstAttribute="trailing" secondItem="GBx-lY-9YI" secondAttribute="trailing" id="yaf-8r-ySL"/> | 166 | <constraint firstAttribute="trailing" secondItem="GBx-lY-9YI" secondAttribute="trailing" id="yaf-8r-ySL"/> |
167 | <constraint firstAttribute="trailing" secondItem="oUo-Eo-tz5" secondAttribute="trailing" id="zkl-by-qMp"/> | 167 | <constraint firstAttribute="trailing" secondItem="oUo-Eo-tz5" secondAttribute="trailing" id="zkl-by-qMp"/> |
168 | </constraints> | 168 | </constraints> |
169 | <point key="canvasLocation" x="26.5" y="52.5"/> | 169 | <point key="canvasLocation" x="26.5" y="52.5"/> |
170 | </view> | 170 | </view> |
171 | </objects> | 171 | </objects> |
172 | <resources> | 172 | <resources> |
173 | <image name="icon_left" width="30" height="30"/> | 173 | <image name="icon_left" width="30" height="30"/> |
174 | <image name="icon_menu" width="30" height="30"/> | 174 | <image name="icon_menu" width="30" height="30"/> |
175 | <image name="icon_right" width="30" height="30"/> | 175 | <image name="icon_right" width="30" height="30"/> |
176 | <image name="today_back_button" width="73" height="37"/> | 176 | <image name="today_back_button" width="73" height="37"/> |
177 | </resources> | 177 | </resources> |
178 | </document> | 178 | </document> |
179 | 179 |