Commit 010c235e authored by freecui's avatar freecui

Merge branch 'DEV_20150805_001' of http://121.42.32.57/root/xffruit into #DEV_20150805_001

parents 6f33c727 aff33cac
...@@ -122,6 +122,7 @@ ...@@ -122,6 +122,7 @@
724171721B9D30660094DF55 /* ChooseWarehouseViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = 7241716C1B9D30660094DF55 /* ChooseWarehouseViewController.m */; }; 724171721B9D30660094DF55 /* ChooseWarehouseViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = 7241716C1B9D30660094DF55 /* ChooseWarehouseViewController.m */; };
724171731B9D30660094DF55 /* ChosePersonViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = 7241716E1B9D30660094DF55 /* ChosePersonViewController.m */; }; 724171731B9D30660094DF55 /* ChosePersonViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = 7241716E1B9D30660094DF55 /* ChosePersonViewController.m */; };
724171761B9D30DE0094DF55 /* ChooseCostViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = 724171751B9D30DE0094DF55 /* ChooseCostViewController.m */; }; 724171761B9D30DE0094DF55 /* ChooseCostViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = 724171751B9D30DE0094DF55 /* ChooseCostViewController.m */; };
7249BDD71BE794640059EB8C /* FinishTimeView.m in Sources */ = {isa = PBXBuildFile; fileRef = 7249BDD61BE794640059EB8C /* FinishTimeView.m */; settings = {ASSET_TAGS = (); }; };
726F4C6D1BDE5F83006A5E6D /* RejectView.m in Sources */ = {isa = PBXBuildFile; fileRef = 726F4C6C1BDE5F83006A5E6D /* RejectView.m */; }; 726F4C6D1BDE5F83006A5E6D /* RejectView.m in Sources */ = {isa = PBXBuildFile; fileRef = 726F4C6C1BDE5F83006A5E6D /* RejectView.m */; };
72805CF31BB8E1B0009E1F82 /* TransferViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = 72805CF21BB8E1B0009E1F82 /* TransferViewController.m */; }; 72805CF31BB8E1B0009E1F82 /* TransferViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = 72805CF21BB8E1B0009E1F82 /* TransferViewController.m */; };
72805CF61BB8E20B009E1F82 /* NewTransferViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = 72805CF51BB8E20B009E1F82 /* NewTransferViewController.m */; }; 72805CF61BB8E20B009E1F82 /* NewTransferViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = 72805CF51BB8E20B009E1F82 /* NewTransferViewController.m */; };
...@@ -663,6 +664,8 @@ ...@@ -663,6 +664,8 @@
7241716E1B9D30660094DF55 /* ChosePersonViewController.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = ChosePersonViewController.m; sourceTree = "<group>"; }; 7241716E1B9D30660094DF55 /* ChosePersonViewController.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = ChosePersonViewController.m; sourceTree = "<group>"; };
724171741B9D30DE0094DF55 /* ChooseCostViewController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ChooseCostViewController.h; sourceTree = "<group>"; }; 724171741B9D30DE0094DF55 /* ChooseCostViewController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ChooseCostViewController.h; sourceTree = "<group>"; };
724171751B9D30DE0094DF55 /* ChooseCostViewController.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = ChooseCostViewController.m; sourceTree = "<group>"; }; 724171751B9D30DE0094DF55 /* ChooseCostViewController.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = ChooseCostViewController.m; sourceTree = "<group>"; };
7249BDD51BE794640059EB8C /* FinishTimeView.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = FinishTimeView.h; sourceTree = "<group>"; };
7249BDD61BE794640059EB8C /* FinishTimeView.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = FinishTimeView.m; sourceTree = "<group>"; };
726F4C6B1BDE5F83006A5E6D /* RejectView.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = RejectView.h; sourceTree = "<group>"; }; 726F4C6B1BDE5F83006A5E6D /* RejectView.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = RejectView.h; sourceTree = "<group>"; };
726F4C6C1BDE5F83006A5E6D /* RejectView.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = RejectView.m; sourceTree = "<group>"; }; 726F4C6C1BDE5F83006A5E6D /* RejectView.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = RejectView.m; sourceTree = "<group>"; };
72805CF11BB8E1B0009E1F82 /* TransferViewController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = TransferViewController.h; sourceTree = "<group>"; }; 72805CF11BB8E1B0009E1F82 /* TransferViewController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = TransferViewController.h; sourceTree = "<group>"; };
...@@ -1403,6 +1406,8 @@ ...@@ -1403,6 +1406,8 @@
FE2FCC8A1B74A9EE00BBC6FB /* SurveyResultCell.m */, FE2FCC8A1B74A9EE00BBC6FB /* SurveyResultCell.m */,
FEAE16E71B79C9F9009D9E01 /* ResultView.h */, FEAE16E71B79C9F9009D9E01 /* ResultView.h */,
FEAE16E81B79C9F9009D9E01 /* ResultView.m */, FEAE16E81B79C9F9009D9E01 /* ResultView.m */,
7249BDD51BE794640059EB8C /* FinishTimeView.h */,
7249BDD61BE794640059EB8C /* FinishTimeView.m */,
); );
path = Views; path = Views;
sourceTree = "<group>"; sourceTree = "<group>";
...@@ -2889,6 +2894,7 @@ ...@@ -2889,6 +2894,7 @@
C17DE85A1AD81D1600581AA6 /* NSMutableArray+SafeInsert.m in Sources */, C17DE85A1AD81D1600581AA6 /* NSMutableArray+SafeInsert.m in Sources */,
721B5DB61BA02A2B006CA199 /* GXFProcessMaterial.m in Sources */, 721B5DB61BA02A2B006CA199 /* GXFProcessMaterial.m in Sources */,
35C3C0B91AE9567B0035AC8A /* ICRNavigationViewController.mm in Sources */, 35C3C0B91AE9567B0035AC8A /* ICRNavigationViewController.mm in Sources */,
7249BDD71BE794640059EB8C /* FinishTimeView.m in Sources */,
35321F6A1B97EF3600E5C670 /* GXFPopNewProductViewController.m in Sources */, 35321F6A1B97EF3600E5C670 /* GXFPopNewProductViewController.m in Sources */,
C123A8FB1B2561E1003C0C36 /* JTPopOverWindow.m in Sources */, C123A8FB1B2561E1003C0C36 /* JTPopOverWindow.m in Sources */,
72F56CB21B76EC200077F0C9 /* SurveyUser.m in Sources */, 72F56CB21B76EC200077F0C9 /* SurveyUser.m in Sources */,
......
...@@ -35,7 +35,8 @@ ...@@ -35,7 +35,8 @@
NSString * path = [NSSearchPathForDirectoriesInDomains(NSDocumentationDirectory, NSUserDomainMask, YES) lastObject]; NSString * path = [NSSearchPathForDirectoriesInDomains(NSDocumentationDirectory, NSUserDomainMask, YES) lastObject];
CLog(@"%@",path); CLog(@"%@",path);
[self enterpriseUpdate];
// Required // Required
#if __IPHONE_OS_VERSION_MAX_ALLOWED > __IPHONE_7_1 #if __IPHONE_OS_VERSION_MAX_ALLOWED > __IPHONE_7_1
if ([[UIDevice currentDevice].systemVersion floatValue] >= 8.0) { if ([[UIDevice currentDevice].systemVersion floatValue] >= 8.0) {
...@@ -66,7 +67,6 @@ ...@@ -66,7 +67,6 @@
[self setupBMKMapMgr]; [self setupBMKMapMgr];
_m_appViewControllerMgr = [ICRAppViewControllerManager getAppViewControllerManager]; _m_appViewControllerMgr = [ICRAppViewControllerManager getAppViewControllerManager];
#pragma 版本更新 #pragma 版本更新
[self enterpriseUpdate];
[self.window makeKeyAndVisible]; [self.window makeKeyAndVisible];
return YES; return YES;
} }
...@@ -96,13 +96,11 @@ ...@@ -96,13 +96,11 @@
NSDictionary *dictData = data[@"data"]; NSDictionary *dictData = data[@"data"];
NSString*serverVeision=[dictData objectForKey:@"version"]; NSString*serverVeision=[dictData objectForKey:@"version"];
NSString*serverUrl=[dictData objectForKey:@"url"]; NSString*serverUrl=[dictData objectForKey:@"url"];
BOOL forceUpdate=[dictData objectForKey:@"forceUpdate"]; BOOL forceUpdate= [dictData objectForKey:@"forceUpdate"];
self.severVersion=serverVeision; self.severVersion=serverVeision;
self.severUrl=serverUrl; self.severUrl=serverUrl;
self.severForceUpdate=forceUpdate; self.severForceUpdate=forceUpdate;
[strongSelf comperVersion]; [strongSelf comperVersion];
}else{ }else{
[IBTLoadingView showTips:message]; [IBTLoadingView showTips:message];
} }
...@@ -120,33 +118,29 @@ ...@@ -120,33 +118,29 @@
//比较版本号及是否下载 //比较版本号及是否下载
-(void)comperVersion -(void)comperVersion
{ {
NSComparisonResult comResult = [self p_compareVersions: self.version betweenVersion2:self.severVersion]; if (self.version && self.severVersion) {
NSComparisonResult comResult = [self p_compareVersions: self.version betweenVersion2:self.severVersion];
if (comResult == NSOrderedAscending) {
//299企业版的更新 @"有新的版本可供下载"
// NSOrderedAscending self.version<self.severVersion
// NSOrderedDescending self.version>self.severVersion
// NSOrderedSame self.version==self.severVersion
if (self.severForceUpdate) {
//强制更新
// UIAlertView *alertV = [[UIAlertView alloc]initWithTitle:@"新版本告知" message: @"有新版本发布请您下载最新版本" delegate:self cancelButtonTitle:nil otherButtonTitles: @"去下载", nil];
// alertV.tag = 1001;
// [alertV show];
}else
{
UIAlertView *alertV = [[UIAlertView alloc]initWithTitle:@"新版本告知" message: @"有新版本发布请您下载最新版本" delegate:self cancelButtonTitle:@"下次再说"otherButtonTitles: @"去下载", nil];//
alertV.tag = 1002;
[alertV show];
}
}else{
[IBTLoadingView showProgressLabel:@"暂无新版本"];
if (comResult == NSOrderedAscending) {
if (self.severForceUpdate) {
//强制更新
UIAlertView *alertV = [[UIAlertView alloc]initWithTitle:@"新版本告知" message: @"有新版本发布请您下载最新版本" delegate:self cancelButtonTitle:nil otherButtonTitles: @"去下载", nil];
alertV.tag = 1001;
[alertV show];
}else
{
UIAlertView *alertV = [[UIAlertView alloc]initWithTitle:@"新版本告知" message: @"有新版本发布请您下载最新版本" delegate:self cancelButtonTitle:@"下次再说"otherButtonTitles: @"去下载", nil];//
alertV.tag = 1002;
[alertV show];
}
}else{
[IBTLoadingView showProgressLabel:@"暂无新版本"];
}
} }
} }
- (void) alertView:(UIAlertView *)alertView - (void) alertView:(UIAlertView *)alertView
clickedButtonAtIndex:(NSInteger)buttonIndex { clickedButtonAtIndex:(NSInteger)buttonIndex {
......
...@@ -243,7 +243,7 @@ static NSString * const ICRHTTPInterface[] = { ...@@ -243,7 +243,7 @@ static NSString * const ICRHTTPInterface[] = {
//收货 //收货
[XFFHttp_SaveRctinfo] =@"transfer/save_rctinfo", [XFFHttp_SaveRctinfo] =@"transfer/save_rctinfo",
[XFFHttp_SaveReceipt] =@"transfer/receipt", [XFFHttp_SaveReceipt] =@"transfer/receipt",
[XFFHttp_getVersionId] = @"rest/ipapk", [XFFHttp_getVersionId] =@"ipapk",
}; };
...@@ -2944,7 +2944,7 @@ acceptTypeJson:YES ...@@ -2944,7 +2944,7 @@ acceptTypeJson:YES
} }
}; };
NSString *urlStr = [NSString stringWithFormat:@"%@/%@?type=%@",Server_Url,ICRHTTPInterface[XFFHttp_getVersionId],type]; NSString *urlStr = [NSString stringWithFormat:@"%@/%@?type=%@",HTTP_REST_API_BASE_URL,ICRHTTPInterface[XFFHttp_getVersionId],type];
NSString *encodeUrlStr = [urlStr stringByAddingPercentEscapesUsingEncoding:NSUTF8StringEncoding]; NSString *encodeUrlStr = [urlStr stringByAddingPercentEscapesUsingEncoding:NSUTF8StringEncoding];
[self GET:encodeUrlStr [self GET:encodeUrlStr
......
...@@ -24,14 +24,9 @@ ...@@ -24,14 +24,9 @@
//阿里云内部测试环境 //阿里云内部测试环境
//#define HTTP_REST_API_BASE_URL @"http://218.244.151.129:7580/cruiser-server/rest" //#define HTTP_REST_API_BASE_URL @"http://218.244.151.129:7580/cruiser-server/rest"
#define Server_Url @"http://218.244.151.129:7580/cruiser-server"
//现场测试环境 //现场测试环境
#define HTTP_REST_API_BASE_URL @"http://122.224.171.126:7280/cruiser-server/rest" #define HTTP_REST_API_BASE_URL @"http://122.224.171.126:7280/cruiser-server/rest"
//#define Server_Url @"http://122.224.171.126:7280/cruiser-server"
// HTTP // HTTP
......
...@@ -16,7 +16,7 @@ ...@@ -16,7 +16,7 @@
#import "PurchaseNoticeCell.h" #import "PurchaseNoticeCell.h"
#import "NoticeProductViewController.h" #import "NoticeProductViewController.h"
#import "NoticeProduct.h" #import "NoticeProduct.h"
#import "StartTimeView.h" #import "FinishTimeView.h"
#import "PurchaseBillProduct.h" #import "PurchaseBillProduct.h"
#define LeftMargin 15 #define LeftMargin 15
#define LeftWidth 40 #define LeftWidth 40
...@@ -38,7 +38,7 @@ typedef enum : NSUInteger { ...@@ -38,7 +38,7 @@ typedef enum : NSUInteger {
SaveTag = 8000, SaveTag = 8000,
CommitTag, CommitTag,
} BtnTag; } BtnTag;
@interface NewPurchaseNoticeViewController()<UITableViewDataSource,UITableViewDelegate,UITextFieldDelegate,HPGrowingTextViewDelegate,UIAlertViewDelegate,StartTimeViewDelegate> @interface NewPurchaseNoticeViewController()<UITableViewDataSource,UITableViewDelegate,UITextFieldDelegate,HPGrowingTextViewDelegate,UIAlertViewDelegate,FinishTimeViewDelegate>
{ {
NSString *_clickState; NSString *_clickState;
UITableView *_tableView; UITableView *_tableView;
...@@ -55,7 +55,7 @@ typedef enum : NSUInteger { ...@@ -55,7 +55,7 @@ typedef enum : NSUInteger {
id billNumberObject; id billNumberObject;
NSNumber *versionObject; NSNumber *versionObject;
NSString *title; NSString *title;
StartTimeView *_startTimeView; FinishTimeView *_startTimeView;
} }
@property (nonatomic,strong)NSString *titleStr; @property (nonatomic,strong)NSString *titleStr;
...@@ -539,7 +539,14 @@ typedef enum : NSUInteger { ...@@ -539,7 +539,14 @@ typedef enum : NSUInteger {
} }
- (void)startDatePickView{ - (void)startDatePickView{
if (!_startTimeView) { if (!_startTimeView) {
_startTimeView = [[StartTimeView alloc] initWithFrame:CGRectMake(0, ScreenSize.height, ScreenSize.width, ScreenSize.height - 64) withMode:UIDatePickerModeDateAndTime]; NSString *currentStr = @"";
if ([_finishDateLabel.text isEqualToString:@"选择要求完成日期"] || _finishDateLabel.text.length < 1) {
currentStr = [IBTCommon stringFromDateWithFormat:[NSDate date] format:@"yyyy-MM-dd HH:mm"];
}else{
currentStr = _finishDateLabel.text;
}
_startTimeView = [[FinishTimeView alloc] initWithFrame:CGRectMake(0, ScreenSize.height, ScreenSize.width, ScreenSize.height - 64) withDate:currentStr];
_startTimeView.delegate = self; _startTimeView.delegate = self;
_startTimeView.backgroundColor = RGBA(0, 0, 0 ,0.5); _startTimeView.backgroundColor = RGBA(0, 0, 0 ,0.5);
[self.view addSubview:_startTimeView]; [self.view addSubview:_startTimeView];
...@@ -556,11 +563,11 @@ typedef enum : NSUInteger { ...@@ -556,11 +563,11 @@ typedef enum : NSUInteger {
- (void)cancelTimeView{ - (void)cancelTimeView{
[self clearDatePickView]; [self clearDatePickView];
} }
- (void)okTimeView:(NSDate *)time{ - (void)okTimeView:(NSString *)time{
_finishDateLabel.textColor = GXF_CONTENT_COLOR; _finishDateLabel.textColor = GXF_CONTENT_COLOR;
_finishDateLabel.text = [IBTCommon stringFromDateWithFormat:time format:@"yyyy-MM-dd HH:mm"]; _finishDateLabel.text = time;
self.finishDateStr = [time httpParameterString]; self.finishDateStr = time;
// 关闭选择器 // 关闭选择器
[self clearDatePickView]; [self clearDatePickView];
} }
......
//
// FinishTimeView.h
// XFFruit
//
// Created by 陈俊俊 on 15/11/2.
// Copyright © 2015年 Xummer. All rights reserved.
//
#import <UIKit/UIKit.h>
@protocol FinishTimeViewDelegate <NSObject>
- (void)cancelTimeView;
- (void)okTimeView:(NSString *)time;
@end
@interface FinishTimeView : UIView<UIPickerViewDataSource,UIPickerViewDelegate>
@property (nonatomic,weak)id<FinishTimeViewDelegate>delegate;
- (instancetype)initWithFrame:(CGRect)frame withDate:(NSString *)dateStr;
@end
//
// FinishTimeView.m
// XFFruit
//
// Created by 陈俊俊 on 15/11/2.
// Copyright © 2015年 Xummer. All rights reserved.
//
#import "FinishTimeView.h"
// 起始年数
#define kStartYear 1980
// 总年数
#define kYearCount 200
#define DateViewHeight 246
@interface FinishTimeView ()
{
UIView *_bgView;
}
// 定义数据属性
// 1. 年数组
@property (strong, nonatomic) NSArray *yearList;
// 2. 月数组
@property (strong, nonatomic) NSArray *monthList;
// 3. 日数组
@property (strong, nonatomic) NSMutableArray *dayList;
// 时
@property (strong,nonatomic) NSArray *hourList;
// 分
@property (strong,nonatomic) NSArray *minuteList;
// 4. 选中的年数
@property (assign, nonatomic) NSInteger selectedYear;
// 5. 选中的月数
@property (assign, nonatomic) NSInteger selectedMonth;
@property (assign,nonatomic) NSInteger currentYear;
@property (assign,nonatomic) NSInteger currentMonth;
@property (assign,nonatomic) NSInteger currentDay;
@property (assign,nonatomic) NSInteger currentHour;
@property (assign,nonatomic) NSInteger currentMinute;
@property (nonatomic,strong) UIPickerView *pickerView;
@property (nonatomic,strong) NSString *dateStr;
@end
@implementation FinishTimeView
- (instancetype)initWithFrame:(CGRect)frame withDate:(NSString *)dateStr
{
self = [super initWithFrame:frame];
if (self) {
self.dateStr = dateStr;
[self buildLayout];
}
self.backgroundColor = [UIColor whiteColor];
return self;
}
- (void)buildLayout
{
_bgView = [[UIView alloc] initWithFrame:CGRectMake(0, self.frame.size.height - DateViewHeight, ScreenSize.width, DateViewHeight)];
_bgView.backgroundColor = RGBA(239, 239, 239 ,1);
[self addSubview:_bgView];
UIButton *okBtn = [IBTCustomButtom creatButtonWithFrame:CGRectMake(ScreenSize.width - 62, 0, 62, 28) target:self sel:@selector(okClick) tag:0 image:nil title:@"确定" titleColor:[UIColor blackColor] isCorner:NO corner:0 bgColor:RGBA(239, 239, 239 ,1)];
[_bgView addSubview:okBtn];
UIButton *cancelBtn = [IBTCustomButtom creatButtonWithFrame:CGRectMake(0, 0, 62, 28) target:self sel:@selector(cancelClick) tag:0 image:nil title:@"取消" titleColor:[UIColor blackColor] isCorner:NO corner:0 bgColor:RGBA(239, 239, 239 ,1)];
[_bgView addSubview:cancelBtn];
UIPickerView *pickerView = [[UIPickerView alloc]initWithFrame:CGRectMake(0, 30,ScreenSize.width, DateViewHeight - 30)];
pickerView.backgroundColor = [UIColor whiteColor];
// 指定数据源
[pickerView setDataSource:self];
// 指定代理
[pickerView setDelegate:self];
// PickerView默认是没有选中标示的
[pickerView setShowsSelectionIndicator:YES];
self.pickerView = pickerView;
[_bgView addSubview:pickerView];
CLog(@"====%@",self.dateStr);
self.currentYear = [[self.dateStr substringWithRange:NSMakeRange(0,4)] intValue];
self.currentMonth = [[self.dateStr substringWithRange:NSMakeRange(5,2)] intValue];
self.currentDay = [[self.dateStr substringWithRange:NSMakeRange(8,2)] intValue];
self.currentHour = [[self.dateStr substringWithRange:NSMakeRange(11,2)] intValue];
self.currentMinute = [[self.dateStr substringWithRange:NSMakeRange(14,2)] intValue];
// 3. 初始化数据
// 1) 年数据
NSMutableArray *yearArray = [NSMutableArray arrayWithCapacity:kYearCount];
for (NSInteger i = 0; i < kYearCount; i++) {
NSString *str = [NSString stringWithFormat:@"%d年", i + kStartYear];
[yearArray addObject:str];
}
self.yearList = yearArray;
// 2) 月数据
NSMutableArray *monthArray = [NSMutableArray arrayWithCapacity:12];
for (NSInteger i = 1; i <= 12; i++) {
NSString *str = [NSString stringWithFormat:@"%d月", i];
[monthArray addObject:str];
}
self.monthList = monthArray;
// 时
NSMutableArray *hourArray = [NSMutableArray arrayWithCapacity:24];
for (NSInteger i = 0; i < 24; i++) {
NSString *str = [NSString stringWithFormat:@"%d时",i];
[hourArray addObject:str];
}
self.hourList = hourArray;
// 分
NSMutableArray *minuteArray = [NSMutableArray arrayWithCapacity:60];
for (NSInteger i = 0; i < 60; i++) {
NSString *str = [NSString stringWithFormat:@"%d分",i];
[minuteArray addObject:str];
}
self.minuteList = minuteArray;
// 初始化选中年、月
self.currentYear = [[self.dateStr substringWithRange:NSMakeRange(0,4)] intValue];
self.currentMonth = [[self.dateStr substringWithRange:NSMakeRange(5,2)] intValue];
self.currentDay = [[self.dateStr substringWithRange:NSMakeRange(8,2)] intValue];
self.currentHour = [[self.dateStr substringWithRange:NSMakeRange(11,2)] intValue];
[pickerView selectRow:(self.currentYear - kStartYear) inComponent:0 animated:YES];
[pickerView selectRow:(self.currentMonth - 1) inComponent:1 animated:YES];
[pickerView selectRow:(self.currentDay - 1) inComponent:2 animated:YES];
[pickerView selectRow:self.currentHour inComponent:3 animated:YES];
[pickerView selectRow:(self.currentMinute) inComponent:4 animated:YES];
[self pickerView:pickerView didSelectRow:self.currentYear - kStartYear inComponent:0];
[self pickerView:pickerView didSelectRow:(self.currentMonth - 1) inComponent:1];
[self pickerView:pickerView didSelectRow:(self.currentDay - 1) inComponent:2];
[self pickerView:pickerView didSelectRow:(self.currentHour - 1) inComponent:3];
[self pickerView:pickerView didSelectRow:(self.currentMinute -1) inComponent:4];
}
#pragma mark - 私有方法
#pragma mark 判断闰年
- (BOOL)isLeapYear:(NSInteger)year
{
// 如果年数能被4整除,同时不能被100整除
// 能被400整除的是闰年
return (year % 4 == 0 && year % 100 != 0) || (year % 400 == 0);
}
#pragma mark 创建日数组
// 此方法的返回值是void,是为了不改变dayList的指针
- (void)createDayListWithYear:(NSInteger)year month:(NSInteger)month
{
// 日数组是懒加载,需要时在创建
if (self.dayList == nil) {
// 在开发时尽可能要去控制NSMutableArray的容量
self.dayList = [NSMutableArray arrayWithCapacity:31];
} else {
[self.dayList removeAllObjects];
}
// 初始化日数组
/**
年:是否是闰年
月:大月,小月
*/
NSInteger days = 31;
if ([self isLeapYear:year] && month == 2) {
// 闰年的2月
days = 29;
} else if (2 == month) {
// 非闰年的2月
days = 28;
} else if (month == 4 || month == 6 || month == 9 || month == 11) {
// 小月
days = 30;
}
for (NSInteger i = 1; i <= days; i++) {
NSString *str = [NSString stringWithFormat:@"%d日", i];
[self.dayList addObject:str];
}
}
#pragma mark - PickerView的数据源方法
#pragma mark 指定列数
- (NSInteger)numberOfComponentsInPickerView:(UIPickerView *)pickerView
{
return 5;
}
#pragma mark 指定行数
- (NSInteger)pickerView:(UIPickerView *)pickerView numberOfRowsInComponent:(NSInteger)component
{
if (0 == component) {
// 年
return self.yearList.count;
} else if (1 == component) {
// 月
return self.monthList.count;
} else if (2 == component) {
// 日
// 需要创建日数组-懒加载
[self createDayListWithYear:self.selectedYear month:self.selectedMonth];
return self.dayList.count;
}
else if (3 == component) {
// 时
return self.hourList.count;
} else // 分
{
return self.minuteList.count;
}
}
#pragma mark - UIPickerViewDelegate
#pragma mark 指定component列row行的内容
- (NSString *)pickerView:(UIPickerView *)pickerView titleForRow:(NSInteger)row forComponent:(NSInteger)component
{
if (0 == component) {
return self.yearList[row];
} else if (1 == component) {
return self.monthList[row];
} else if (2 == component){
return self.dayList[row];
}
else if (3 == component) {
return self.hourList[row];
} else {
return self.minuteList[row];
}
}
- (CGFloat)pickerView:(UIPickerView *)pickerView widthForComponent:(NSInteger)component
{
if (component == 0) {
return 80;
}
return 50;
}
- (void)pickerView:(UIPickerView *)pickerView didSelectRow:(NSInteger)row inComponent:(NSInteger)component
{
// 当用户在月份列选择数值时,需要刷新日期的数组
self.selectedYear = [pickerView selectedRowInComponent:0] + kStartYear;
self.selectedMonth = [pickerView selectedRowInComponent:1] + 1;
NSInteger resetRow = [pickerView selectedRowInComponent:2];
if (component == 1) {
[pickerView reloadComponent:2];
[self pickerView:pickerView didSelectRow:resetRow inComponent:2];
} else if (component == 0 && self.selectedMonth == 2) {
// 如果用户是在年列选择的数值,同时月份中的当前数值是2月,需要刷新数据
[pickerView reloadComponent:2];
[self pickerView:pickerView didSelectRow:resetRow inComponent:2];
}
}
- (UIView *)pickerView:(UIPickerView *)pickerView viewForRow:(NSInteger)row forComponent:(NSInteger)component reusingView:(UIView *)view
{
UILabel *myView = [[UILabel alloc]initWithFrame:CGRectMake(0, 0, 330, 30)];
myView.textAlignment = NSTextAlignmentCenter;
myView.font = [UIFont systemFontOfSize:16];
switch (component) {
case 0:
myView.text = self.yearList[row];
break;
case 1:
myView.text = self.monthList[row];
break;
case 2:
myView.text = self.dayList[row];
break;
case 3:
myView.text = self.hourList[row];
break;
case 4:
myView.text = self.minuteList[row];
break;
default:
break;
}
return myView;
}
- (NSString *)getDate
{
NSInteger yearRow = [_pickerView selectedRowInComponent:0];
NSString *year = [self.yearList[yearRow] stringByReplacingOccurrencesOfString:@"年" withString:@""];
NSInteger monthRow = [_pickerView selectedRowInComponent:1];
NSString *month = [self.monthList[monthRow] stringByReplacingOccurrencesOfString:@"月" withString:@""];
NSInteger dayRow = [_pickerView selectedRowInComponent:2];
NSString *day = [self.dayList[dayRow] stringByReplacingOccurrencesOfString:@"日" withString:@""];
NSInteger hourRow = [_pickerView selectedRowInComponent:3];
NSString *hour = [self.hourList[hourRow] stringByReplacingOccurrencesOfString:@"时" withString:@""];
NSInteger minuteRow = [_pickerView selectedRowInComponent:4];
NSString *minute = [self.minuteList[minuteRow] stringByReplacingOccurrencesOfString:@"分" withString:@""];
NSArray *array1 = [NSArray arrayWithObjects:year,month,day, nil];
NSArray *array2 = [NSArray arrayWithObjects:hour,minute, nil];
NSString *date1 = [array1 componentsJoinedByString:@"-"];
NSString *date2 = [array2 componentsJoinedByString:@":"];
NSString *date = [NSString stringWithFormat:@"%@ %@",date1,date2];
NSDateFormatter *formatter = [[NSDateFormatter alloc]init];
formatter.dateFormat = @"yyyy-MM-dd HH:mm";
return [formatter stringFromDate:[formatter dateFromString:date]];
}
- (void)okClick{
NSString *dateStr = [self getDate];
[self.delegate okTimeView:dateStr];
}
- (void)cancelClick{
[self.delegate cancelTimeView];
}
@end
...@@ -17,6 +17,5 @@ ...@@ -17,6 +17,5 @@
@interface StartTimeView : UIView @interface StartTimeView : UIView
@property (nonatomic,weak)id<StartTimeViewDelegate>delegate; @property (nonatomic,weak)id<StartTimeViewDelegate>delegate;
- (instancetype)initWithFrame:(CGRect)frame withMode:(UIDatePickerMode)timeMode - (instancetype)initWithFrame:(CGRect)frame withDate:(NSDate *)currentDate;
;
@end @end
...@@ -13,7 +13,7 @@ ...@@ -13,7 +13,7 @@
UIView *_bgView; UIView *_bgView;
UIDatePicker *_timePicker; UIDatePicker *_timePicker;
} }
@property (nonatomic,assign)UIDatePickerMode timeMode; @property (nonatomic,strong)NSDate *currentDate;
@end @end
@implementation StartTimeView @implementation StartTimeView
...@@ -21,16 +21,15 @@ ...@@ -21,16 +21,15 @@
{ {
self = [super initWithFrame:frame]; self = [super initWithFrame:frame];
if (self) { if (self) {
self.timeMode = UIDatePickerModeDate;
[self bulidLayout]; [self bulidLayout];
} }
return self; return self;
} }
- (instancetype)initWithFrame:(CGRect)frame withMode:(UIDatePickerMode)timeMode - (instancetype)initWithFrame:(CGRect)frame withDate:(NSDate *)currentDate
{ {
self = [super initWithFrame:frame]; self = [super initWithFrame:frame];
if (self) { if (self) {
self.timeMode = timeMode; self.currentDate = currentDate;
[self bulidLayout]; [self bulidLayout];
} }
return self; return self;
...@@ -48,7 +47,8 @@ ...@@ -48,7 +47,8 @@
_timePicker= [[UIDatePicker alloc] initWithFrame:CGRectMake(0, 30,ScreenSize.width, DateViewHeight - 30)]; _timePicker= [[UIDatePicker alloc] initWithFrame:CGRectMake(0, 30,ScreenSize.width, DateViewHeight - 30)];
_timePicker.backgroundColor = [UIColor whiteColor]; _timePicker.backgroundColor = [UIColor whiteColor];
_timePicker.datePickerMode = self.timeMode; _timePicker.date = self.currentDate;
_timePicker.datePickerMode = UIDatePickerModeDate;
_timePicker.locale = [[NSLocale alloc]initWithLocaleIdentifier:@"zh_CN"]; _timePicker.locale = [[NSLocale alloc]initWithLocaleIdentifier:@"zh_CN"];
// // 设置最小时间段,防止用户的出现已过去的时间 // // 设置最小时间段,防止用户的出现已过去的时间
// _timePicker.minimumDate = [NSDate date]; // _timePicker.minimumDate = [NSDate date];
......
...@@ -452,7 +452,21 @@ typedef enum : NSUInteger { ...@@ -452,7 +452,21 @@ typedef enum : NSUInteger {
- (void)startDatePickView{ - (void)startDatePickView{
if (!_startTimeView) { if (!_startTimeView) {
_startTimeView = [[StartTimeView alloc] initWithFrame:CGRectMake(0, ScreenSize.height, ScreenSize.width, ScreenSize.height - 64)]; NSDate *currentDate;
if (_isClickStart) {
if ([_startDateLabel.text isEqualToString:@"选择日期"] || _startDateLabel.text.length < 1) {
currentDate = [NSDate date];
}else{
currentDate = [IBTCommon convertToDateFrom:_startDateLabel.text];
}
}else{
if ([_endDateLabel.text isEqualToString:@"选择日期"] || _endDateLabel.text.length < 1) {
currentDate = [NSDate date];
}else{
currentDate = [IBTCommon convertToDateFrom:_endDateLabel.text];
}
}
_startTimeView = [[StartTimeView alloc] initWithFrame:CGRectMake(0, ScreenSize.height, ScreenSize.width, ScreenSize.height - 64) withDate:currentDate];
_startTimeView.delegate = self; _startTimeView.delegate = self;
_startTimeView.backgroundColor = RGBA(0, 0, 0 ,0.5); _startTimeView.backgroundColor = RGBA(0, 0, 0 ,0.5);
[self.view addSubview:_startTimeView]; [self.view addSubview:_startTimeView];
......
...@@ -87,7 +87,7 @@ typedef enum : NSUInteger { ...@@ -87,7 +87,7 @@ typedef enum : NSUInteger {
NSString *message = data[@"message"] ; NSString *message = data[@"message"] ;
if (success == 1) { if (success == 1) {
NSString *dataStr = data[@"data"]; NSString *dataStr = data[@"data"];
NSString *urlStr = [NSString stringWithFormat:@"%@/DisplayChart?filename=%@",Server_Url,dataStr]; NSString *urlStr = [NSString stringWithFormat:@"%@/DisplayChart?filename=%@",@"http://122.224.171.126:7280/cruiser-server",dataStr];
[_chartImageView sd_setImageWithURL:[NSURL URLWithString:urlStr]]; [_chartImageView sd_setImageWithURL:[NSURL URLWithString:urlStr]];
}else{ }else{
[IBTLoadingView showTips:message]; [IBTLoadingView showTips:message];
......
...@@ -477,6 +477,10 @@ typedef enum : NSUInteger { ...@@ -477,6 +477,10 @@ typedef enum : NSUInteger {
if(self.transfer && [self.state isEqualToString:TRANSFER_STATE_INITIAL]){ if(self.transfer && [self.state isEqualToString:TRANSFER_STATE_INITIAL]){
[ICRUserUtil sharedInstance].needFresh = YES; [ICRUserUtil sharedInstance].needFresh = YES;
} }
if (_sheetView.startTimeView) {
[_sheetView.startTimeView removeFromSuperview];
_sheetView.startTimeView = nil;
}
} }
/* /*
......
...@@ -9,6 +9,7 @@ ...@@ -9,6 +9,7 @@
#import <UIKit/UIKit.h> #import <UIKit/UIKit.h>
#import "HPGrowingTextView.h" #import "HPGrowingTextView.h"
#import "Transfer.h" #import "Transfer.h"
#import "FinishTimeView.h"
@protocol TopTransferViewDelegate <NSObject> @protocol TopTransferViewDelegate <NSObject>
- (void)hiddenKeyBoard; - (void)hiddenKeyBoard;
...@@ -40,4 +41,7 @@ ...@@ -40,4 +41,7 @@
@property (nonatomic,strong)NSString *arriveDate; @property (nonatomic,strong)NSString *arriveDate;
@property (nonatomic,strong)NSString *note; @property (nonatomic,strong)NSString *note;
@property (nonatomic,strong)Transfer *transfer; @property (nonatomic,strong)Transfer *transfer;
@property (nonatomic,strong)FinishTimeView *startTimeView;
@end @end
...@@ -13,18 +13,16 @@ ...@@ -13,18 +13,16 @@
#import "Warehouse.h" #import "Warehouse.h"
#import "ChooseWarehouseViewController.h" #import "ChooseWarehouseViewController.h"
#import "ChooseTypeViewController.h" #import "ChooseTypeViewController.h"
#import "StartTimeView.h"
#define LeftMargin 15 #define LeftMargin 15
#define TopMargin 20 #define TopMargin 20
#define LeftWidth 80 #define LeftWidth 80
#define TableHeight 44 #define TableHeight 44
#define SpaceHeight 10 #define SpaceHeight 10
@interface TopTransferView ()<UITableViewDataSource,UITableViewDelegate,HPGrowingTextViewDelegate,UITextFieldDelegate,StartTimeViewDelegate> @interface TopTransferView ()<UITableViewDataSource,UITableViewDelegate,HPGrowingTextViewDelegate,UITextFieldDelegate,FinishTimeViewDelegate>
{ {
UITableView *_tableView; UITableView *_tableView;
NSMutableArray *_dataArr; NSMutableArray *_dataArr;
StartTimeView *_startTimeView;
} }
@property (nonatomic,strong)NSString *selectType; @property (nonatomic,strong)NSString *selectType;
...@@ -247,16 +245,22 @@ ...@@ -247,16 +245,22 @@
} }
- (void)startDatePickView{ - (void)startDatePickView{
if (!_startTimeView) { if (!self.startTimeView) {
_startTimeView = [[StartTimeView alloc] initWithFrame:CGRectMake(0, ScreenSize.height, ScreenSize.width, ScreenSize.height - 64)withMode:UIDatePickerModeDateAndTime]; NSString *currentStr = @"";
_startTimeView.delegate = self; if ([self.arriveDateLabel.text isEqualToString:@"选择预计到货时间"] || self.arriveDateLabel.text.length < 1) {
_startTimeView.backgroundColor = RGBA(0, 0, 0 ,0.5); currentStr = [IBTCommon stringFromDateWithFormat:[NSDate date] format:@"yyyy-MM-dd HH:mm"];
[AppWindow addSubview:_startTimeView]; }else{
currentStr = self.arriveDateLabel.text;
}
self.startTimeView = [[FinishTimeView alloc] initWithFrame:CGRectMake(0, ScreenSize.height, ScreenSize.width, ScreenSize.height - 64) withDate:currentStr];
self.startTimeView.delegate = self;
self.startTimeView.backgroundColor = RGBA(0, 0, 0 ,0.5);
[AppWindow addSubview:self.startTimeView];
[UIView animateWithDuration:0.15 animations:^{ [UIView animateWithDuration:0.15 animations:^{
CGRect startFrame = _startTimeView.frame; CGRect startFrame = self.startTimeView.frame;
startFrame.origin.y = 64; startFrame.origin.y = 64;
_startTimeView.frame = startFrame; self.startTimeView.frame = startFrame;
} completion:^(BOOL finished) { } completion:^(BOOL finished) {
}]; }];
...@@ -265,23 +269,23 @@ ...@@ -265,23 +269,23 @@
- (void)cancelTimeView{ - (void)cancelTimeView{
[self clearDatePickView]; [self clearDatePickView];
} }
- (void)okTimeView:(NSDate *)time{ - (void)okTimeView:(NSString *)time{
_arriveDateLabel.textColor = GXF_CONTENT_COLOR; _arriveDateLabel.textColor = GXF_CONTENT_COLOR;
_arriveDateLabel.text = [IBTCommon stringFromDateWithFormat:time format:@"yyyy-MM-dd HH:mm"]; _arriveDateLabel.text = time;
self.arriveDate = [time httpParameterString]; self.arriveDate = time;
// 关闭选择器 // 关闭选择器
[self clearDatePickView]; [self clearDatePickView];
} }
#pragma mark - 取消 #pragma mark - 取消
- (void)clearDatePickView{ - (void)clearDatePickView{
[UIView animateWithDuration:0.15 animations:^{ [UIView animateWithDuration:0.15 animations:^{
CGRect startFrame = _startTimeView.frame; CGRect startFrame = self.startTimeView.frame;
startFrame.origin.y = ScreenSize.height; startFrame.origin.y = ScreenSize.height;
_startTimeView.frame = startFrame; self.startTimeView.frame = startFrame;
} completion:^(BOOL finished) { } completion:^(BOOL finished) {
[_startTimeView removeFromSuperview]; [self.startTimeView removeFromSuperview];
_startTimeView = nil; self.startTimeView = nil;
}]; }];
} }
......
...@@ -425,6 +425,10 @@ typedef enum : NSUInteger { ...@@ -425,6 +425,10 @@ typedef enum : NSUInteger {
if(self.transport && [self.state isEqualToString:TRANSPORT_STATE_INITIAL]){ if(self.transport && [self.state isEqualToString:TRANSPORT_STATE_INITIAL]){
[ICRUserUtil sharedInstance].needFresh = YES; [ICRUserUtil sharedInstance].needFresh = YES;
} }
if (_sheetView.startTimeView) {
[_sheetView.startTimeView removeFromSuperview];
_sheetView.startTimeView = nil;
}
} }
/* /*
......
...@@ -9,6 +9,7 @@ ...@@ -9,6 +9,7 @@
#import <UIKit/UIKit.h> #import <UIKit/UIKit.h>
#import "HPGrowingTextView.h" #import "HPGrowingTextView.h"
#import "Transport.h" #import "Transport.h"
#import "FinishTimeView.h"
@protocol TopTransportViewDelegate <NSObject> @protocol TopTransportViewDelegate <NSObject>
- (void)hiddenKeyBoard; - (void)hiddenKeyBoard;
...@@ -23,6 +24,7 @@ ...@@ -23,6 +24,7 @@
@property (nonatomic,strong)UITextField *phoneTextFiled; //电话 @property (nonatomic,strong)UITextField *phoneTextFiled; //电话
@property (nonatomic,strong)UILabel *arriveDateLabel; //预计收货时间 @property (nonatomic,strong)UILabel *arriveDateLabel; //预计收货时间
@property (nonatomic,strong)HPGrowingTextView *remarkTextView;//备注 @property (nonatomic,strong)HPGrowingTextView *remarkTextView;//备注
@property (nonatomic,strong)FinishTimeView *startTimeView;
@property (nonatomic,weak)id <TopTransportViewDelegate>delegate; @property (nonatomic,weak)id <TopTransportViewDelegate>delegate;
......
...@@ -11,18 +11,16 @@ ...@@ -11,18 +11,16 @@
#import "Warehouse.h" #import "Warehouse.h"
#import "ChooseWarehouseViewController.h" #import "ChooseWarehouseViewController.h"
#import "ChooseTypeViewController.h" #import "ChooseTypeViewController.h"
#import "StartTimeView.h"
#define LeftMargin 15 #define LeftMargin 15
#define TopMargin 20 #define TopMargin 20
#define LeftWidth 80 #define LeftWidth 80
#define TableHeight 44 #define TableHeight 44
#define SpaceHeight 10 #define SpaceHeight 10
@interface TopTransportView ()<UITableViewDataSource,UITableViewDelegate,HPGrowingTextViewDelegate,UITextFieldDelegate,StartTimeViewDelegate> @interface TopTransportView ()<UITableViewDataSource,UITableViewDelegate,HPGrowingTextViewDelegate,UITextFieldDelegate,FinishTimeViewDelegate>
{ {
UITableView *_tableView; UITableView *_tableView;
NSMutableArray *_dataArr; NSMutableArray *_dataArr;
StartTimeView *_startTimeView;
} }
@property (nonatomic,strong)NSString *selectType; @property (nonatomic,strong)NSString *selectType;
@property (nonatomic,strong)NSString *selectRwarehouse; @property (nonatomic,strong)NSString *selectRwarehouse;
...@@ -246,16 +244,22 @@ ...@@ -246,16 +244,22 @@
} }
- (void)startDatePickView{ - (void)startDatePickView{
if (!_startTimeView) { if (!self.startTimeView) {
_startTimeView = [[StartTimeView alloc] initWithFrame:CGRectMake(0, ScreenSize.height, ScreenSize.width, ScreenSize.height - 64) withMode:UIDatePickerModeDateAndTime]; NSString *currentStr = @"";
_startTimeView.delegate = self; if ([self.arriveDateLabel.text isEqualToString:@"选择预计到货时间"] || self.arriveDateLabel.text.length < 1) {
_startTimeView.backgroundColor = RGBA(0, 0, 0 ,0.5); currentStr = [IBTCommon stringFromDateWithFormat:[NSDate date] format:@"yyyy-MM-dd HH:mm"];
[AppWindow addSubview:_startTimeView]; }else{
currentStr = self.arriveDateLabel.text;
}
self.startTimeView = [[FinishTimeView alloc] initWithFrame:CGRectMake(0, ScreenSize.height, ScreenSize.width, ScreenSize.height - 64) withDate:currentStr];
self.startTimeView.delegate = self;
self.startTimeView.backgroundColor = RGBA(0, 0, 0 ,0.5);
[AppWindow addSubview:self.startTimeView];
[UIView animateWithDuration:0.15 animations:^{ [UIView animateWithDuration:0.15 animations:^{
CGRect startFrame = _startTimeView.frame; CGRect startFrame = self.startTimeView.frame;
startFrame.origin.y = 64; startFrame.origin.y = 64;
_startTimeView.frame = startFrame; self.startTimeView.frame = startFrame;
} completion:^(BOOL finished) { } completion:^(BOOL finished) {
}]; }];
...@@ -264,23 +268,23 @@ ...@@ -264,23 +268,23 @@
- (void)cancelTimeView{ - (void)cancelTimeView{
[self clearDatePickView]; [self clearDatePickView];
} }
- (void)okTimeView:(NSDate *)time{ - (void)okTimeView:(NSString *)time{
_arriveDateLabel.textColor = GXF_CONTENT_COLOR; _arriveDateLabel.textColor = GXF_CONTENT_COLOR;
_arriveDateLabel.text = [IBTCommon stringFromDateWithFormat:time format:@"yyyy-MM-dd HH:mm"]; _arriveDateLabel.text = time;
self.arriveDate = [time httpParameterString]; self.arriveDate = time;
// 关闭选择器 // 关闭选择器
[self clearDatePickView]; [self clearDatePickView];
} }
#pragma mark - 取消 #pragma mark - 取消
- (void)clearDatePickView{ - (void)clearDatePickView{
[UIView animateWithDuration:0.15 animations:^{ [UIView animateWithDuration:0.15 animations:^{
CGRect startFrame = _startTimeView.frame; CGRect startFrame = self.startTimeView.frame;
startFrame.origin.y = ScreenSize.height; startFrame.origin.y = ScreenSize.height;
_startTimeView.frame = startFrame; self.startTimeView.frame = startFrame;
} completion:^(BOOL finished) { } completion:^(BOOL finished) {
[_startTimeView removeFromSuperview]; [self.startTimeView removeFromSuperview];
_startTimeView = nil; self.startTimeView = nil;
}]; }];
} }
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment