Commit 98a791e4 by 刘卓鑫

紧急修复bug

parent 92484515
......@@ -46,8 +46,6 @@
1C5B26B8225B3B7B001B0E1B /* ZXSettingViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = 1C5B26B7225B3B7B001B0E1B /* ZXSettingViewController.m */; };
1C5B26BB225B3B85001B0E1B /* ZXUserSettingTableViewCell.m in Sources */ = {isa = PBXBuildFile; fileRef = 1C5B26B9225B3B83001B0E1B /* ZXUserSettingTableViewCell.m */; };
1C5B26BE225B3B8F001B0E1B /* ZXUserSettingModel.m in Sources */ = {isa = PBXBuildFile; fileRef = 1C5B26BC225B3B8E001B0E1B /* ZXUserSettingModel.m */; };
1C642757230FBB5E00AEC294 /* ZJAnimationPopView.m in Sources */ = {isa = PBXBuildFile; fileRef = 1C642755230FBB5D00AEC294 /* ZJAnimationPopView.m */; };
1C64275A230FBF3200AEC294 /* ZXPopAnimationTool.m in Sources */ = {isa = PBXBuildFile; fileRef = 1C642759230FBF3200AEC294 /* ZXPopAnimationTool.m */; };
1C64275C2314C36D00AEC294 /* UserNotifications.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 1C64275B2314C36C00AEC294 /* UserNotifications.framework */; settings = {ATTRIBUTES = (Weak, ); }; };
1C73BEED22439F8D0078947F /* SafariServices.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 1C73BEEC22439F8C0078947F /* SafariServices.framework */; };
1C73BEEF2243A0080078947F /* EventKit.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 1C73BEEE2243A0070078947F /* EventKit.framework */; };
......@@ -364,8 +362,6 @@
A75436D121D34566005584CC /* forgetPasswordViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = A75436A721D34566005584CC /* forgetPasswordViewController.m */; };
A75436D221D34566005584CC /* forgetPasswordViewController.xib in Resources */ = {isa = PBXBuildFile; fileRef = A75436A821D34566005584CC /* forgetPasswordViewController.xib */; };
A75436D321D34566005584CC /* forgetPasswordModel.m in Sources */ = {isa = PBXBuildFile; fileRef = A75436AB21D34566005584CC /* forgetPasswordModel.m */; };
A75436D421D34566005584CC /* LoginView.m in Sources */ = {isa = PBXBuildFile; fileRef = A75436AF21D34566005584CC /* LoginView.m */; };
A75436D521D34566005584CC /* LoginView.xib in Resources */ = {isa = PBXBuildFile; fileRef = A75436B021D34566005584CC /* LoginView.xib */; };
A75436D621D34567005584CC /* ZXChooseSchoolViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = A75436B221D34566005584CC /* ZXChooseSchoolViewController.m */; };
A75436D721D34567005584CC /* ZXRegistorViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = A75436B421D34566005584CC /* ZXRegistorViewController.m */; };
A75436D921D34567005584CC /* LoginModel.m in Sources */ = {isa = PBXBuildFile; fileRef = A75436B921D34566005584CC /* LoginModel.m */; };
......@@ -764,11 +760,8 @@
1C5B26BA225B3B84001B0E1B /* ZXUserSettingTableViewCell.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ZXUserSettingTableViewCell.h; sourceTree = "<group>"; };
1C5B26BC225B3B8E001B0E1B /* ZXUserSettingModel.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = ZXUserSettingModel.m; sourceTree = "<group>"; };
1C5B26BD225B3B8F001B0E1B /* ZXUserSettingModel.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ZXUserSettingModel.h; sourceTree = "<group>"; };
1C642755230FBB5D00AEC294 /* ZJAnimationPopView.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = ZJAnimationPopView.m; sourceTree = "<group>"; };
1C642756230FBB5D00AEC294 /* ZJAnimationPopView.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ZJAnimationPopView.h; sourceTree = "<group>"; };
1C642758230FBF3200AEC294 /* ZXPopAnimationTool.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = ZXPopAnimationTool.h; sourceTree = "<group>"; };
1C642759230FBF3200AEC294 /* ZXPopAnimationTool.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = ZXPopAnimationTool.m; sourceTree = "<group>"; };
1C64275B2314C36C00AEC294 /* UserNotifications.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = UserNotifications.framework; path = System/Library/Frameworks/UserNotifications.framework; sourceTree = SDKROOT; };
1C6427632314FD9000AEC294 /* UIViewController+TunTransition.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = "UIViewController+TunTransition.h"; sourceTree = "<group>"; };
1C73BEEC22439F8C0078947F /* SafariServices.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = SafariServices.framework; path = System/Library/Frameworks/SafariServices.framework; sourceTree = SDKROOT; };
1C73BEEE2243A0070078947F /* EventKit.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = EventKit.framework; path = System/Library/Frameworks/EventKit.framework; sourceTree = SDKROOT; };
1C73BEF822447CB40078947F /* BaiduMobAdSDK */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; name = BaiduMobAdSDK; path = "ColorfulSchool/Classes/百度广告/BaiduMobAdSDK.framework/BaiduMobAdSDK"; sourceTree = "<group>"; };
......@@ -1091,7 +1084,6 @@
A705BF8C21D4A92D004F1628 /* MBProgressHUD+ShowTextMessage.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = "MBProgressHUD+ShowTextMessage.h"; sourceTree = "<group>"; };
A705BF8D21D4A938004F1628 /* NSString+MD5.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = "NSString+MD5.h"; sourceTree = "<group>"; };
A705BF8E21D4A944004F1628 /* NSString+Extension.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = "NSString+Extension.h"; sourceTree = "<group>"; };
A705BF8F21D4A94E004F1628 /* UIViewController+TunTransition.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = "UIViewController+TunTransition.h"; sourceTree = "<group>"; };
A705BF9021D4A966004F1628 /* NSString+AES.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = "NSString+AES.h"; sourceTree = "<group>"; };
A705BF9121D4A991004F1628 /* ColorfulSchoolTests.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = ColorfulSchoolTests.m; sourceTree = "<group>"; };
A705BF9321D4A99F004F1628 /* ColorfulSchoolUITests.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = ColorfulSchoolUITests.m; sourceTree = "<group>"; };
......@@ -1347,9 +1339,6 @@
A75436A821D34566005584CC /* forgetPasswordViewController.xib */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = file.xib; path = forgetPasswordViewController.xib; sourceTree = "<group>"; };
A75436AA21D34566005584CC /* forgetPasswordModel.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = forgetPasswordModel.h; sourceTree = "<group>"; };
A75436AB21D34566005584CC /* forgetPasswordModel.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = forgetPasswordModel.m; sourceTree = "<group>"; };
A75436AE21D34566005584CC /* LoginView.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = LoginView.h; sourceTree = "<group>"; };
A75436AF21D34566005584CC /* LoginView.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = LoginView.m; sourceTree = "<group>"; };
A75436B021D34566005584CC /* LoginView.xib */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = file.xib; path = LoginView.xib; sourceTree = "<group>"; };
A75436B121D34566005584CC /* ZXChooseSchoolViewController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ZXChooseSchoolViewController.h; sourceTree = "<group>"; };
A75436B221D34566005584CC /* ZXChooseSchoolViewController.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = ZXChooseSchoolViewController.m; sourceTree = "<group>"; };
A75436B321D34566005584CC /* ZXRegistorViewController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ZXRegistorViewController.h; sourceTree = "<group>"; };
......@@ -2107,15 +2096,6 @@
path = ViewModel;
sourceTree = "<group>";
};
1C642754230FBB5D00AEC294 /* ZJAnimationPopView */ = {
isa = PBXGroup;
children = (
1C642756230FBB5D00AEC294 /* ZJAnimationPopView.h */,
1C642755230FBB5D00AEC294 /* ZJAnimationPopView.m */,
);
path = ZJAnimationPopView;
sourceTree = "<group>";
};
1C8853F922C1B08A00A03328 /* appointmentBath(预约洗浴) */ = {
isa = PBXGroup;
children = (
......@@ -3595,9 +3575,6 @@
A75436AD21D34566005584CC /* Controller */ = {
isa = PBXGroup;
children = (
A75436AE21D34566005584CC /* LoginView.h */,
A75436AF21D34566005584CC /* LoginView.m */,
A75436B021D34566005584CC /* LoginView.xib */,
1CF8630A2303F1700007EBC6 /* ZXLoginViewController.h */,
1CF8630B2303F1700007EBC6 /* ZXLoginViewController.m */,
1CF863102304116A0007EBC6 /* ZXLoginAnimationView.h */,
......@@ -4058,7 +4035,7 @@
A7DECC702079F0E20039EC22 /* MBProgressHUD+ShowTextMessage.m */,
A705BF8E21D4A944004F1628 /* NSString+Extension.h */,
A70F504920CE0E3200F297BC /* NSString+Extension.m */,
A705BF8F21D4A94E004F1628 /* UIViewController+TunTransition.h */,
1C6427632314FD9000AEC294 /* UIViewController+TunTransition.h */,
A7B7D22020CE8A08009B8E29 /* UIViewController+TunTransition.m */,
);
path = "Extension(分类扩展)";
......@@ -4081,8 +4058,6 @@
A7DECC752079F0E20039EC22 /* ZXPayManager.m */,
A7DECC762079F0E20039EC22 /* ZXTool.h */,
A7DECC772079F0E20039EC22 /* ZXTool.m */,
1C642758230FBF3200AEC294 /* ZXPopAnimationTool.h */,
1C642759230FBF3200AEC294 /* ZXPopAnimationTool.m */,
);
path = "Tool(工具)";
sourceTree = "<group>";
......@@ -4090,7 +4065,6 @@
A7DECC7A2079F0E20039EC22 /* Vendor(三方) */ = {
isa = PBXGroup;
children = (
1C642754230FBB5D00AEC294 /* ZJAnimationPopView */,
1CB3AC1023053BE0006F1724 /* CropImage */,
1C3AE7B722F0482D0045C969 /* SGQRCode */,
1CD9E566229B7C7500FFDA29 /* JDSDK */,
......@@ -4860,7 +4834,6 @@
A705C01021D4B067004F1628 /* PlayButtonOverlayLargeTap@3x.png in Resources */,
A705C01621D4B067004F1628 /* VideoOverlay.png in Resources */,
A7DECC9C2079F0E30039EC22 /* ss.gif in Resources */,
A75436D521D34566005584CC /* LoginView.xib in Resources */,
22E36CD61F559D9700073AC2 /* DeviceCell.xib in Resources */,
A705C00C21D4B067004F1628 /* PlayButtonOverlayLarge@2x.png in Resources */,
22E36C9A1F558D1B00073AC2 /* TopUpCell.xib in Resources */,
......@@ -5172,7 +5145,6 @@
22E36C931F558D1B00073AC2 /* FetchWalletTopUpDataModel.m in Sources */,
A75436E921D34594005584CC /* CampasVersionUpdateModel.m in Sources */,
A7F3E17421B5330F00010E23 /* HTTPMessage.m in Sources */,
1C642757230FBB5E00AEC294 /* ZJAnimationPopView.m in Sources */,
A7EC706C20EC9867001504C5 /* ZXWashOrderModel.m in Sources */,
A705BFC021D4AFD8004F1628 /* HTTPErrorResponse.m in Sources */,
A7FE8D7020C8DD8C0028B721 /* ZTHomeViewController.m in Sources */,
......@@ -5358,7 +5330,6 @@
A7FE8D7620C8F7D30028B721 /* New_OperationCell.m in Sources */,
A783E4452109BC650074623C /* ChineseString.m in Sources */,
A75436E821D34594005584CC /* UpdateVersionModel.m in Sources */,
1C64275A230FBF3200AEC294 /* ZXPopAnimationTool.m in Sources */,
A7F3E00E21B530F500010E23 /* ZXColorfulTopController.m in Sources */,
1CF86307230280FB0007EBC6 /* AppUpdateVersion.m in Sources */,
A756C5CB21FAA6050006E418 /* SDCycleScrollView.m in Sources */,
......@@ -5459,7 +5430,6 @@
1CF4C0B222F3D35E00944C63 /* ZXHomePageSupverViewController.m in Sources */,
2293F74E204D232B00604690 /* AllowEequipCountLoginModel.m in Sources */,
1C88540D22C1C5EF00A03328 /* ZXAppointBathService.m in Sources */,
A75436D421D34566005584CC /* LoginView.m in Sources */,
A70B9A7420819DFB00A4D9DD /* XMRequest.m in Sources */,
A7F3E19021B5330F00010E23 /* CXMLDocument_PrivateExtensions.m in Sources */,
A73F429820DC9B280074A00D /* ZXWashBucketCleanCell.m in Sources */,
......@@ -5897,6 +5867,7 @@
"$(PROJECT_DIR)/ColorfulSchool/Classes/Vendor(三方)/JDPay",
"$(PROJECT_DIR)/Pods/GDTMobSDK/lib",
);
ONLY_ACTIVE_ARCH = YES;
OTHER_LDFLAGS = (
"$(inherited)",
"-ObjC",
......@@ -5994,6 +5965,7 @@
"$(PROJECT_DIR)/Pods/GDTMobSDK/lib",
"$(PROJECT_DIR)/Pods/JPush",
);
ONLY_ACTIVE_ARCH = YES;
OTHER_LDFLAGS = (
"$(inherited)",
"-ObjC",
......
......@@ -62,7 +62,7 @@
</AdditionalOptions>
</TestAction>
<LaunchAction
buildConfiguration = "Debug"
buildConfiguration = "Release"
selectedDebuggerIdentifier = "Xcode.DebuggerFoundation.Debugger.LLDB"
selectedLauncherIdentifier = "Xcode.DebuggerFoundation.Launcher.LLDB"
launchStyle = "0"
......
......@@ -17,8 +17,7 @@ NS_ASSUME_NONNULL_BEGIN
#pragma mark - ========== 开屏广告 ==========
- (void) loadLauchAd;
#pragma mark - ========== 本地版本检测 ==========
- (void) localVersionCheckCompleted:(dispatch_block_t) completed;
@end
NS_ASSUME_NONNULL_END
......@@ -12,7 +12,6 @@
#import <AdSupport/AdSupport.h>
#import <AVFoundation/AVFoundation.h>
#import <MediaPlayer/MediaPlayer.h>
#import "LoginView.h"
#import "XMGNavigationViewController.h"
#import "XMGFileTool.h"
#import "ZXSections.h"
......@@ -22,6 +21,7 @@
#import <Bugly/Bugly.h>
#import <IQKeyboardManager/IQKeyboardManager.h>
#import <JJException/JJException.h>
#import "ZXLoginViewController.h"
@implementation AppDelegate (Extension)
#pragma mark - ========== 默认配置部分 ==========
- (void) defaultLauchConfigAndIsOpenPreventCrashManager:(BOOL) open {
......@@ -36,14 +36,7 @@
[[JDPAuthSDK sharedJDPay] registServiceWithAppID:@"472e3b43e32aac8711df1c7586b89a2a" merchantID:@"110979562002"];
//请求最新的是否需要曝光配置
[ZXTool requestIsNeedExposure];
//京东cps联盟
// [[KeplerApiManager sharedKPService] asyncInitSdk:@"02dda8fb6452fadc99e2a5c3c8910192" secretKey:@"9fe020c81dbd420ea3bc894d38e2d1c5" sucessCallback:^(){
// NSLog(@"京东联盟sdk注册成功");
// }failedCallback:^(NSError *error){
// //京东联盟sdk注册失败
// NSLog(@"京东联盟sdk注册失败---%@", error);
// }];
//bugly
[Bugly startWithAppId:@"d3a5bd8d35"];
//IQKeyboardManager
......@@ -58,7 +51,13 @@
[JJException configExceptionCategory:JJExceptionGuardAll];
[JJException startGuardException];
}
//京东cps联盟
[[KeplerApiManager sharedKPService] asyncInitSdk:@"02dda8fb6452fadc99e2a5c3c8910192" secretKey:@"9fe020c81dbd420ea3bc894d38e2d1c5" sucessCallback:^(){
NSLog(@"京东联盟sdk注册成功");
}failedCallback:^(NSError *error){
//京东联盟sdk注册失败
NSLog(@"京东联盟sdk注册失败---%@", error);
}];
//网络监测
[self checkNetworkingStatus];
}
......@@ -121,37 +120,6 @@
}
#pragma mark - ==========本地版本检测==========
-(void) localVersionCheckCompleted:(dispatch_block_t) completed {
NSString *onceVersion = [kUserDefaults valueForKey:@"onceVersion"];
NSDictionary *infoDictionary = [[NSBundle mainBundle] infoDictionary];
NSString *app_Version = [infoDictionary objectForKey:@"CFBundleShortVersionString"];
if (onceVersion == nil || (onceVersion && [onceVersion isKindOfClass:[NSString class]] && ![app_Version isEqualToString:onceVersion])) {
//不一样 说明在appstore更新了或者
[XMGFileTool removeDirectoryPath:CachePath];
[ZXNotPay clearTable];
[ExpecptionModel clearTable];
[ZXSections clearTable];
[ZXInformation clearTable];
NSString *appDomainStr = [[NSBundle mainBundle] bundleIdentifier];
[[NSUserDefaults standardUserDefaults] removePersistentDomainForName:appDomainStr];
//存储当前版本
[kUserDefaults setValue:app_Version forKey:@"onceVersion"];
[kUserDefaults synchronize];
//清空之后 重设api
[APIManager sharedAPIManager].lauchEnvironment = [APIManager sharedAPIManager].lauchEnvironment;
LoginView * rootView = [[LoginView alloc]init];
XMGNavigationViewController * rootViewNav = [[XMGNavigationViewController alloc]initWithRootViewController:rootView];
self.window.rootViewController = rootViewNav;
} else {
//没有 存储当前版本
[kUserDefaults setValue:app_Version forKey:@"onceVersion"];
[kUserDefaults synchronize];
completed();
}
}
@end
......@@ -21,7 +21,6 @@
#import "FTUploader.h"
#import "ZXNewOrderDetailViewController.h"
#import <AFNetworkReachabilityManager.h>
// 引入JPush功能所需头文件
#import <JPUSHService.h>
// iOS10注册APNs所需头文件
......@@ -63,9 +62,6 @@
_isPlaying = NO;
//默认配置
[self defaultLauchConfigAndIsOpenPreventCrashManager:YES];
//启动环境
[APIManager sharedAPIManager].lauchEnvironment = ZXColorfulSchoolEnvironmentTest;
......@@ -86,9 +82,12 @@
// YYFPSLabel *fps = [[YYFPSLabel alloc] initWithFrame:CGRectMake(kScreenWidth - 150, kScreenHeight - 100, 100, 30)];
// [kAppWindow addSubview:fps];
//默认配置
[self defaultLauchConfigAndIsOpenPreventCrashManager:YES];
//防止蓝牙洗浴后台运行被系统中断
NSTimer *timer = [NSTimer scheduledTimerWithTimeInterval:10 target:self selector:@selector(ccc) userInfo:nil repeats:YES];
NSTimer *timer = [NSTimer scheduledTimerWithTimeInterval:20 target:self selector:@selector(ccc) userInfo:nil repeats:YES];
[[NSRunLoop mainRunLoop] addTimer:timer forMode:NSRunLoopCommonModes];
return YES;
}
......
//
//
......@@ -14,7 +14,7 @@ kSINGLETON_FOR_CLASS(APIManager)
- (void)setLauchEnvironment:(ZXColorfulSchoolEnvironmentType)lauchEnvironment {
_lauchEnvironment = lauchEnvironment;
[kUserDefaults setObject:@"0" forKey:@"schoolId"];
switch (_lauchEnvironment) {
case ZXColorfulSchoolEnvironmentDevelop: {
NSUserDefaults *userDefaults = [NSUserDefaults standardUserDefaults];
......
//
//
......@@ -61,6 +61,7 @@
}
- (float) heightForString:(NSString *)value fontSize:(float)fontSize andWidth:(float)width
{
CGSize sizeToFit = [value sizeWithFont:[UIFont systemFontOfSize:fontSize] constrainedToSize:CGSizeMake(width, CGFLOAT_MAX) lineBreakMode:UILineBreakModeWordWrap];//此处的换行类型(lineBreakMode)可根据自己的实际情况进行设置
return sizeToFit.height;
}
......
//
//
......@@ -247,10 +247,10 @@
}
- (NSInteger) tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section {
if (self.isScrollBottom == NO) { //只在初始化的时候执行
dispatch_after(dispatch_time(DISPATCH_TIME_NOW, (int64_t)(0.005 * NSEC_PER_SEC)), dispatch_get_main_queue(), ^{
dispatch_after(dispatch_time(DISPATCH_TIME_NOW, (int64_t)(0.01 * NSEC_PER_SEC)), dispatch_get_main_queue(), ^{
if (self.dataSource.count > 0) {
NSIndexPath *indexPath = [NSIndexPath indexPathForRow:([self.myTableView numberOfRowsInSection:0]-1) inSection:0];
NSIndexPath *indexPath = [NSIndexPath indexPathForRow:(self.dataSource.count-1) inSection:0];
[self.myTableView scrollToRowAtIndexPath:indexPath atScrollPosition:UITableViewScrollPositionBottom animated:NO];
}
});
......@@ -365,7 +365,7 @@
[ZXTool hideLoadingAnimation];
[self.dataSource addObject:model];
[self.myTableView reloadData];
NSIndexPath *indexPath = [NSIndexPath indexPathForRow:([self.myTableView numberOfRowsInSection:0]-1) inSection:0];
NSIndexPath *indexPath = [NSIndexPath indexPathForRow:(self.dataSource.count-1) inSection:0];
[self.myTableView scrollToRowAtIndexPath:indexPath atScrollPosition:UITableViewScrollPositionBottom animated:NO];
});
}
......
//
//
......@@ -406,7 +406,7 @@
- (NSString *) formatJumpUrl:(NSString *) jumpUrl {
ASIdentifierManager *asIM = [[ASIdentifierManager alloc] init];
NSString *idfa = [asIM.advertisingIdentifier UUIDString];
NSString *j_url = [[[[[[[jumpUrl stringByReplacingOccurrencesOfString:@"${schoolid}" withString:CacheCampusId] stringByReplacingOccurrencesOfString:@"${userid}" withString:CacheUserId] stringByReplacingOccurrencesOfString:@"${im}" withString:@"none"] stringByReplacingOccurrencesOfString:@"${ia}" withString:idfa] stringByReplacingOccurrencesOfString:@"${imMD5}" withString:@"none"] stringByReplacingOccurrencesOfString:@"${androidId}" withString:@"none"] stringByReplacingOccurrencesOfString:@"${versionid}" withString:APPversion];
NSString *j_url = [[[[[[[jumpUrl stringByReplacingOccurrencesOfString:@"${schoolid}" withString:CacheCampusId?CacheCampusId:@""] stringByReplacingOccurrencesOfString:@"${userid}" withString:CacheUserId?CacheUserId:@""] stringByReplacingOccurrencesOfString:@"${im}" withString:@"none"] stringByReplacingOccurrencesOfString:@"${ia}" withString:idfa?idfa:@""] stringByReplacingOccurrencesOfString:@"${imMD5}" withString:@"none"] stringByReplacingOccurrencesOfString:@"${androidId}" withString:@"none"] stringByReplacingOccurrencesOfString:@"${versionid}" withString:APPversion?APPversion:@""];
return j_url;
}
@end
//
//
......@@ -34,7 +34,7 @@
#import "AimiWalletViewController.h"
#import "enlargeClickRegionBtn.h"
#import "CropImageController.h"
#import "ZJAnimationPopView.h"
@interface ZXHomePageViewController ()<UITableViewDelegate, UITableViewDataSource, UINavigationControllerDelegate, UIImagePickerControllerDelegate, CropImageDelegate>
/** tableview */
@property (nonatomic, strong) UITableView *myTableView;
......@@ -214,18 +214,12 @@
kWeakSelf(self);
self.announce = [[ZXHomePageAnnounceView alloc] initWithFrame:[UIScreen mainScreen].bounds jumpUrl:@""];
self.announce.htmlStr = info.content;
ZJAnimationPopView *popView = [ZXPopAnimationTool showPopView:self.announce fatherView:self.tabBarController.view popStyle:ZJAnimationPopStyleShakeFromBottom dismissStyle:ZJAnimationDismissStyleScale popComplete:^{
} dismissComplete:^{
[self.tabBarController.view addSubview:self.announce];
self.announce.comfirm = ^(BOOL isNotAlert) {
kStrongSelf(self);
self.announce.hidden = YES;
self.announce = nil;
}];
kWeakSelf(popView);
self.announce.comfirm = ^(BOOL isNotAlert) {
kStrongSelf(self);
[weakpopView dismiss];
if (isNotAlert) {
//不在提示
[self.service notShowAlertAnnounceByNoticeCode:info.noticeCode];
......@@ -565,24 +559,16 @@
}
@weakify(self);
ZJAnimationPopView *popView;
kWeakSelf(popView);
ZXHomePaeFirstRecahrgeView *firstRechargeView = [[ZXHomePaeFirstRecahrgeView alloc] initWithFirstRechargeDesc:msg rightAction:^{
@strongify(self);
[weakpopView dismiss];
self.isShowFirstRecharge = NO;
AimiWalletViewController * view = [[AimiWalletViewController alloc]init];
view.hidesBottomBarWhenPushed = YES;
view.comeFrom = @"firstTopUp";
[self.navigationController pushViewController:view animated:YES];
}];
firstRechargeView.frame = [UIScreen mainScreen].bounds;
[self.tabBarController.view addSubview:firstRechargeView];
popView = [ZXPopAnimationTool showPopView:firstRechargeView fatherView:self.tabBarController.view popStyle:ZJAnimationPopStyleShakeFromBottom dismissStyle:ZJAnimationDismissStyleScale popComplete:^{
} dismissComplete:^{
}];
}
- (void) createNotPayAndAnnouceView {
//待支付订单view
......
//
//
......@@ -46,7 +46,7 @@
if (_child.iosButtAddress) {
ASIdentifierManager *asIM = [[ASIdentifierManager alloc] init];
NSString *idfa = [asIM.advertisingIdentifier UUIDString];
NSString *jumpUrl = [[[[[[[_child.iosButtAddress stringByReplacingOccurrencesOfString:@"${schoolid}" withString:CacheCampusId] stringByReplacingOccurrencesOfString:@"${userid}" withString:CacheUserId] stringByReplacingOccurrencesOfString:@"${im}" withString:@"none"] stringByReplacingOccurrencesOfString:@"${ia}" withString:idfa] stringByReplacingOccurrencesOfString:@"${imMD5}" withString:@"none"] stringByReplacingOccurrencesOfString:@"${androidId}" withString:@"none"] stringByReplacingOccurrencesOfString:@"${versionid}" withString:APPversion];
NSString *jumpUrl = [[[[[[[_child.iosButtAddress stringByReplacingOccurrencesOfString:@"${schoolid}" withString:CacheCampusId?CacheCampusId:@""] stringByReplacingOccurrencesOfString:@"${userid}" withString:CacheUserId?CacheUserId:@""] stringByReplacingOccurrencesOfString:@"${im}" withString:@"none"] stringByReplacingOccurrencesOfString:@"${ia}" withString:idfa?idfa:@""] stringByReplacingOccurrencesOfString:@"${imMD5}" withString:@"none"] stringByReplacingOccurrencesOfString:@"${androidId}" withString:@"none"] stringByReplacingOccurrencesOfString:@"${versionid}" withString:APPversion?APPversion:@""];
self.webUrl = jumpUrl;
[self.webView loadRequest:[NSURLRequest requestWithURL:[NSURL URLWithString:jumpUrl]]];
}
......
//
//
......@@ -13,7 +13,7 @@
- (instancetype) initWithFirstRechargeDesc:(NSString *) rechargeDesc rightAction:(dispatch_block_t) rightAction {
if (self = [super init]) {
// self.backgroundColor = [[UIColor blackColor] colorWithAlphaComponent:0.4];
self.backgroundColor = [[UIColor blackColor] colorWithAlphaComponent:0.4];
UIView *bgView = [[UIView alloc] init];
bgView.backgroundColor = [UIColor whiteColor];
kViewRadius(bgView, 7 * k6Scale);
......
......@@ -26,7 +26,7 @@
- (instancetype) initWithFrame:(CGRect)frame jumpUrl:(NSString *) jumpUrl {
if (self = [super initWithFrame:frame]) {
// self.backgroundColor = [UIColor colorWithRed:0 green:0 blue:0 alpha:.2];
self.backgroundColor = [UIColor colorWithRed:0 green:0 blue:0 alpha:.2];
UIView *bgView = [[UIView alloc] initWithFrame:CGRectMake(40 * k6Scale, 85 * k6Scale, kScreenWidth - 80 * k6Scale, kScreenHeight - 170 * k6Scale)];
......
//
//
......@@ -53,7 +53,6 @@
#import "UserCenterModel.h"
#import "AimiWalletViewController.h"
#import "LoginModel.h"
#import "LoginView.h"
#import "ZXWashTabbarViewController.h"
#include "enlargeClickRegionBtn.h"
......
//
//
......@@ -20,7 +20,6 @@
#import "ZXBannerJumpViewController.h"
#import "XMNetworking.h"
#import "ZXMallViewController.h"
#import "LoginView.h"
#import "LoginModel.h"
#import "AppDelegate.h"
@implementation ZXBannerJumpViewController (Extension)
......
//
//
......@@ -11,7 +11,6 @@
#import "ZXSections.h"
#import "ZXInformation.h"
#import "LoginModel.h"
#import "LoginView.h"
#import "ZXCoverAdModel.h"
@implementation ZXFirstPageService
- (NSMutableArray *)sections {
......
//
//
......@@ -10,8 +10,6 @@
#import "enlargeClickRegionBtn.h"
#import "ZXDrinkCell.h"
#import "ZXDrinkService.h"
#import "ZXWashScanViewController.h"
#import "ZXBannerJumpViewController.h"
#import "ZXSelfHelpViewController.h"
@interface ZXDrinkViewController ()<UITableViewDelegate, UITableViewDataSource> {
enlargeClickRegionBtn *scan;//扫码按钮
......@@ -126,29 +124,7 @@
}];
};
[self.navigationController pushViewController:vc animated:NO];
// @weakify(self);
// ZXWashScanViewController *vc =[[ZXWashScanViewController alloc] initWithCardName:@"" title:@"扫码喝水" completion:^(NSString *stringValue) {
// @strongify(self);
// //刷新设备页面
// @weakify(self);
// [self.service checkMerthinMsgByMerthinCode:stringValue completed:^(ZXDrinkMerthinModel *m) {
// @strongify(self);
// if (m.isOnline == 0) {
// [ZXTool showText:@"该设备还未上线"];
// return ;
// }
// if (m.isUsed) {
// [ZXTool showText:@"该设备正在使用"];
// return ;
// }
// self.numberLabel.text = [NSString stringWithFormat:@"设备编号: %@", m.code];
// self.addressLabel.text = [NSString stringWithFormat:@"设备地址: %@", m.position?m.position:@""];
// self.startDrink.selected = m.isCurrentUserUsed;
// self.currentMerthin = m;
// }];
// }];
// [self.navigationController pushViewController:vc animated:YES];
}];
}
- (void) createHeader {
......@@ -435,47 +411,7 @@
}
return _service;
}
//#pragma mark - ========== 广告 ==========
//- (UIImageView *)adImageView {
// if (_adImageView == nil) {
// _adImageView = [[UIImageView alloc] init];
// [self.view addSubview:_adImageView];
// [_adImageView mas_makeConstraints:^(MASConstraintMaker *make) {
// make.left.equalTo(self.view.mas_left).offset(15* k6Scale);
// make.right.equalTo(self.view.mas_right).offset(-15 * k6Scale);
// make.bottom.equalTo(self.view.mas_bottom).offset(-15 * k6Scale);
// make.height.mas_equalTo(110 * k6Scale);
// }];
// _adImageView.layer.cornerRadius = 5;
// _adImageView.layer.masksToBounds = YES;
// _adImageView.userInteractionEnabled = YES;
// enlargeClickRegionBtn *closeBtn = [[enlargeClickRegionBtn alloc] init];
// [closeBtn setImage:[UIImage imageNamed:@"drink-Ad-Close"] forState:UIControlStateNormal];
// [_adImageView addSubview:closeBtn];
// [closeBtn mas_makeConstraints:^(MASConstraintMaker *make) {
// make.right.equalTo(_adImageView.mas_right).offset(-6 * k6Scale);
// make.top.equalTo(_adImageView.mas_top).offset(6 * k6Scale);
// }];
// @weakify(self);
// [[closeBtn rac_signalForControlEvents:UIControlEventTouchDown] subscribeNext:^(id x) {
// @strongify(self);
// self.adImageView.hidden = YES;
// [self.adImageView removeFromSuperview];
// }];
// UITapGestureRecognizer *tap = [[UITapGestureRecognizer alloc] init];
// [_adImageView addGestureRecognizer:tap];
// [[tap rac_gestureSignal] subscribeNext:^(id x) {
// @strongify(self);
// if (self.service.adList.count) {
// ZXBannerJumpViewController *vc = [[ZXBannerJumpViewController alloc] init];
// ZXDrinkAdModel *ad = self.service.adList.firstObject;
// vc.jumpUrl = ad.jumpUrl;
// [self.navigationController pushViewController:vc animated:YES];
// }
// }];
// }
// return _adImageView;
//}
#pragma mark - 创建定时器 5s一次请求当前是否有未支付订单
- (void) createTimer {
@weakify(self);
......
//
//
......@@ -8,7 +8,6 @@
#import "ZXBathViewController.h"
#import "enlargeClickRegionBtn.h"
#import "ZXWashScanViewController.h"
#import "ZXBathAlert.h"
#import <CoreBluetooth/CoreBluetooth.h>
#import "GCDAsyncSocket.h"
......@@ -192,12 +191,7 @@
[ZXTool showText:@"设备正在使用中,请稍后再试!"];
return ;
}
// ZXWashScanViewController *vc =[[ZXWashScanViewController alloc] initWithCardName:@"" title:@"扫码洗浴" completion:^(NSString *stringValue) {
// [self.navigationController popViewControllerAnimated:YES];
// [self requestMerthinMsgByCode:stringValue isShowAlert:YES];//请求设备信息
// self.currentPeripheralName = stringValue;//保存设备名称
//
// }];
@weakify(self);
ZXScannerViewController *vc = [[ZXScannerViewController alloc] init];
//__weak typeof(vc) weakVc = vc;
......
//
//
......@@ -252,6 +252,7 @@
}
- (void)viewWillAppear:(BOOL)animated {
[super viewWillAppear:animated];
self.tabBarController.tabBar.hidden = NO;
if (@available(iOS 11, *)){
[UIScrollView appearance].contentInsetAdjustmentBehavior = UIScrollViewContentInsetAdjustmentNever; //iOS11 解决SafeArea的问题,同时能解决pop时上级页面scrollView抖动的问题
......
//
//
......@@ -14,7 +14,6 @@
#import "ZXChooseView.h"
#import "ShowMsgView.h"
#import "ZXWashOperationViewController.h"
#import "ZXWashScanViewController.h"
#import "AppointView.h"
#import "ZXWashService.h"
......@@ -207,14 +206,10 @@
}];
[[scan rac_signalForControlEvents:UIControlEventTouchDown] subscribeNext:^(id x) {
// @strongify(self);
// ZXWashScanViewController *scanVC = [[ZXWashScanViewController alloc] initWithCardName:@"" avatar:nil completion:^(NSString *stringValue) {
// [self jumpWashWithMerthinCode:[ZXTool dencode:stringValue]];
// }];
// [self.navigationController pushViewController:scanVC animated:YES];
@weakify(self);
ZXScannerViewController *vc = [[ZXScannerViewController alloc] init];
vc.title = @"扫码洗衣";
vc.hidesBottomBarWhenPushed = YES;
vc.scanResult = ^(NSString *result) {
@strongify(self);
dispatch_async(dispatch_get_main_queue(), ^{
......@@ -386,6 +381,7 @@
[self.washService checkMerthinWithMerthinCode:merthinCode completedBlock:^(ZXWashOperationModel *model) {
@strongify(self);
ZXWashOperationViewController *vc = [[ZXWashOperationViewController alloc] init];
vc.hidesBottomBarWhenPushed = YES;
vc.model = model;
[self.navigationController pushViewController:vc animated:YES];
}];
......@@ -409,7 +405,8 @@
- (void)viewWillAppear:(BOOL)animated {
[super viewWillAppear:animated];
self.navigationController.navigationBar.hidden = YES;
self.navigationController.navigationBar.hidden = YES;
self.tabBarController.tabBar.hidden = NO;
// AppointView *v = [[AppointView alloc] initWithFrame:[UIScreen mainScreen].bounds preOrder:nil];
// [[UIApplication sharedApplication].keyWindow addSubview:v];
if (@available(iOS 11, *)) {
......@@ -470,6 +467,7 @@
@strongify(self);
ZXWashOperationViewController *vc = [[ZXWashOperationViewController alloc] init];
vc.model = model;
vc.hidesBottomBarWhenPushed = YES;
[self.navigationController pushViewController:vc animated:YES];
}];
......
//
//
......@@ -215,14 +215,14 @@
CGFloat amount = 0;
NSMutableArray *list = [[NSMutableArray alloc] init];
if (self.selectOptionModel.isSelect) {
NSDictionary *dic1 = @{@"alias":self.selectRequireModel.alias, @"price":[NSString stringWithFormat:@"%.2f", self.selectRequireModel.price], @"free":@(self.selectRequireModel.zx_free), @"sort":@(self.selectRequireModel.sort), @"id":@(self.selectRequireModel.programId),@"actionDevice":self.selectRequireModel.actionDevice,};
NSDictionary *dic1 = @{@"alias":self.selectRequireModel.alias?self.selectRequireModel.alias:@"", @"price":[NSString stringWithFormat:@"%.2f", self.selectRequireModel.price], @"free":@(self.selectRequireModel.zx_free), @"sort":@(self.selectRequireModel.sort), @"id":@(self.selectRequireModel.programId),@"actionDevice":self.selectRequireModel.actionDevice?self.selectRequireModel.actionDevice:@""};
amount += self.selectRequireModel.price;
[list addObject:dic1];
NSDictionary *dic2 = @{@"alias":self.selectOptionModel.alias, @"price":[NSString stringWithFormat:@"%.2f", self.selectOptionModel.price], @"free":@(self.selectOptionModel.zx_free), @"sort":@(self.selectOptionModel.sort), @"id":@(self.selectOptionModel.programId),@"actionDevice":self.selectOptionModel.actionDevice};
NSDictionary *dic2 = @{@"alias":self.selectOptionModel.alias?self.selectOptionModel.alias:@"", @"price":[NSString stringWithFormat:@"%.2f", self.selectOptionModel.price], @"free":@(self.selectOptionModel.zx_free), @"sort":@(self.selectOptionModel.sort), @"id":@(self.selectOptionModel.programId),@"actionDevice":self.selectOptionModel.actionDevice?self.selectOptionModel.actionDevice:@""};
amount += self.selectOptionModel.price;
[list addObject:dic2];
} else {
NSDictionary *dic1 = @{@"alias":self.selectRequireModel.alias, @"price":[NSString stringWithFormat:@"%.2f", self.selectRequireModel.price], @"free":@(self.selectRequireModel.zx_free), @"sort":@(self.selectRequireModel.sort), @"actionDevice":self.selectRequireModel.actionDevice, @"id":@(self.selectRequireModel.programId)};
NSDictionary *dic1 = @{@"alias":self.selectRequireModel.alias?self.selectRequireModel.alias:@"", @"price":[NSString stringWithFormat:@"%.2f", self.selectRequireModel.price], @"free":@(self.selectRequireModel.zx_free), @"sort":@(self.selectRequireModel.sort), @"actionDevice":self.selectRequireModel.actionDevice?self.selectRequireModel.actionDevice:@"", @"id":@(self.selectRequireModel.programId)};
amount += self.selectRequireModel.price;
[list addObject:dic1];
}
......@@ -232,10 +232,10 @@
NSString *campusId = [kUserDefaults valueForKey:@"campusId"];
NSString *account = [kUserDefaults valueForKey:@"account"];
NSDictionary *dic = @{@"campusId":campusId,
@"schoolId":schoolId,
@"userId":userId,
@"userAccount":account,
NSDictionary *dic = @{@"campusId":campusId?campusId:@"",
@"schoolId":schoolId?schoolId:@"",
@"userId":userId?userId:@"",
@"userAccount":account?account:@"",
@"equipmentId":@(self.model.equipmentId),
@"no":@(self.model.no),
@"location":self.model.location,
......
//
//
......@@ -36,9 +36,20 @@
recordVC.tabBarItem.selectedImage = [[UIImage imageNamed:@"tab_Laundryrecord_check"] imageWithRenderingMode:UIImageRenderingModeAlwaysOriginal];
recordVC.tabBarItem.image = [UIImage imageNamed:@"tab_Laundryrecord_default"];
[[UITabBarItem appearance] setTitleTextAttributes:[NSDictionary dictionaryWithObjectsAndKeys:kRGB(51, 51, 51), NSForegroundColorAttributeName, nil] forState:UIControlStateNormal];
UIView *line = [[UIView alloc] initWithFrame:CGRectMake(0, 0, kScreenWidth, 1)];
line.backgroundColor = RGB(243, 243, 243);
[self.tabBar addSubview:line];
// self.tabBar.layer.shadowColor = [UIColor colorWithHexString:@"#FF0000"].CGColor;
// // 设置阴影偏移量
// self.tabBar.layer.shadowOffset = CGSizeMake(0,3 * k6Scale);
// // 设置阴影透明度
// self.tabBar.layer.shadowOpacity = 0.2;
// // 设置阴影半径
// self.tabBar.layer.shadowRadius = 4 * k6Scale;
[[UITabBarItem appearance] setTitleTextAttributes:
[NSDictionary dictionaryWithObjectsAndKeys:kRGB(238, 125, 31),NSForegroundColorAttributeName, nil]forState:UIControlStateSelected];
[NSDictionary dictionaryWithObjectsAndKeys:kRGB(238, 125, 31),NSForegroundColorAttributeName, nil]forState:UIControlStateSelected];
}
- (void)viewDidAppear:(BOOL)animated {
......
//
//
......@@ -10,7 +10,7 @@
#import "FetchCheckCodeModel.h"
#import "GraphicsCode.h"
#import "forgetPasswordModel.h"
#import "LoginView.h"
@interface forgetPasswordViewController ()<UITextFieldDelegate>
{
//发送验证码
......
//
++ /dev/null
//
// LoginView.h
// ColorfulSchool
//
// Created by Listen on 2017/8/5.
// Copyright © 2017年 Colorful Any Door. All rights reserved.
//
#import <UIKit/UIKit.h>
@interface LoginView : UIViewController
@property (strong, nonatomic) IBOutlet UITextField *userTF;
@property (strong, nonatomic) IBOutlet UIView *userTfBg;
@property (strong, nonatomic) IBOutlet UITextField *passWorldTF;
@property (strong, nonatomic) IBOutlet UIView *passWorldTFBg;
@property (strong, nonatomic) IBOutlet UIButton *showBtn;
@property (strong, nonatomic) IBOutlet UIButton *confirmBtn;
@end
//
++ /dev/null
//
// LoginView.m
// ColorfulSchool
//
// Created by Listen on 2017/8/5.
// Copyright © 2017年 Colorful Any Door. All rights reserved.
//
#import "LoginView.h"
#import "LoginModel.h"
#import "MyTabViewController.h"
#import "forgetPasswordViewController.h"
#import "ZXUserModel.h"
#import "ZXSections.h"
#import "ZXInformation.h"
@interface LoginView ()<UITextFieldDelegate>
@property (nonatomic, strong) LoginModel * loginModel;
@end
@implementation LoginView
- (void)dealloc{
[self removeNotificationAndKVO];
}
-(void)removeNotificationAndKVO{
[self.loginModel removeObserver:self forKeyPath:@"isLoaded"];
[self.loginModel removeObserver:self forKeyPath:@"error"];
}
-(void)registNotificationAndKVO{
[self.loginModel addObserver:self forKeyPath:@"isLoaded" options:NSKeyValueObservingOptionNew context:nil];
[self.loginModel addObserver:self forKeyPath:@"error" options:NSKeyValueObservingOptionNew context:nil];
}
-(void)observeValueForKeyPath:(NSString *)keyPath ofObject:(id)object change:(NSDictionary<NSKeyValueChangeKey,id> *)change context:(void *)context{
if (object == self.loginModel) {
if ([keyPath isEqualToString:@"isLoaded"]) {
//跳转复杂版
MyTabViewController * tabRoot = [[MyTabViewController alloc]init];
[UIApplication sharedApplication].keyWindow.rootViewController = tabRoot;
}
else{
}
}
}
- (void)viewDidLoad {
[super viewDidLoad];
[self setViews];
self.loginModel=[LoginModel new];
self.userTF.text = CacheAccount;
// self.passWorldTF.text = CachePassWord;
self.userTF.delegate=self;
self.passWorldTF.delegate=self;
[self registNotificationAndKVO];
}
-(void)viewWillAppear:(BOOL)animated{
[super viewWillAppear:animated];
self.navigationController.navigationBar.hidden = YES;
[[UIApplication sharedApplication].keyWindow endEditing:YES];
[[UIApplication sharedApplication] setStatusBarHidden:NO withAnimation:NO];
[ZXInformation clearTable];
[ZXSections clearTable];
[ZXTool hideLoadingAnimation];
}
-(void)setViews
{
_userTfBg.backgroundColor = [UIColor whiteColor];
_userTfBg.alpha = 0.5;
_userTfBg.layer.cornerRadius = 5.0;
_passWorldTFBg.backgroundColor = [UIColor whiteColor];
_passWorldTFBg.alpha = 0.5;
_passWorldTFBg.layer.cornerRadius = 5.0;
_userTF.attributedPlaceholder = [[NSAttributedString alloc] initWithString:@"输入您的手机号" attributes:@{NSForegroundColorAttributeName: [UIColor colorWithHexString:@"#d9a842"]}];
_passWorldTF.attributedPlaceholder = [[NSAttributedString alloc] initWithString:@"请输入6-20位密码" attributes:@{NSForegroundColorAttributeName:[UIColor colorWithHexString:@"#d9a842"]}];
_showBtn.imageView.image = [UIImage imageNamed:@"Not-show-icon---Assistor.png"];
[_confirmBtn setTitleColor:[UIColor colorWithHexString:@"#fed109"] forState:UIControlStateNormal];
_confirmBtn.layer.cornerRadius = 5.0;
}
-(BOOL)prefersStatusBarHidden{
return YES;
}
- (void)didReceiveMemoryWarning {
[super didReceiveMemoryWarning];
// Dispose of any resources that can be recreated.
}
- (IBAction)showBtnFuc:(id)sender {
_passWorldTF.secureTextEntry = !_passWorldTF.secureTextEntry;
// NSLog(@"===%zd",_passWorldTF.secureTextEntry);
if (_passWorldTF.secureTextEntry)
{
[_showBtn setImage:[UIImage imageNamed:@"Not-show-icon---Assistor.png"] forState:UIControlStateNormal];
} else {
[_showBtn setImage:[UIImage imageNamed:@"show.png"] forState:UIControlStateNormal];
}
}
- (IBAction)confirmBtnFuc:(id)sender {
[ZXSections clearTable];
[ZXInformation clearTable];
if (![BYHelp isMobileNumber:_userTF.text]) {
if ([_userTF.text length]==0) {
[SVProgressHUD showErrorWithStatus:@"请输入手机号"];
[_userTF becomeFirstResponder];
return;
}
[SVProgressHUD showErrorWithStatus:@"你输入的不是一个手机号"];
[_userTF becomeFirstResponder];
return;
}
if ([_passWorldTF.text length] <6)
{
if ([_passWorldTF.text length]==0) {
[SVProgressHUD showErrorWithStatus:@"密码还未填写哦!"];
[_passWorldTF becomeFirstResponder];
return;
}
[SVProgressHUD showErrorWithStatus:@"密码长度大于6位!"];
[_passWorldTF becomeFirstResponder];
return;
}
[[UIApplication sharedApplication].keyWindow endEditing:YES];
[SVProgressHUD showWithStatus:@"正在登录 ,请稍后 "];
//调用新街口登录
NSString *u = self.userTF.text;
NSString *p = self.passWorldTF.text;
[self startLoginByAccount:u password:p];
}
- (void) startLoginByAccount:(NSString *) accoun password:(NSString *) password {
NSString *token = [kUserDefaults valueForKey:@"token"];
if (token == nil) {
token = @"";
}
[ZXTool requestDataHideLoadingToastWithType:kXMHTTPMethodPOST url:[NSString stringWithFormat:@"%@/app/customer/login", [kUserDefaults objectForKey:@"NEW_PAY"]] para:@{@"loginAccount":accoun, @"password":password} completed:^(CommonModel *common, NSString *error) {
dispatch_async(dispatch_get_main_queue(), ^{
[SVProgressHUD dismiss];
if (error) {
[ZXTool showText:error];
} else {
ZXUserModel *user = [ZXUserModel mj_objectWithKeyValues:common.data];
[UserManager sharedUserManager].user = user;//单利存储
[ZXUserModel clearTable];
[user save];
[ZXTool saveUserInfo:user];
//跳转复杂版
MyTabViewController * tabRoot = [[MyTabViewController alloc]init];
[UIApplication sharedApplication].keyWindow.rootViewController = tabRoot;
}
});
}];
}
- (IBAction)registerBtnFuc:(id)sender {
UIViewController *vc = [[NSClassFromString(@"ZXRegistorViewController") alloc] init];
[self.navigationController pushViewController:vc animated:YES];
}
- (IBAction)forgotBtnFuc:(id)sender {
dispatch_after(dispatch_time(DISPATCH_TIME_NOW, (int64_t)(0.005 * NSEC_PER_SEC)), dispatch_get_main_queue(), ^{
forgetPasswordViewController * VC=[forgetPasswordViewController new];
self.navigationController.navigationBar.hidden = NO;
[self.navigationController pushViewController:VC animated:YES];
});
}
-(BOOL)textField:(UITextField *)textField shouldChangeCharactersInRange:(NSRange)range replacementString:(NSString *)string
{
NSLog(@"range:%@",NSStringFromRange(range));
if(textField==self.passWorldTF)
{//密码
if(range.location>=20||textField.text.length+string.length>20)
{
return NO;
}
else{return YES;
}
}
else if (textField==self.userTF)
{//手机
if(range.location>=11||textField.text.length+string.length>11)
{
return NO;
}
else{return YES;
}
}
else{
return YES;
}
}
@end
<?xml version="1.0" encoding="UTF-8"?>
++ /dev/null
<?xml version="1.0" encoding="UTF-8"?>
<document type="com.apple.InterfaceBuilder3.CocoaTouch.XIB" version="3.0" toolsVersion="14490.70" targetRuntime="iOS.CocoaTouch" propertyAccessControl="none" useAutolayout="YES" useTraitCollections="YES" colorMatched="YES">
<device id="retina4_7" orientation="portrait">
<adaptation id="fullscreen"/>
</device>
<dependencies>
<deployment identifier="iOS"/>
<plugIn identifier="com.apple.InterfaceBuilder.IBCocoaTouchPlugin" version="14490.49"/>
<capability name="documents saved in the Xcode 8 format" minToolsVersion="8.0"/>
</dependencies>
<objects>
<placeholder placeholderIdentifier="IBFilesOwner" id="-1" userLabel="File's Owner" customClass="LoginView">
<connections>
<outlet property="confirmBtn" destination="xKO-M5-6Ou" id="rb3-j8-fje"/>
<outlet property="passWorldTF" destination="jxV-Mk-kXg" id="yAo-4l-Mh8"/>
<outlet property="passWorldTFBg" destination="84U-ii-J11" id="zow-uL-uF0"/>
<outlet property="showBtn" destination="thH-aE-1G7" id="Pgu-WY-Zll"/>
<outlet property="userTF" destination="syy-cA-pli" id="ySi-jb-ZVQ"/>
<outlet property="userTfBg" destination="htt-vc-3yD" id="bFM-s5-kTd"/>
<outlet property="view" destination="i5M-Pr-FkT" id="sfx-zR-JGt"/>
</connections>
</placeholder>
<placeholder placeholderIdentifier="IBFirstResponder" id="-2" customClass="UIResponder"/>
<view clearsContextBeforeDrawing="NO" contentMode="scaleToFill" id="i5M-Pr-FkT">
<rect key="frame" x="0.0" y="0.0" width="375" height="667"/>
<autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/>
<subviews>
<imageView userInteractionEnabled="NO" contentMode="scaleToFill" horizontalHuggingPriority="251" verticalHuggingPriority="251" image="登录-ios" translatesAutoresizingMaskIntoConstraints="NO" id="m2f-G3-xDv">
<rect key="frame" x="0.0" y="0.0" width="375" height="647"/>
</imageView>
<view contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="cgV-yh-tF1">
<rect key="frame" x="49" y="235.5" width="277" height="196"/>
<subviews>
<view contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="htt-vc-3yD">
<rect key="frame" x="0.0" y="0.0" width="277" height="44"/>
<subviews>
<imageView userInteractionEnabled="NO" contentMode="scaleToFill" horizontalHuggingPriority="251" verticalHuggingPriority="251" image="user-icon---Assistor" translatesAutoresizingMaskIntoConstraints="NO" id="Kim-lv-vDN">
<rect key="frame" x="10" y="14" width="14" height="16"/>
<constraints>
<constraint firstAttribute="height" constant="16" id="bRo-hx-lZD"/>
<constraint firstAttribute="width" constant="14" id="ymy-AC-xAq"/>
</constraints>
</imageView>
<textField opaque="NO" clipsSubviews="YES" contentMode="scaleToFill" contentHorizontalAlignment="left" contentVerticalAlignment="center" textAlignment="natural" minimumFontSize="17" translatesAutoresizingMaskIntoConstraints="NO" id="syy-cA-pli">
<rect key="frame" x="34" y="0.0" width="193" height="44"/>
<nil key="textColor"/>
<fontDescription key="fontDescription" type="system" pointSize="15"/>
<textInputTraits key="textInputTraits" keyboardType="numberPad"/>
</textField>
</subviews>
<color key="backgroundColor" white="1" alpha="1" colorSpace="calibratedWhite"/>
<constraints>
<constraint firstItem="syy-cA-pli" firstAttribute="height" secondItem="htt-vc-3yD" secondAttribute="height" id="JCY-3O-a2i"/>
<constraint firstAttribute="trailing" secondItem="syy-cA-pli" secondAttribute="trailing" constant="50" id="SUY-Qe-R2o"/>
<constraint firstItem="Kim-lv-vDN" firstAttribute="centerY" secondItem="htt-vc-3yD" secondAttribute="centerY" id="Wau-si-G3c"/>
<constraint firstItem="syy-cA-pli" firstAttribute="centerY" secondItem="htt-vc-3yD" secondAttribute="centerY" id="b8K-j1-81R"/>
<constraint firstItem="Kim-lv-vDN" firstAttribute="leading" secondItem="htt-vc-3yD" secondAttribute="leading" constant="10" id="cW0-b0-c3k"/>
<constraint firstAttribute="height" constant="44" id="cno-dC-UjA"/>
<constraint firstItem="syy-cA-pli" firstAttribute="leading" secondItem="Kim-lv-vDN" secondAttribute="trailing" constant="10" id="mw2-aB-qsN"/>
</constraints>
</view>
<view contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="84U-ii-J11">
<rect key="frame" x="0.0" y="66" width="277" height="44"/>
<subviews>
<imageView userInteractionEnabled="NO" contentMode="scaleToFill" horizontalHuggingPriority="251" verticalHuggingPriority="251" image="Password-icon---Assistor" translatesAutoresizingMaskIntoConstraints="NO" id="O3o-ov-M4G">
<rect key="frame" x="10" y="14" width="14" height="16"/>
<constraints>
<constraint firstAttribute="width" constant="14" id="6dQ-Yy-CuB"/>
<constraint firstAttribute="height" constant="16" id="tHH-11-Vnt"/>
</constraints>
</imageView>
<textField opaque="NO" clipsSubviews="YES" contentMode="scaleToFill" contentHorizontalAlignment="left" contentVerticalAlignment="center" textAlignment="natural" minimumFontSize="17" translatesAutoresizingMaskIntoConstraints="NO" id="jxV-Mk-kXg">
<rect key="frame" x="34" y="0.0" width="193" height="44"/>
<nil key="textColor"/>
<fontDescription key="fontDescription" type="system" pointSize="15"/>
<textInputTraits key="textInputTraits" keyboardType="numbersAndPunctuation" secureTextEntry="YES"/>
</textField>
<button opaque="NO" contentMode="scaleToFill" contentHorizontalAlignment="center" contentVerticalAlignment="center" lineBreakMode="middleTruncation" translatesAutoresizingMaskIntoConstraints="NO" id="thH-aE-1G7">
<rect key="frame" x="218" y="0.0" width="40" height="44"/>
<constraints>
<constraint firstAttribute="width" constant="40" id="BdJ-ZM-kij"/>
</constraints>
<inset key="imageEdgeInsets" minX="20" minY="17" maxX="0.0" maxY="17"/>
<state key="normal" title="Button" image="Not-show-icon---Assistor"/>
<connections>
<action selector="showBtnFuc:" destination="-1" eventType="touchUpInside" id="zeH-am-oDH"/>
</connections>
</button>
</subviews>
<color key="backgroundColor" white="1" alpha="1" colorSpace="calibratedWhite"/>
<constraints>
<constraint firstItem="jxV-Mk-kXg" firstAttribute="height" secondItem="84U-ii-J11" secondAttribute="height" id="CfK-Le-Baa"/>
<constraint firstAttribute="trailing" secondItem="thH-aE-1G7" secondAttribute="trailing" constant="19" id="KEV-zj-o7J"/>
<constraint firstItem="O3o-ov-M4G" firstAttribute="centerY" secondItem="84U-ii-J11" secondAttribute="centerY" id="Q2O-gO-QcJ"/>
<constraint firstItem="thH-aE-1G7" firstAttribute="centerY" secondItem="84U-ii-J11" secondAttribute="centerY" id="bmQ-5W-mGk"/>
<constraint firstItem="jxV-Mk-kXg" firstAttribute="centerY" secondItem="84U-ii-J11" secondAttribute="centerY" id="icl-Ov-xHK"/>
<constraint firstItem="thH-aE-1G7" firstAttribute="height" secondItem="84U-ii-J11" secondAttribute="height" id="n32-4o-zt2"/>
<constraint firstAttribute="trailing" secondItem="jxV-Mk-kXg" secondAttribute="trailing" constant="50" id="th9-Nl-h7T"/>
<constraint firstItem="jxV-Mk-kXg" firstAttribute="leading" secondItem="O3o-ov-M4G" secondAttribute="trailing" constant="10" id="xNP-77-bwh"/>
<constraint firstItem="O3o-ov-M4G" firstAttribute="leading" secondItem="84U-ii-J11" secondAttribute="leading" constant="10" id="yHs-lI-jkC"/>
<constraint firstAttribute="height" constant="44" id="zpT-2w-ux2"/>
</constraints>
</view>
<button opaque="NO" contentMode="scaleToFill" contentHorizontalAlignment="center" contentVerticalAlignment="center" lineBreakMode="middleTruncation" translatesAutoresizingMaskIntoConstraints="NO" id="xKO-M5-6Ou">
<rect key="frame" x="0.0" y="152" width="277" height="44"/>
<color key="backgroundColor" red="0.93725490199999995" green="0.93725490199999995" blue="0.95686274510000002" alpha="1" colorSpace="calibratedRGB"/>
<constraints>
<constraint firstAttribute="height" relation="greaterThanOrEqual" constant="44" id="JdW-HK-yPc"/>
<constraint firstAttribute="height" constant="44" id="aMd-QM-LMa"/>
</constraints>
<fontDescription key="fontDescription" type="boldSystem" pointSize="18"/>
<state key="normal" title="登 录"/>
<connections>
<action selector="confirmBtnFuc:" destination="-1" eventType="touchUpInside" id="zoe-xE-oLH"/>
</connections>
</button>
</subviews>
<color key="backgroundColor" white="0.0" alpha="0.0" colorSpace="calibratedWhite"/>
<constraints>
<constraint firstItem="84U-ii-J11" firstAttribute="leading" secondItem="cgV-yh-tF1" secondAttribute="leading" id="1Ai-Zu-SJp"/>
<constraint firstAttribute="bottom" secondItem="xKO-M5-6Ou" secondAttribute="bottom" id="8Qh-Nj-vkp"/>
<constraint firstItem="htt-vc-3yD" firstAttribute="leading" secondItem="cgV-yh-tF1" secondAttribute="leading" id="JJX-1n-mSi"/>
<constraint firstAttribute="height" constant="196" id="NP9-xh-ZfR"/>
<constraint firstItem="xKO-M5-6Ou" firstAttribute="leading" secondItem="cgV-yh-tF1" secondAttribute="leading" id="aCb-wz-5E5"/>
<constraint firstItem="84U-ii-J11" firstAttribute="top" secondItem="htt-vc-3yD" secondAttribute="bottom" constant="22" id="awN-Jl-gtj"/>
<constraint firstAttribute="trailing" secondItem="84U-ii-J11" secondAttribute="trailing" id="dfh-3T-Wrw"/>
<constraint firstItem="htt-vc-3yD" firstAttribute="top" secondItem="cgV-yh-tF1" secondAttribute="top" id="qU8-WC-vJJ"/>
<constraint firstAttribute="trailing" secondItem="xKO-M5-6Ou" secondAttribute="trailing" id="tDP-jv-hUc"/>
<constraint firstAttribute="trailing" secondItem="htt-vc-3yD" secondAttribute="trailing" id="wtB-cI-lvy"/>
</constraints>
</view>
<button opaque="NO" contentMode="scaleToFill" contentHorizontalAlignment="left" contentVerticalAlignment="center" lineBreakMode="middleTruncation" translatesAutoresizingMaskIntoConstraints="NO" id="ksB-F0-ktP">
<rect key="frame" x="20" y="622" width="31" height="30"/>
<fontDescription key="fontDescription" type="system" pointSize="15"/>
<state key="normal" title="注册">
<color key="titleColor" white="0.0" alpha="1" colorSpace="calibratedWhite"/>
</state>
<connections>
<action selector="registerBtnFuc:" destination="-1" eventType="touchUpInside" id="Cc6-Wi-MkV"/>
</connections>
</button>
<button opaque="NO" contentMode="scaleToFill" contentHorizontalAlignment="right" contentVerticalAlignment="center" lineBreakMode="middleTruncation" translatesAutoresizingMaskIntoConstraints="NO" id="Vks-jh-w3G">
<rect key="frame" x="278" y="622" width="77" height="30"/>
<fontDescription key="fontDescription" type="system" pointSize="15"/>
<state key="normal" title="忘记密码?">
<color key="titleColor" red="1" green="0.16598153239999999" blue="0.0035276375139999998" alpha="1" colorSpace="calibratedRGB"/>
</state>
<connections>
<action selector="forgotBtnFuc:" destination="-1" eventType="touchUpInside" id="UeV-p4-ebp"/>
</connections>
</button>
</subviews>
<color key="backgroundColor" red="1" green="1" blue="1" alpha="1" colorSpace="custom" customColorSpace="sRGB"/>
<constraints>
<constraint firstAttribute="trailing" secondItem="cgV-yh-tF1" secondAttribute="trailing" constant="49" id="D2Z-3S-9H2"/>
<constraint firstAttribute="bottom" secondItem="Vks-jh-w3G" secondAttribute="bottom" constant="15" id="HCH-Wy-E3x"/>
<constraint firstAttribute="bottom" secondItem="m2f-G3-xDv" secondAttribute="bottom" constant="20" id="Odr-ga-EOJ"/>
<constraint firstAttribute="bottom" secondItem="ksB-F0-ktP" secondAttribute="bottom" constant="15" id="UQY-79-K2T"/>
<constraint firstItem="cgV-yh-tF1" firstAttribute="centerY" secondItem="i5M-Pr-FkT" secondAttribute="centerY" id="UkD-6A-UfG"/>
<constraint firstItem="m2f-G3-xDv" firstAttribute="top" secondItem="i5M-Pr-FkT" secondAttribute="top" id="Vgl-WD-RdO"/>
<constraint firstItem="m2f-G3-xDv" firstAttribute="leading" secondItem="i5M-Pr-FkT" secondAttribute="leading" id="Ypr-6y-wGT"/>
<constraint firstItem="ksB-F0-ktP" firstAttribute="leading" secondItem="i5M-Pr-FkT" secondAttribute="leading" constant="20" id="eUP-mb-wTT"/>
<constraint firstAttribute="trailing" secondItem="Vks-jh-w3G" secondAttribute="trailing" constant="20" id="g46-Bf-I42"/>
<constraint firstItem="cgV-yh-tF1" firstAttribute="leading" secondItem="i5M-Pr-FkT" secondAttribute="leading" constant="49" id="j4b-WT-L1j"/>
<constraint firstAttribute="trailing" secondItem="m2f-G3-xDv" secondAttribute="trailing" id="uTi-3P-1e8"/>
</constraints>
<nil key="simulatedStatusBarMetrics"/>
<point key="canvasLocation" x="27.5" y="59.5"/>
</view>
</objects>
<resources>
<image name="Not-show-icon---Assistor" width="39" height="17"/>
<image name="Password-icon---Assistor" width="28" height="33"/>
<image name="user-icon---Assistor" width="29" height="33"/>
<image name="登录-ios" width="750" height="1334"/>
</resources>
</document>
//
//
......@@ -107,6 +107,11 @@
}];
[[reciveCodeBtn rac_signalForControlEvents:UIControlEventTouchUpInside] subscribeNext:^(id x) {
if (![usernameField.text isEqualToString:@""]) {
if (![reciveCodeBtn.titleLabel.text isEqualToString:@"获取验证码"]) {
return ;
}
//开始获取验证码
NSString *url = [NSString stringWithFormat:@"%@/app/customer/phone/message?cellphone=%@&codeNum=6&businessNum=5",[kUserDefaults valueForKey:@"NEW_PAY"], usernameField.text];
[ZXTool requestDataWithType:kXMHTTPMethodGET url:url para:nil completed:^(CommonModel *common, NSString *error) {
......@@ -187,9 +192,9 @@
//得到当前时间
NSDate *nowData = [NSDate date];
NSDate *endData=[NSDate dateWithTimeIntervalSince1970:endTime];
NSCalendar* chineseClendar = [ [ NSCalendar alloc ] initWithCalendarIdentifier:NSGregorianCalendar];
NSCalendar* chineseClendar = [ [ NSCalendar alloc ] initWithCalendarIdentifier:NSCalendarIdentifierGregorian];
NSUInteger unitFlags =
NSHourCalendarUnit | NSMinuteCalendarUnit | NSSecondCalendarUnit | NSDayCalendarUnit | NSMonthCalendarUnit | NSYearCalendarUnit;
NSCalendarUnitHour | NSCalendarUnitMinute | NSCalendarUnitSecond | NSCalendarUnitDay | NSCalendarUnitMonth | NSCalendarUnitYear;
NSDateComponents *cps = [chineseClendar components:unitFlags fromDate:nowData toDate: endData options:0];
// NSInteger Hour = [cps hour];
// NSInteger Min = [cps minute];
......
//
//
......@@ -275,7 +275,9 @@
}];
// forgetPwdBtn.timeInterval = 1;
// registBtn.timeInterval = 1;
// registBtn.timeInterval = 1;
[loginBtn addTarget:self action:@selector(login:) forControlEvents:UIControlEventTouchDown];
[forgetPwdBtn addTarget:self action:@selector(forgetPwd) forControlEvents:UIControlEventTouchUpInside];
[registBtn addTarget:self action:@selector(regist) forControlEvents:UIControlEventTouchUpInside];
......
//
//
......@@ -455,6 +455,9 @@
[ZXTool showText:@"请输入手机号"];
return ;
}
if ([self.reciveCode.text containsString:@"重新"]) {
return;
}
[self reciveVioCode];
}];
......
//
//
......@@ -20,7 +20,6 @@
#import "ZXBannerJumpViewController.h"
#import "XMNetworking.h"
#import "LoginModel.h"
#import "LoginView.h"
#import "JDPAuthSDK.h"
#import "ZXMallViewController.h"
#import "NSString+MD5.h"
......
//
//
......@@ -32,6 +32,7 @@ static NSString * const ID = @"CollectionCell";
@property (weak, nonatomic) IBOutlet UILabel *naTItleLabel;
@property (weak, nonatomic) IBOutlet NSLayoutConstraint *topViewConstant;
@property (strong, nonatomic) IBOutlet UILabel *moneyLabel;
@property (strong, nonatomic) IBOutlet UIView *BeanBgView;
......@@ -60,6 +61,8 @@ static NSString * const ID = @"CollectionCell";
@property (nonatomic)FetchWalletTopUpDataModel * topUpDataModel;
@property (nonatomic, assign) BOOL isNeedOld;//是否需要调x老版本接口获取账户信息
/**
正常充
*/
......@@ -233,7 +236,11 @@ static NSString * const ID = @"CollectionCell";
[super viewDidLoad];
self.accountDataModel=[FetchAccoutDataModel new];
self.topUpDataModel= [FetchWalletTopUpDataModel new];
CGFloat h = 250;
if (iPhoneX) {
h += 22;
}
self.topViewConstant.constant = h;
enlargeClickRegionBtn *showAlertBtn = [[enlargeClickRegionBtn alloc] init];
[self.view addSubview:showAlertBtn];
......@@ -346,6 +353,7 @@ static NSString * const ID = @"CollectionCell";
-(void)viewWillAppear:(BOOL)animated {
[super viewWillAppear:animated];
confirmBtn.enabled = YES;
self.tabBarController.tabBar.hidden = YES;
self.navigationController.navigationBar.hidden = YES;
[self registNotificationAndKVO];
dispatch_after(dispatch_time(DISPATCH_TIME_NOW, (int64_t)(2 * NSEC_PER_SEC)), dispatch_get_main_queue(), ^{
......@@ -397,7 +405,7 @@ static NSString * const ID = @"CollectionCell";
} else {
[self.moneyArray addObject:item];
}
[beanCollectionView reloadData];
[self->beanCollectionView reloadData];
}
}
});
......
<?xml version="1.0" encoding="UTF-8"?>
<?xml version="1.0" encoding="UTF-8"?>
......@@ -21,6 +21,7 @@
<outlet property="sxLabel" destination="BUo-jT-9Dz" id="kQx-fg-fCF"/>
<outlet property="sxMoneyLabel" destination="wiK-uV-hbA" id="YJ6-of-CX0"/>
<outlet property="tableView" destination="NKH-73-rTA" id="EMz-WF-LZO"/>
<outlet property="topViewConstant" destination="b1X-5p-jFc" id="8uY-iw-DNf"/>
<outlet property="view" destination="i5M-Pr-FkT" id="sfx-zR-JGt"/>
</connections>
</placeholder>
......@@ -155,7 +156,7 @@
<constraint firstItem="VFn-Ry-Py4" firstAttribute="top" secondItem="i5M-Pr-FkT" secondAttribute="top" id="opI-sl-U7b"/>
<constraint firstAttribute="trailing" secondItem="NKH-73-rTA" secondAttribute="trailing" id="pT0-MJ-scw"/>
</constraints>
<point key="canvasLocation" x="-4631" y="-616"/>
<point key="canvasLocation" x="-5562" y="-609"/>
</view>
</objects>
<resources>
......
//
//
......@@ -8,7 +8,6 @@
#import "ZXSettingViewController.h"
#import "XMGFileTool.h"
#import "LoginView.h"
#import "updateViewController.h"
#import "AllowEequipCountLoginModel.h"
#import "LoginModel.h"
......
//
//
......@@ -8,7 +8,6 @@
#import "GetData.h"
#import <CommonCrypto/CommonDigest.h>
#import "LoginView.h"
#import "MyTabViewController.h"
#import "XMGNavigationViewController.h"
#import "LoginModel.h"
......
//
++ /dev/null
//
// ZXPopAnimationTool.h
// ColorfulSchool
//
// Created by 刘卓鑫 on 2019/8/23.
// Copyright © 2019 Colorful Any Door. All rights reserved.
//
#import <Foundation/Foundation.h>
#import "ZJAnimationPopView.h"
NS_ASSUME_NONNULL_BEGIN
@interface ZXPopAnimationTool : NSObject
/* 动态显示自定义弹窗视图
* showView 需要显示的自定义view
* 动画覆盖的view 默认是根window
* popStyle 动态弹出方式
* dismissStyle 淡出方式
* popComplete 显示完成回调
* dismissComplete 消失完成回调
*/
+ (ZJAnimationPopView *) showPopView:(UIView *) showView
fatherView:(UIView *) fatherView
popStyle:(ZJAnimationPopStyle) popStyle
dismissStyle:(ZJAnimationDismissStyle) dismissStyle
popComplete:(dispatch_block_t) popComplete
dismissComplete:(dispatch_block_t) dismissComplete;
@end
NS_ASSUME_NONNULL_END
//
++ /dev/null
//
// ZXPopAnimationTool.m
// ColorfulSchool
//
// Created by 刘卓鑫 on 2019/8/23.
// Copyright © 2019 Colorful Any Door. All rights reserved.
//
#import "ZXPopAnimationTool.h"
@implementation ZXPopAnimationTool
+ (ZJAnimationPopView *) showPopView:(UIView *) showView
fatherView:(UIView *) fatherView
popStyle:(ZJAnimationPopStyle) popStyle
dismissStyle:(ZJAnimationDismissStyle) dismissStyle
popComplete:(dispatch_block_t) popComplete
dismissComplete:(dispatch_block_t) dismissComplete {
ZJAnimationPopView *popView = [[ZJAnimationPopView alloc] initWithCustomView:showView popStyle:popStyle dismissStyle:dismissStyle];
popView.fatherView = fatherView;
popView.isClickBGDismiss = YES;
popView.popBGAlpha = 0.5f;
popView.isObserverOrientationChange = YES;
popView.popComplete = popComplete;
popView.dismissComplete = dismissComplete;
//显示
[popView pop];
return popView;
}
@end
//
++ /dev/null
//
// ZJAnimationPopView.h
// ZJAnimationPopView <https://github.com/Abnerzj/ZJAnimationPopView>
//
// Created by Abnerzj on 2017/8/12.
// Copyright © 2017年 Abnerzj. All rights reserved.
//
// This source code is licensed under the MIT-style license found in the
// LICENSE file in the root directory of this source tree.
//
#import <UIKit/UIKit.h>
/**
显示时动画弹框样式
*/
typedef NS_ENUM(NSInteger, ZJAnimationPopStyle) {
ZJAnimationPopStyleNO = 0, ///< 无动画
ZJAnimationPopStyleScale, ///< 缩放动画,先放大,后恢复至原大小
ZJAnimationPopStyleShakeFromTop, ///< 从顶部掉下到中间晃动动画
ZJAnimationPopStyleShakeFromBottom, ///< 从底部往上到中间晃动动画
ZJAnimationPopStyleShakeFromLeft, ///< 从左侧往右到中间晃动动画
ZJAnimationPopStyleShakeFromRight, ///< 从右侧往左到中间晃动动画
ZJAnimationPopStyleCardDropFromLeft, ///< 卡片从顶部左侧开始掉落动画
ZJAnimationPopStyleCardDropFromRight, ///< 卡片从顶部右侧开始掉落动画
ZJAnimationPopStyleLineFromBottom, ///< 平滑线性从底部推出来动画
};
/**
移除时动画弹框样式
*/
typedef NS_ENUM(NSInteger, ZJAnimationDismissStyle) {
ZJAnimationDismissStyleNO = 0, ///< 无动画
ZJAnimationDismissStyleScale, ///< 缩放动画
ZJAnimationDismissStyleDropToTop, ///< 从中间直接掉落到顶部
ZJAnimationDismissStyleDropToBottom, ///< 从中间直接掉落到底部
ZJAnimationDismissStyleDropToLeft, ///< 从中间直接掉落到左侧
ZJAnimationDismissStyleDropToRight, ///< 从中间直接掉落到右侧
ZJAnimationDismissStyleCardDropToLeft, ///< 卡片从中间往左侧掉落
ZJAnimationDismissStyleCardDropToRight, ///< 卡片从中间往右侧掉落
ZJAnimationDismissStyleCardDropToTop, ///< 卡片从中间往顶部移动消失
ZJAnimationDismissStyleLineToBottom, ///< 平滑线性掉落到底部动画
};
@interface ZJAnimationPopView : UIView
/** 显示时点击背景是否移除弹框,默认为NO。 */
@property (nonatomic) BOOL isClickBGDismiss;
/** 显示时是否监听屏幕旋转,默认为NO */
@property (nonatomic) BOOL isObserverOrientationChange;
/** 显示时背景的透明度,取值(0.0~1.0),默认为0.5 */
@property (nonatomic) CGFloat popBGAlpha;
/** fatherview */
@property (nonatomic, weak) UIView *fatherView;
/// 动画相关属性参数
/** 显示时动画时长,>= 0。不设置则使用默认的动画时长 */
@property (nonatomic) CGFloat popAnimationDuration;
/** 隐藏时动画时长,>= 0。不设置则使用默认的动画时长 */
@property (nonatomic) CGFloat dismissAnimationDuration;
/** 显示完成回调 */
@property (nullable, nonatomic, copy) void(^popComplete)(void);
/** 移除完成回调 */
@property (nullable, nonatomic, copy) void(^dismissComplete)(void);
/**
通过自定义视图来构造弹框视图
@param customView 自定义视图
*/
- (nullable instancetype)initWithCustomView:(UIView *_Nonnull)customView
popStyle:(ZJAnimationPopStyle)popStyle
dismissStyle:(ZJAnimationDismissStyle)dismissStyle;
/**
显示弹框
*/
- (void)pop;
/**
移除弹框
*/
- (void)dismiss;
@end
//
++ /dev/null
//
// ZJAnimationPopView.m
// ZJAnimationPopView <https://github.com/Abnerzj/ZJAnimationPopView>
//
// Created by Abnerzj on 2017/8/12.
// Copyright © 2017年 Abnerzj. All rights reserved.
//
// This source code is licensed under the MIT-style license found in the
// LICENSE file in the root directory of this source tree.
//
#import "ZJAnimationPopView.h"
// 角度转弧度
#define DEGREES_TO_RADIANS(angle) ((angle) / 180.0 * M_PI)
@interface ZJAnimationPopView ()<UIGestureRecognizerDelegate>
/** 内容视图 */
@property (nonatomic, strong) UIView *contentView;
/** 背景层 */
@property (nonatomic, strong) UIView *backgroundView;
/** 自定义视图 */
@property (nonatomic, strong) UIView *customView;
/** 显示时动画弹框样式 */
@property (nonatomic) ZJAnimationPopStyle animationPopStyle;
/** 移除时动画弹框样式 */
@property (nonatomic) ZJAnimationDismissStyle animationDismissStyle;
/** 显示时背景是否透明,透明度是否为<= 0,默认为NO */
@property (nonatomic) BOOL isTransparent;
@end
@implementation ZJAnimationPopView
- (nullable instancetype)initWithCustomView:(UIView *_Nonnull)customView
popStyle:(ZJAnimationPopStyle)popStyle
dismissStyle:(ZJAnimationDismissStyle)dismissStyle
{
// 检测自定义视图是否存在(check customView is exist)
if (!customView) {
return nil;
}
self = [super init];
if (self) {
_isClickBGDismiss = NO;
_isObserverOrientationChange = NO;
_popBGAlpha = 0.5f;
_isTransparent = NO;
_customView = customView;
_animationPopStyle = popStyle;
_animationDismissStyle = dismissStyle;
_popAnimationDuration = -0.1f;
_dismissAnimationDuration = -0.1f;
self.backgroundColor = [UIColor clearColor];
self.frame = CGRectMake(0, 0, [[UIScreen mainScreen] bounds].size.width, [[UIScreen mainScreen] bounds].size.height);
_backgroundView = [[UIView alloc] initWithFrame:self.bounds];
_backgroundView.backgroundColor = [UIColor blackColor];
_backgroundView.alpha = 0.0f;
[self addSubview:_backgroundView];
_contentView = [[UIView alloc] initWithFrame:self.bounds];
_contentView.backgroundColor = [UIColor clearColor];
[self addSubview:_contentView];
UITapGestureRecognizer *tap = [[UITapGestureRecognizer alloc] initWithTarget:self action:@selector(tapBGLayer:)];
tap.delegate = self;
[_contentView addGestureRecognizer:tap];
customView.center = _contentView.center;
[_contentView addSubview:customView];
}
return self;
}
- (void)setIsObserverOrientationChange:(BOOL)isObserverOrientationChange
{
_isObserverOrientationChange = isObserverOrientationChange;
if (_isObserverOrientationChange) {
[[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(statusBarOrientationChange:) name:UIApplicationDidChangeStatusBarOrientationNotification object:nil];
}
}
- (void)setPopBGAlpha:(CGFloat)popBGAlpha
{
_popBGAlpha = (popBGAlpha <= 0.0f) ? 0.0f : ((popBGAlpha > 1.0) ? 1.0 : popBGAlpha);
_isTransparent = (_popBGAlpha == 0.0f);
}
#pragma mark 点击背景(Click background)
- (void)tapBGLayer:(UITapGestureRecognizer *)tap
{
if (_isClickBGDismiss) {
[self dismiss];
}
}
#pragma mark UIGestureRecognizer Delegate
- (BOOL)gestureRecognizer:(UIGestureRecognizer *)gestureRecognizer shouldReceiveTouch:(UITouch *)touch
{
CGPoint location = [touch locationInView:_contentView];
location = [_customView.layer convertPoint:location fromLayer:_contentView.layer];
return ![_customView.layer containsPoint:location];
}
- (void)pop
{
if (self.fatherView) {
[self.fatherView addSubview:self];
} else {
[[UIApplication sharedApplication].keyWindow addSubview:self];
}
__weak typeof(self) ws = self;
NSTimeInterval defaultDuration = [self getPopDefaultDuration:self.animationPopStyle];
NSTimeInterval duration = (_popAnimationDuration < 0.0f) ? defaultDuration : _popAnimationDuration;
if (self.animationPopStyle == ZJAnimationPopStyleNO) {
self.alpha = 0.0;
if (self.isTransparent) {
self.backgroundView.backgroundColor = [UIColor clearColor];
} else {
self.backgroundView.alpha = 0.0;
}
[UIView animateWithDuration:duration animations:^{
ws.alpha = 1.0;
if (!ws.isTransparent) {
ws.backgroundView.alpha = ws.popBGAlpha;
}
}];
} else {
if (ws.isTransparent) {
self.backgroundView.backgroundColor = [UIColor clearColor];
} else {
self.backgroundView.alpha = 0.0;
[UIView animateWithDuration:duration * 0.5 animations:^{
ws.backgroundView.alpha = ws.popBGAlpha;
}];
}
[self hanlePopAnimationWithDuration:duration];
}
dispatch_after(dispatch_time(DISPATCH_TIME_NOW, (int64_t)(duration * NSEC_PER_SEC)), dispatch_get_main_queue(), ^{
if (ws.popComplete) {
ws.popComplete();
}
});
}
- (void)dismiss
{
__weak typeof(self) ws = self;
NSTimeInterval defaultDuration = [self getDismissDefaultDuration:self.animationDismissStyle];
NSTimeInterval duration = (_dismissAnimationDuration < 0.0f) ? defaultDuration : _dismissAnimationDuration;
if (self.animationDismissStyle == ZJAnimationPopStyleNO) {
[UIView animateWithDuration:duration animations:^{
ws.alpha = 0.0;
ws.backgroundView.alpha = 0.0;
}];
} else {
if (!ws.isTransparent) {
[UIView animateWithDuration:duration * 0.5 animations:^{
ws.backgroundView.alpha = 0.0;
}];
}
[self hanleDismissAnimationWithDuration:duration];
}
if (ws.isObserverOrientationChange) {
[[NSNotificationCenter defaultCenter] removeObserver:self name:UIApplicationDidChangeStatusBarOrientationNotification object:nil];
}
dispatch_after(dispatch_time(DISPATCH_TIME_NOW, (int64_t)(duration * NSEC_PER_SEC)), dispatch_get_main_queue(), ^{
if (ws.dismissComplete) {
ws.dismissComplete();
}
[ws removeFromSuperview];
});
// Immediately respond to other places with animated dismiss
self.frame = CGRectZero;
}
- (void)hanlePopAnimationWithDuration:(NSTimeInterval)duration
{
__weak typeof(self) ws = self;
switch (self.animationPopStyle) {
case ZJAnimationPopStyleScale:
{
[self animationWithLayer:self.contentView.layer duration:duration values:@[@0.0, @1.2, @1.0]]; // 另外一组动画值(the other animation values) @[@0.0, @1.2, @0.9, @1.0]
}
break;
case ZJAnimationPopStyleShakeFromTop:
case ZJAnimationPopStyleShakeFromBottom:
case ZJAnimationPopStyleShakeFromLeft:
case ZJAnimationPopStyleShakeFromRight:
{
CGPoint startPosition = self.contentView.layer.position;
if (self.animationPopStyle == ZJAnimationPopStyleShakeFromTop) {
self.contentView.layer.position = CGPointMake(startPosition.x, -startPosition.y);
} else if (self.animationPopStyle == ZJAnimationPopStyleShakeFromBottom) {
self.contentView.layer.position = CGPointMake(startPosition.x, CGRectGetMaxY(self.frame) + startPosition.y);
} else if (self.animationPopStyle == ZJAnimationPopStyleShakeFromLeft) {
self.contentView.layer.position = CGPointMake(-startPosition.x, startPosition.y);
} else {
self.contentView.layer.position = CGPointMake(CGRectGetMaxX(self.frame) + startPosition.x, startPosition.y);
}
[UIView animateWithDuration:duration delay:0 usingSpringWithDamping:0.6 initialSpringVelocity:1.0 options:UIViewAnimationOptionCurveEaseIn animations:^{
ws.contentView.layer.position = startPosition;
} completion:nil];
}
break;
case ZJAnimationPopStyleCardDropFromLeft:
case ZJAnimationPopStyleCardDropFromRight:
{
CGPoint startPosition = self.contentView.layer.position;
if (self.animationPopStyle == ZJAnimationPopStyleCardDropFromLeft) {
self.contentView.layer.position = CGPointMake(startPosition.x * 1.0, -startPosition.y);
self.contentView.transform = CGAffineTransformMakeRotation(DEGREES_TO_RADIANS(15.0));
} else {
self.contentView.layer.position = CGPointMake(startPosition.x * 1.0, -startPosition.y);
self.contentView.transform = CGAffineTransformMakeRotation(DEGREES_TO_RADIANS(-15.0));
}
[UIView animateWithDuration:duration delay:0 usingSpringWithDamping:0.75 initialSpringVelocity:1.0 options:UIViewAnimationOptionCurveEaseIn animations:^{
ws.contentView.layer.position = startPosition;
} completion:nil];
[UIView animateWithDuration:duration*0.6 animations:^{
ws.contentView.layer.transform = CATransform3DMakeRotation(DEGREES_TO_RADIANS((ws.animationPopStyle == ZJAnimationPopStyleCardDropFromRight) ? 5.5 : -5.5), 0, 0, 0);
} completion:^(BOOL finished) {
[UIView animateWithDuration:duration*0.2 animations:^{
ws.contentView.transform = CGAffineTransformMakeRotation(DEGREES_TO_RADIANS((ws.animationPopStyle == ZJAnimationPopStyleCardDropFromRight) ? -1.0 : 1.0));
} completion:^(BOOL finished) {
[UIView animateWithDuration:duration*0.2 animations:^{
ws.contentView.transform = CGAffineTransformMakeRotation(0.0);
} completion:nil];
}];
}];
}
break;
case ZJAnimationPopStyleLineFromBottom:
{
CGPoint startPosition = self.contentView.layer.position;
CGFloat customViewY = CGRectGetMaxY(self.frame) - self.customView.frame.size.height;
CGFloat customViewCenterY = customViewY + self.customView.frame.size.height * 0.5;
CGPoint endPosition = CGPointMake(startPosition.x, customViewCenterY);
self.contentView.layer.position = CGPointMake(startPosition.x, CGRectGetMaxY(self.frame) + startPosition.y);
[UIView animateWithDuration:duration animations:^{
ws.contentView.layer.position = endPosition;
}];
}
break;
default:
break;
}
}
- (void)hanleDismissAnimationWithDuration:(NSTimeInterval)duration
{
__weak typeof(self) ws = self;
switch (self.animationDismissStyle) {
case ZJAnimationDismissStyleScale:
{
[self animationWithLayer:self.contentView.layer duration:duration values:@[@1.0, @0.66, @0.33, @0.01]];
}
break;
case ZJAnimationDismissStyleDropToTop:
case ZJAnimationDismissStyleDropToBottom:
case ZJAnimationDismissStyleDropToLeft:
case ZJAnimationDismissStyleDropToRight:
{
CGPoint startPosition = self.contentView.layer.position;
CGPoint endPosition = self.contentView.layer.position;
if (self.animationDismissStyle == ZJAnimationDismissStyleDropToTop) {
endPosition = CGPointMake(startPosition.x, -startPosition.y);
} else if (self.animationDismissStyle == ZJAnimationDismissStyleDropToBottom) {
endPosition = CGPointMake(startPosition.x, CGRectGetMaxY(self.frame) + startPosition.y);
} else if (self.animationDismissStyle == ZJAnimationDismissStyleDropToLeft) {
endPosition = CGPointMake(-startPosition.x, startPosition.y);
} else {
endPosition = CGPointMake(CGRectGetMaxX(self.frame) + startPosition.x, startPosition.y);
}
[UIView animateWithDuration:duration delay:0 usingSpringWithDamping:0.5 initialSpringVelocity:1.0 options:UIViewAnimationOptionCurveEaseIn animations:^{
ws.contentView.layer.position = endPosition;
} completion:nil];
}
break;
case ZJAnimationDismissStyleCardDropToLeft:
case ZJAnimationDismissStyleCardDropToRight:
{
CGPoint startPosition = self.contentView.layer.position;
BOOL isLandscape = UIInterfaceOrientationIsLandscape([UIApplication sharedApplication].statusBarOrientation);
__block CGFloat rotateEndY = 0.0f;
[UIView animateWithDuration:duration delay:0 usingSpringWithDamping:0.5 initialSpringVelocity:1.0 options:UIViewAnimationOptionCurveEaseIn animations:^{
if (self.animationDismissStyle == ZJAnimationDismissStyleCardDropToLeft) {
ws.contentView.transform = CGAffineTransformMakeRotation(M_1_PI * 0.75);
if (isLandscape) rotateEndY = fabs(ws.contentView.frame.origin.y);
ws.contentView.layer.position = CGPointMake(startPosition.x, CGRectGetMaxY(ws.frame) + startPosition.y + rotateEndY);
} else {
ws.contentView.transform = CGAffineTransformMakeRotation(-M_1_PI * 0.75);
if (isLandscape) rotateEndY = fabs(ws.contentView.frame.origin.y);
ws.contentView.layer.position = CGPointMake(startPosition.x * 1.25, CGRectGetMaxY(ws.frame) + startPosition.y + rotateEndY);
}
} completion:nil];
}
break;
case ZJAnimationDismissStyleCardDropToTop:
{
CGPoint startPosition = self.contentView.layer.position;
CGPoint endPosition = CGPointMake(startPosition.x, -startPosition.y);
[UIView animateWithDuration:duration*0.2 animations:^{
ws.contentView.layer.position = CGPointMake(startPosition.x, startPosition.y + 50.0f);
} completion:^(BOOL finished) {
[UIView animateWithDuration:duration*0.8 animations:^{
ws.contentView.layer.position = endPosition;
} completion:nil];
}];
}
break;
case ZJAnimationDismissStyleLineToBottom:
{
CGPoint startPosition = self.contentView.layer.position;
CGPoint endPosition = CGPointMake(startPosition.x, CGRectGetMaxY(self.frame) + startPosition.y);
[UIView animateWithDuration:duration animations:^{
ws.contentView.layer.position = endPosition;
}];
}
break;
default:
break;
}
}
- (NSTimeInterval)getPopDefaultDuration:(ZJAnimationPopStyle)animationPopStyle
{
NSTimeInterval defaultDuration = 0.0f;
if (animationPopStyle == ZJAnimationPopStyleNO) {
defaultDuration = 0.2f;
} else if (animationPopStyle == ZJAnimationPopStyleScale ||
animationPopStyle == ZJAnimationPopStyleLineFromBottom) {
defaultDuration = 0.3f;
} else if (animationPopStyle == ZJAnimationPopStyleShakeFromTop ||
animationPopStyle == ZJAnimationPopStyleShakeFromBottom ||
animationPopStyle == ZJAnimationPopStyleShakeFromLeft ||
animationPopStyle == ZJAnimationPopStyleShakeFromRight ||
animationPopStyle == ZJAnimationPopStyleCardDropFromLeft ||
animationPopStyle == ZJAnimationPopStyleCardDropFromRight) {
defaultDuration = 0.8f;
}
return defaultDuration;
}
- (NSTimeInterval)getDismissDefaultDuration:(ZJAnimationDismissStyle)animationDismissStyle
{
NSTimeInterval defaultDuration = 0.0f;
if (animationDismissStyle == ZJAnimationDismissStyleNO ||
animationDismissStyle == ZJAnimationDismissStyleScale) {
defaultDuration = 0.2f;
} else if (animationDismissStyle == ZJAnimationDismissStyleLineToBottom) {
defaultDuration = 0.3f;
} else if (animationDismissStyle == ZJAnimationDismissStyleDropToTop ||
animationDismissStyle == ZJAnimationDismissStyleDropToBottom ||
animationDismissStyle == ZJAnimationDismissStyleDropToLeft ||
animationDismissStyle == ZJAnimationDismissStyleDropToRight ||
animationDismissStyle == ZJAnimationDismissStyleCardDropToLeft ||
animationDismissStyle == ZJAnimationDismissStyleCardDropToRight ||
animationDismissStyle == ZJAnimationDismissStyleCardDropToTop) {
defaultDuration = 0.8f;
}
return defaultDuration;
}
- (void)animationWithLayer:(CALayer *)layer duration:(CGFloat)duration values:(NSArray *)values
{
CAKeyframeAnimation *KFAnimation = [CAKeyframeAnimation animationWithKeyPath:@"transform"];
KFAnimation.duration = duration;
KFAnimation.removedOnCompletion = NO;
KFAnimation.fillMode = kCAFillModeForwards;
NSMutableArray *valueArr = [NSMutableArray arrayWithCapacity:values.count];
for (NSUInteger i = 0; i<values.count; i++) {
CGFloat scaleValue = [values[i] floatValue];
[valueArr addObject:[NSValue valueWithCATransform3D:CATransform3DMakeScale(scaleValue, scaleValue, scaleValue)]];
}
KFAnimation.values = valueArr;
KFAnimation.timingFunction = [CAMediaTimingFunction functionWithName:kCAMediaTimingFunctionEaseIn];
[layer addAnimation:KFAnimation forKey:nil];
}
#pragma mark 监听横竖屏方向改变
- (void)statusBarOrientationChange:(NSNotification *)notification
{
CGRect startCustomViewRect = self.customView.frame;
self.frame = CGRectMake(0, 0, [[UIScreen mainScreen] bounds].size.width, [[UIScreen mainScreen] bounds].size.height);
self.backgroundView.frame = self.bounds;
self.contentView.frame = self.bounds;
self.customView.frame = startCustomViewRect;
self.customView.center = self.center;
}
@end
......@@ -17,7 +17,7 @@
<key>CFBundlePackageType</key>
<string>APPL</string>
<key>CFBundleShortVersionString</key>
<string>3.8.6</string>
<string>3.8.8</string>
<key>CFBundleURLTypes</key>
<array>
<dict>
......@@ -440,7 +440,7 @@
</dict>
</array>
<key>CFBundleVersion</key>
<string>1.2</string>
<string>1.0</string>
<key>LSApplicationQueriesSchemes</key>
<array>
<string>jdlogin</string>
......
......@@ -35,7 +35,7 @@
#import "UIImageView+WebCache.h"//网络图片处理
#import "ExpecptionModel.h"
#import "GetData.h"//获取数据
//#import "UIControl+repeatedClick.h"
#import "AppDelegate.h"
#import "Masonry.h"
#import "ZXJTJYViewController.h"
......@@ -52,7 +52,7 @@
#import <MJExtension.h>
#import "ZXCustomAdView.h"
#import "ZXScannerViewController.h"
#import "ZXPopAnimationTool.h"
#define APPversion [[NSBundle mainBundle] infoDictionary][@"CFBundleShortVersionString"]
#define kWidth [UIScreen mainScreen].bounds.size.width //屏幕宽度
#define kHeight [UIScreen mainScreen].bounds.size.height//屏幕高度
......
platform :ios, '8.0'
#use_frameworks!个别需要用到它,比如reactiveCocoa
inhibit_all_warnings!
target 'ColorfulSchool' do
pod 'SDWebImage', '~>3.8'
pod 'MJExtension'
......
......@@ -159,6 +159,6 @@ SPEC CHECKSUMS:
SVProgressHUD: 1428aafac632c1f86f62aa4243ec12008d7a51d6
XRCarouselView: d3f949d1601e7de51604cdabd6e2f35a770e0f99
PODFILE CHECKSUM: f205566b0291bc4c55751796d8fab5ab6edb83fd
PODFILE CHECKSUM: 3a8bfba3bf95c1db909001d7cff56024a71a4e23
COCOAPODS: 1.7.5
......@@ -159,6 +159,6 @@ SPEC CHECKSUMS:
SVProgressHUD: 1428aafac632c1f86f62aa4243ec12008d7a51d6
XRCarouselView: d3f949d1601e7de51604cdabd6e2f35a770e0f99
PODFILE CHECKSUM: f205566b0291bc4c55751796d8fab5ab6edb83fd
PODFILE CHECKSUM: 3a8bfba3bf95c1db909001d7cff56024a71a4e23
COCOAPODS: 1.7.5
This source diff could not be displayed because it is too large. You can view the blob instead.
......@@ -2,6 +2,7 @@ FRAMEWORK_SEARCH_PATHS = $(inherited) "${PODS_ROOT}/Bugly"
GCC_PREPROCESSOR_DEFINITIONS = $(inherited) COCOAPODS=1
HEADER_SEARCH_PATHS = $(inherited) "${PODS_ROOT}/Headers/Public" "${PODS_ROOT}/Headers/Public/AFNetworking" "${PODS_ROOT}/Headers/Public/DTCoreText" "${PODS_ROOT}/Headers/Public/DTFoundation" "${PODS_ROOT}/Headers/Public/FMDB" "${PODS_ROOT}/Headers/Public/GDTMobSDK" "${PODS_ROOT}/Headers/Public/HappyDNS" "${PODS_ROOT}/Headers/Public/IQKeyboardManager" "${PODS_ROOT}/Headers/Public/JJException" "${PODS_ROOT}/Headers/Public/JPush" "${PODS_ROOT}/Headers/Public/JXCategoryView" "${PODS_ROOT}/Headers/Public/MJExtension" "${PODS_ROOT}/Headers/Public/MJRefresh" "${PODS_ROOT}/Headers/Public/Masonry" "${PODS_ROOT}/Headers/Public/Qiniu" "${PODS_ROOT}/Headers/Public/ReactiveCocoa" "${PODS_ROOT}/Headers/Public/SDWebImage" "${PODS_ROOT}/Headers/Public/SVProgressHUD" "${PODS_ROOT}/Headers/Public/XRCarouselView" "$(SDKROOT)/usr/include/libxml2" $(SDKROOT)/usr/include/libxml2
LIBRARY_SEARCH_PATHS = $(inherited) "${PODS_CONFIGURATION_BUILD_DIR}/AFNetworking" "${PODS_CONFIGURATION_BUILD_DIR}/DTCoreText" "${PODS_CONFIGURATION_BUILD_DIR}/DTFoundation" "${PODS_CONFIGURATION_BUILD_DIR}/FMDB" "${PODS_CONFIGURATION_BUILD_DIR}/HappyDNS" "${PODS_CONFIGURATION_BUILD_DIR}/IQKeyboardManager" "${PODS_CONFIGURATION_BUILD_DIR}/JJException" "${PODS_CONFIGURATION_BUILD_DIR}/JXCategoryView" "${PODS_CONFIGURATION_BUILD_DIR}/MJExtension" "${PODS_CONFIGURATION_BUILD_DIR}/MJRefresh" "${PODS_CONFIGURATION_BUILD_DIR}/Masonry" "${PODS_CONFIGURATION_BUILD_DIR}/Qiniu" "${PODS_CONFIGURATION_BUILD_DIR}/ReactiveCocoa" "${PODS_CONFIGURATION_BUILD_DIR}/SDWebImage" "${PODS_CONFIGURATION_BUILD_DIR}/SVProgressHUD" "${PODS_CONFIGURATION_BUILD_DIR}/XRCarouselView" "${PODS_ROOT}/GDTMobSDK/lib" "${PODS_ROOT}/JCore" "${PODS_ROOT}/JPush"
OTHER_CFLAGS = $(inherited) -isystem "${PODS_ROOT}/Headers/Public" -isystem "${PODS_ROOT}/Headers/Public/AFNetworking" -isystem "${PODS_ROOT}/Headers/Public/DTCoreText" -isystem "${PODS_ROOT}/Headers/Public/DTFoundation" -isystem "${PODS_ROOT}/Headers/Public/FMDB" -isystem "${PODS_ROOT}/Headers/Public/GDTMobSDK" -isystem "${PODS_ROOT}/Headers/Public/HappyDNS" -isystem "${PODS_ROOT}/Headers/Public/IQKeyboardManager" -isystem "${PODS_ROOT}/Headers/Public/JJException" -isystem "${PODS_ROOT}/Headers/Public/JPush" -isystem "${PODS_ROOT}/Headers/Public/JXCategoryView" -isystem "${PODS_ROOT}/Headers/Public/MJExtension" -isystem "${PODS_ROOT}/Headers/Public/MJRefresh" -isystem "${PODS_ROOT}/Headers/Public/Masonry" -isystem "${PODS_ROOT}/Headers/Public/Qiniu" -isystem "${PODS_ROOT}/Headers/Public/ReactiveCocoa" -isystem "${PODS_ROOT}/Headers/Public/SDWebImage" -isystem "${PODS_ROOT}/Headers/Public/SVProgressHUD" -isystem "${PODS_ROOT}/Headers/Public/XRCarouselView" -iframework "${PODS_ROOT}/Bugly"
OTHER_LDFLAGS = $(inherited) -ObjC -l"AFNetworking" -l"DTCoreText" -l"DTFoundation" -l"FMDB" -l"GDTMobSDK" -l"HappyDNS" -l"IQKeyboardManager" -l"JJException" -l"JXCategoryView" -l"MJExtension" -l"MJRefresh" -l"Masonry" -l"Qiniu" -l"ReactiveCocoa" -l"SDWebImage" -l"SVProgressHUD" -l"XRCarouselView" -l"c++" -l"jcore-ios-2.1.1" -l"jpush-ios-3.2.2" -l"resolv" -l"sqlite3" -l"xml2" -l"z" -framework "AVFoundation" -framework "AdSupport" -framework "Bugly" -framework "CFNetwork" -framework "CoreFoundation" -framework "CoreGraphics" -framework "CoreLocation" -framework "CoreTelephony" -framework "CoreText" -framework "Foundation" -framework "ImageIO" -framework "MediaPlayer" -framework "MobileCoreServices" -framework "QuartzCore" -framework "Security" -framework "StoreKit" -framework "SystemConfiguration" -framework "UIKit" -weak_framework "UserNotifications" -weak_framework "WebKit"
PODS_BUILD_DIR = ${BUILD_DIR}
PODS_CONFIGURATION_BUILD_DIR = ${PODS_BUILD_DIR}/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME)
......
......@@ -2,6 +2,7 @@ FRAMEWORK_SEARCH_PATHS = $(inherited) "${PODS_ROOT}/Bugly"
GCC_PREPROCESSOR_DEFINITIONS = $(inherited) COCOAPODS=1
HEADER_SEARCH_PATHS = $(inherited) "${PODS_ROOT}/Headers/Public" "${PODS_ROOT}/Headers/Public/AFNetworking" "${PODS_ROOT}/Headers/Public/DTCoreText" "${PODS_ROOT}/Headers/Public/DTFoundation" "${PODS_ROOT}/Headers/Public/FMDB" "${PODS_ROOT}/Headers/Public/GDTMobSDK" "${PODS_ROOT}/Headers/Public/HappyDNS" "${PODS_ROOT}/Headers/Public/IQKeyboardManager" "${PODS_ROOT}/Headers/Public/JJException" "${PODS_ROOT}/Headers/Public/JPush" "${PODS_ROOT}/Headers/Public/JXCategoryView" "${PODS_ROOT}/Headers/Public/MJExtension" "${PODS_ROOT}/Headers/Public/MJRefresh" "${PODS_ROOT}/Headers/Public/Masonry" "${PODS_ROOT}/Headers/Public/Qiniu" "${PODS_ROOT}/Headers/Public/ReactiveCocoa" "${PODS_ROOT}/Headers/Public/SDWebImage" "${PODS_ROOT}/Headers/Public/SVProgressHUD" "${PODS_ROOT}/Headers/Public/XRCarouselView" "$(SDKROOT)/usr/include/libxml2" $(SDKROOT)/usr/include/libxml2
LIBRARY_SEARCH_PATHS = $(inherited) "${PODS_CONFIGURATION_BUILD_DIR}/AFNetworking" "${PODS_CONFIGURATION_BUILD_DIR}/DTCoreText" "${PODS_CONFIGURATION_BUILD_DIR}/DTFoundation" "${PODS_CONFIGURATION_BUILD_DIR}/FMDB" "${PODS_CONFIGURATION_BUILD_DIR}/HappyDNS" "${PODS_CONFIGURATION_BUILD_DIR}/IQKeyboardManager" "${PODS_CONFIGURATION_BUILD_DIR}/JJException" "${PODS_CONFIGURATION_BUILD_DIR}/JXCategoryView" "${PODS_CONFIGURATION_BUILD_DIR}/MJExtension" "${PODS_CONFIGURATION_BUILD_DIR}/MJRefresh" "${PODS_CONFIGURATION_BUILD_DIR}/Masonry" "${PODS_CONFIGURATION_BUILD_DIR}/Qiniu" "${PODS_CONFIGURATION_BUILD_DIR}/ReactiveCocoa" "${PODS_CONFIGURATION_BUILD_DIR}/SDWebImage" "${PODS_CONFIGURATION_BUILD_DIR}/SVProgressHUD" "${PODS_CONFIGURATION_BUILD_DIR}/XRCarouselView" "${PODS_ROOT}/GDTMobSDK/lib" "${PODS_ROOT}/JCore" "${PODS_ROOT}/JPush"
OTHER_CFLAGS = $(inherited) -isystem "${PODS_ROOT}/Headers/Public" -isystem "${PODS_ROOT}/Headers/Public/AFNetworking" -isystem "${PODS_ROOT}/Headers/Public/DTCoreText" -isystem "${PODS_ROOT}/Headers/Public/DTFoundation" -isystem "${PODS_ROOT}/Headers/Public/FMDB" -isystem "${PODS_ROOT}/Headers/Public/GDTMobSDK" -isystem "${PODS_ROOT}/Headers/Public/HappyDNS" -isystem "${PODS_ROOT}/Headers/Public/IQKeyboardManager" -isystem "${PODS_ROOT}/Headers/Public/JJException" -isystem "${PODS_ROOT}/Headers/Public/JPush" -isystem "${PODS_ROOT}/Headers/Public/JXCategoryView" -isystem "${PODS_ROOT}/Headers/Public/MJExtension" -isystem "${PODS_ROOT}/Headers/Public/MJRefresh" -isystem "${PODS_ROOT}/Headers/Public/Masonry" -isystem "${PODS_ROOT}/Headers/Public/Qiniu" -isystem "${PODS_ROOT}/Headers/Public/ReactiveCocoa" -isystem "${PODS_ROOT}/Headers/Public/SDWebImage" -isystem "${PODS_ROOT}/Headers/Public/SVProgressHUD" -isystem "${PODS_ROOT}/Headers/Public/XRCarouselView" -iframework "${PODS_ROOT}/Bugly"
OTHER_LDFLAGS = $(inherited) -ObjC -l"AFNetworking" -l"DTCoreText" -l"DTFoundation" -l"FMDB" -l"GDTMobSDK" -l"HappyDNS" -l"IQKeyboardManager" -l"JJException" -l"JXCategoryView" -l"MJExtension" -l"MJRefresh" -l"Masonry" -l"Qiniu" -l"ReactiveCocoa" -l"SDWebImage" -l"SVProgressHUD" -l"XRCarouselView" -l"c++" -l"jcore-ios-2.1.1" -l"jpush-ios-3.2.2" -l"resolv" -l"sqlite3" -l"xml2" -l"z" -framework "AVFoundation" -framework "AdSupport" -framework "Bugly" -framework "CFNetwork" -framework "CoreFoundation" -framework "CoreGraphics" -framework "CoreLocation" -framework "CoreTelephony" -framework "CoreText" -framework "Foundation" -framework "ImageIO" -framework "MediaPlayer" -framework "MobileCoreServices" -framework "QuartzCore" -framework "Security" -framework "StoreKit" -framework "SystemConfiguration" -framework "UIKit" -weak_framework "UserNotifications" -weak_framework "WebKit"
PODS_BUILD_DIR = ${BUILD_DIR}
PODS_CONFIGURATION_BUILD_DIR = ${PODS_BUILD_DIR}/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME)
......
......@@ -2,6 +2,7 @@ FRAMEWORK_SEARCH_PATHS = $(inherited) "${PODS_ROOT}/Bugly"
GCC_PREPROCESSOR_DEFINITIONS = $(inherited) COCOAPODS=1
HEADER_SEARCH_PATHS = $(inherited) "${PODS_ROOT}/Headers/Public" "${PODS_ROOT}/Headers/Public/AFNetworking" "${PODS_ROOT}/Headers/Public/DTCoreText" "${PODS_ROOT}/Headers/Public/DTFoundation" "${PODS_ROOT}/Headers/Public/FMDB" "${PODS_ROOT}/Headers/Public/GDTMobSDK" "${PODS_ROOT}/Headers/Public/HappyDNS" "${PODS_ROOT}/Headers/Public/IQKeyboardManager" "${PODS_ROOT}/Headers/Public/JJException" "${PODS_ROOT}/Headers/Public/JPush" "${PODS_ROOT}/Headers/Public/JXCategoryView" "${PODS_ROOT}/Headers/Public/MJExtension" "${PODS_ROOT}/Headers/Public/MJRefresh" "${PODS_ROOT}/Headers/Public/Masonry" "${PODS_ROOT}/Headers/Public/Qiniu" "${PODS_ROOT}/Headers/Public/ReactiveCocoa" "${PODS_ROOT}/Headers/Public/SDWebImage" "${PODS_ROOT}/Headers/Public/SVProgressHUD" "${PODS_ROOT}/Headers/Public/XRCarouselView" "$(SDKROOT)/usr/include/libxml2" $(SDKROOT)/usr/include/libxml2
LIBRARY_SEARCH_PATHS = $(inherited) "${PODS_CONFIGURATION_BUILD_DIR}/AFNetworking" "${PODS_CONFIGURATION_BUILD_DIR}/DTCoreText" "${PODS_CONFIGURATION_BUILD_DIR}/DTFoundation" "${PODS_CONFIGURATION_BUILD_DIR}/FMDB" "${PODS_CONFIGURATION_BUILD_DIR}/HappyDNS" "${PODS_CONFIGURATION_BUILD_DIR}/IQKeyboardManager" "${PODS_CONFIGURATION_BUILD_DIR}/JJException" "${PODS_CONFIGURATION_BUILD_DIR}/JXCategoryView" "${PODS_CONFIGURATION_BUILD_DIR}/MJExtension" "${PODS_CONFIGURATION_BUILD_DIR}/MJRefresh" "${PODS_CONFIGURATION_BUILD_DIR}/Masonry" "${PODS_CONFIGURATION_BUILD_DIR}/Qiniu" "${PODS_CONFIGURATION_BUILD_DIR}/ReactiveCocoa" "${PODS_CONFIGURATION_BUILD_DIR}/SDWebImage" "${PODS_CONFIGURATION_BUILD_DIR}/SVProgressHUD" "${PODS_CONFIGURATION_BUILD_DIR}/XRCarouselView" "${PODS_ROOT}/GDTMobSDK/lib" "${PODS_ROOT}/JCore" "${PODS_ROOT}/JPush"
OTHER_CFLAGS = $(inherited) -isystem "${PODS_ROOT}/Headers/Public" -isystem "${PODS_ROOT}/Headers/Public/AFNetworking" -isystem "${PODS_ROOT}/Headers/Public/DTCoreText" -isystem "${PODS_ROOT}/Headers/Public/DTFoundation" -isystem "${PODS_ROOT}/Headers/Public/FMDB" -isystem "${PODS_ROOT}/Headers/Public/GDTMobSDK" -isystem "${PODS_ROOT}/Headers/Public/HappyDNS" -isystem "${PODS_ROOT}/Headers/Public/IQKeyboardManager" -isystem "${PODS_ROOT}/Headers/Public/JJException" -isystem "${PODS_ROOT}/Headers/Public/JPush" -isystem "${PODS_ROOT}/Headers/Public/JXCategoryView" -isystem "${PODS_ROOT}/Headers/Public/MJExtension" -isystem "${PODS_ROOT}/Headers/Public/MJRefresh" -isystem "${PODS_ROOT}/Headers/Public/Masonry" -isystem "${PODS_ROOT}/Headers/Public/Qiniu" -isystem "${PODS_ROOT}/Headers/Public/ReactiveCocoa" -isystem "${PODS_ROOT}/Headers/Public/SDWebImage" -isystem "${PODS_ROOT}/Headers/Public/SVProgressHUD" -isystem "${PODS_ROOT}/Headers/Public/XRCarouselView" -iframework "${PODS_ROOT}/Bugly"
OTHER_LDFLAGS = $(inherited) -ObjC -l"AFNetworking" -l"DTCoreText" -l"DTFoundation" -l"FMDB" -l"GDTMobSDK" -l"HappyDNS" -l"IQKeyboardManager" -l"JJException" -l"JXCategoryView" -l"MJExtension" -l"MJRefresh" -l"Masonry" -l"Qiniu" -l"ReactiveCocoa" -l"SDWebImage" -l"SVProgressHUD" -l"XRCarouselView" -l"c++" -l"jcore-ios-2.1.1" -l"jpush-ios-3.2.2" -l"resolv" -l"sqlite3" -l"xml2" -l"z" -framework "AVFoundation" -framework "AdSupport" -framework "Bugly" -framework "CFNetwork" -framework "CoreFoundation" -framework "CoreGraphics" -framework "CoreLocation" -framework "CoreTelephony" -framework "CoreText" -framework "Foundation" -framework "ImageIO" -framework "MediaPlayer" -framework "MobileCoreServices" -framework "QuartzCore" -framework "Security" -framework "StoreKit" -framework "SystemConfiguration" -framework "UIKit" -weak_framework "UserNotifications" -weak_framework "WebKit"
PODS_BUILD_DIR = ${BUILD_DIR}
PODS_CONFIGURATION_BUILD_DIR = ${PODS_BUILD_DIR}/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME)
......
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