From 97af177b88bc4066ed464e70668e7a62e5ffa7e7 Mon Sep 17 00:00:00 2001 From: lianxiang <13052344590@163.com> Date: Fri, 12 Oct 2018 09:12:54 +0800 Subject: [PATCH] add --- GIGA.xcodeproj/project.pbxproj | 18 ++ GIGA/AppDelegate+GiGaConfig.m | 1 + GIGA/AppDelegate.m | 11 +- .../GiGaLocalNotificationManager.h | 5 +- .../GiGaLocalNotificationManager.m | 4 +- GIGA/Common/GiGaUserDB/GiGaUserDefault.m | 2 + GIGA/Common/Source/ogg_btn.mp3 | Bin 0 -> 12156 bytes .../LXCustomActionsheet/LXCustomActionSheet.h | 23 +++ .../LXCustomActionsheet/LXCustomActionSheet.m | 192 ++++++++++++++++++ GIGA/Config/GIGA.h | 7 +- GIGA/Config/GiGaServerConfig.m | 8 +- GIGA/Info.plist | 6 +- .../Controller/GiGaRegistViewController.h | 1 + .../Controller/GiGaRegistViewController.m | 7 + .../Controller/GiGaRegistViewController.xib | 35 ++-- .../LogIn/Controller/GiGaUserLoginVC.h | 1 + .../LogIn/Controller/GiGaUserLoginVC.m | 8 +- .../LogIn/Controller/GiGaUserLoginVC.xib | 35 ++-- .../LogIn/Controller/PassWordResetVC.xib | 8 +- GIGA/Modules/Mask/Controller/GiGaAppGaurdVC.m | 2 - .../Controller/GiGaMaskTaskViewController.m | 56 +++-- .../Mask/Controller/UserGuardViewController.m | 50 ++++- .../Exercises/Controller/GiGaQuestionVC.m | 11 +- .../Exercises/Controller/MaskTestResultVC.m | 60 ++++-- .../Mask/Exercises/Model/QustionAnswer.h | 2 + .../Mask/Exercises/View/GIGaQuestionSlider.h | 2 +- .../Mask/Exercises/View/GIGaQuestionSlider.m | 13 +- .../Exercises/View/GiGaAnswerViewCell.xib | 5 +- .../Mask/Exercises/View/MaskQuestionView.m | 51 ++++- .../View/NYSliderPopover/NYSliderPopover.m | 33 ++- .../Mask/View/MaskTimeTopAnimationView.m | 24 ++- .../Me/Controller/GiGaUserViewController.m | 10 +- .../View/FeedViews/GiGaFeedContentViewCell.m | 13 +- .../userInfoView/GIGaUserCityViewCell.xib | 14 +- .../View/userInfoView/GIGaUserIDViewCell.xib | 16 +- .../userInfoView/GIGaUserWeChatViewCell.xib | 20 +- .../View/userInfoView/GiGaUserSexViewCell.m | 2 +- 37 files changed, 583 insertions(+), 173 deletions(-) create mode 100755 GIGA/Common/Source/ogg_btn.mp3 create mode 100644 GIGA/Common/Views/LXCustomActionsheet/LXCustomActionSheet.h create mode 100644 GIGA/Common/Views/LXCustomActionsheet/LXCustomActionSheet.m diff --git a/GIGA.xcodeproj/project.pbxproj b/GIGA.xcodeproj/project.pbxproj index 62d8432..551473d 100644 --- a/GIGA.xcodeproj/project.pbxproj +++ b/GIGA.xcodeproj/project.pbxproj @@ -11,6 +11,7 @@ 83048481214F489000603CE7 /* GiGaUserJobViewCell.m in Sources */ = {isa = PBXBuildFile; fileRef = 83048480214F488F00603CE7 /* GiGaUserJobViewCell.m */; }; 83048486214FACE700603CE7 /* JobMaskButton.m in Sources */ = {isa = PBXBuildFile; fileRef = 83048485214FACE700603CE7 /* JobMaskButton.m */; }; 8314D2112133ABE500B458BF /* WeiIXinApiManager.m in Sources */ = {isa = PBXBuildFile; fileRef = 8314D2102133ABE500B458BF /* WeiIXinApiManager.m */; }; + 83276187216F29A800C6216C /* LXCustomActionSheet.m in Sources */ = {isa = PBXBuildFile; fileRef = 83276185216F29A800C6216C /* LXCustomActionSheet.m */; }; 83346AC0212BB50A0054D597 /* PassWordResetVC.m in Sources */ = {isa = PBXBuildFile; fileRef = 83346ABE212BB50A0054D597 /* PassWordResetVC.m */; }; 83346AC1212BB50A0054D597 /* PassWordResetVC.xib in Resources */ = {isa = PBXBuildFile; fileRef = 83346ABF212BB50A0054D597 /* PassWordResetVC.xib */; }; 83346AC5212BBC8C0054D597 /* GiGaRegistViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = 83346AC3212BBC8C0054D597 /* GiGaRegistViewController.m */; }; @@ -240,6 +241,7 @@ 83C78A15215873170083DDD9 /* MaskHistoryListViewCell.xib in Resources */ = {isa = PBXBuildFile; fileRef = 83C78A13215873170083DDD9 /* MaskHistoryListViewCell.xib */; }; 83C78A192159D74D0083DDD9 /* UIImage+LogoQrCode.m in Sources */ = {isa = PBXBuildFile; fileRef = 83C78A182159D74D0083DDD9 /* UIImage+LogoQrCode.m */; }; 83C78A1C2159DD920083DDD9 /* UIImage+ShotImage.m in Sources */ = {isa = PBXBuildFile; fileRef = 83C78A1B2159DD920083DDD9 /* UIImage+ShotImage.m */; }; + 83D0B92C216C5A80006B77DC /* ogg_btn.mp3 in Resources */ = {isa = PBXBuildFile; fileRef = 83D0B92B216C5A80006B77DC /* ogg_btn.mp3 */; }; 83D3832D215A2CF5009E8669 /* MaskHistryRecord.m in Sources */ = {isa = PBXBuildFile; fileRef = 83D3832C215A2CF5009E8669 /* MaskHistryRecord.m */; }; 83E40B2F21218BA0008149C4 /* GiGaUserViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = 83E40B2E21218BA0008149C4 /* GiGaUserViewController.m */; }; /* End PBXBuildFile section */ @@ -270,6 +272,8 @@ 8314D20F2133ABE500B458BF /* WeiIXinApiManager.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = WeiIXinApiManager.h; sourceTree = ""; }; 8314D2102133ABE500B458BF /* WeiIXinApiManager.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = WeiIXinApiManager.m; sourceTree = ""; }; 8314D2122133F44600B458BF /* MobClickList.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = MobClickList.h; sourceTree = ""; }; + 83276185216F29A800C6216C /* LXCustomActionSheet.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = LXCustomActionSheet.m; sourceTree = ""; }; + 83276186216F29A800C6216C /* LXCustomActionSheet.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = LXCustomActionSheet.h; sourceTree = ""; }; 83346ABD212BB50A0054D597 /* PassWordResetVC.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = PassWordResetVC.h; sourceTree = ""; }; 83346ABE212BB50A0054D597 /* PassWordResetVC.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = PassWordResetVC.m; sourceTree = ""; }; 83346ABF212BB50A0054D597 /* PassWordResetVC.xib */ = {isa = PBXFileReference; lastKnownFileType = file.xib; path = PassWordResetVC.xib; sourceTree = ""; }; @@ -677,6 +681,7 @@ 83C78A182159D74D0083DDD9 /* UIImage+LogoQrCode.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = "UIImage+LogoQrCode.m"; sourceTree = ""; }; 83C78A1A2159DD920083DDD9 /* UIImage+ShotImage.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = "UIImage+ShotImage.h"; sourceTree = ""; }; 83C78A1B2159DD920083DDD9 /* UIImage+ShotImage.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = "UIImage+ShotImage.m"; sourceTree = ""; }; + 83D0B92B216C5A80006B77DC /* ogg_btn.mp3 */ = {isa = PBXFileReference; lastKnownFileType = audio.mp3; path = ogg_btn.mp3; sourceTree = ""; }; 83D3832B215A2CF5009E8669 /* MaskHistryRecord.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = MaskHistryRecord.h; sourceTree = ""; }; 83D3832C215A2CF5009E8669 /* MaskHistryRecord.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = MaskHistryRecord.m; sourceTree = ""; }; 83E40B2D21218BA0008149C4 /* GiGaUserViewController.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = GiGaUserViewController.h; sourceTree = ""; }; @@ -734,9 +739,19 @@ name = Pods; sourceTree = ""; }; + 83276184216F29A800C6216C /* LXCustomActionsheet */ = { + isa = PBXGroup; + children = ( + 83276185216F29A800C6216C /* LXCustomActionSheet.m */, + 83276186216F29A800C6216C /* LXCustomActionSheet.h */, + ); + path = LXCustomActionsheet; + sourceTree = ""; + }; 83346AC8212BD4160054D597 /* Source */ = { isa = PBXGroup; children = ( + 83D0B92B216C5A80006B77DC /* ogg_btn.mp3 */, 8338F6B02142182100B4780B /* MaskTime.png */, 8342D9FC2131150200D16B1D /* 4481.wav */, 838388C3212F934400D14C53 /* pomodoSound.m4a */, @@ -786,6 +801,7 @@ 8340BFAC213E7374008F22E4 /* Views */ = { isa = PBXGroup; children = ( + 83276184216F29A800C6216C /* LXCustomActionsheet */, 8382DFC021564A1F00BBA5A5 /* SJPhotoPicker */, 833DE8E02150169F009D4329 /* JYAddressPicker */, 83901143214E20B1004CA790 /* LYSDatePickerController */, @@ -1826,6 +1842,7 @@ 83BFAE78213CDE91004EF801 /* GiGaSettingsViewCell.xib in Resources */, 8382DFA22155F68800BBA5A5 /* MaskActionSheetViewCell.xib in Resources */, 83346AC1212BB50A0054D597 /* PassWordResetVC.xib in Resources */, + 83D0B92C216C5A80006B77DC /* ogg_btn.mp3 in Resources */, 83BDC0592147B89900E74E0D /* GiGaAnswerViewCell.xib in Resources */, 8351473D215215C500B25A88 /* GiGAUserInfoCell.xib in Resources */, 8376B8332154A39200AB79F8 /* MaskTimeEndActionViewCell.xib in Resources */, @@ -2111,6 +2128,7 @@ 83A22712212A9EA900B3E75C /* UIView+Sizes.m in Sources */, 839290092134F4C40077D2E8 /* GiGaFlingCommitVC.m in Sources */, 834415EA215B4E6F00A6D906 /* HistoryNoDataViewCell.m in Sources */, + 83276187216F29A800C6216C /* LXCustomActionSheet.m in Sources */, 83BFAE70213CDB29004EF801 /* GiMaskTimeHistoryVC.m in Sources */, 8382DFEA21564A1F00BBA5A5 /* SJPhotoAlbumsController.m in Sources */, 83A22718212ABDFF00B3E75C /* GiGaBlockButton.m in Sources */, diff --git a/GIGA/AppDelegate+GiGaConfig.m b/GIGA/AppDelegate+GiGaConfig.m index d725daf..8171cb5 100644 --- a/GIGA/AppDelegate+GiGaConfig.m +++ b/GIGA/AppDelegate+GiGaConfig.m @@ -90,6 +90,7 @@ -(void)creatAdView{ + GiGaStartAdView *startadview = [[GiGaStartAdView alloc] initWithFrame:self.window.bounds]; [startadview show]; } diff --git a/GIGA/AppDelegate.m b/GIGA/AppDelegate.m index cd83dd5..5abdacc 100644 --- a/GIGA/AppDelegate.m +++ b/GIGA/AppDelegate.m @@ -27,7 +27,7 @@ - (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions { // Override point for customization after application launch. //[NSThread sleepForTimeInterval:1];//延迟启动 - + _isMasking = NO; [[UIApplication sharedApplication] beginReceivingRemoteControlEvents]; [self registLocalNotification]; @@ -52,7 +52,8 @@ } }]; } - + + return YES; } @@ -106,12 +107,14 @@ - (void)applicationWillTerminate:(UIApplication *)application { // Called when the application is about to terminate. Save data if appropriate. See also applicationDidEnterBackground:. - //app 挂起 面膜时间未结束 将发送本地通知提醒 + //app 挂起 面膜时间未结束 发送本地通知提醒 if (_isMasking) { // [[GiGaLocalNotificationManager localNotifiationCenter] sendLocalNotification:@"闹钟提醒!" fireTimeInterval:2 alertAction:@"面膜时间已添加闹钟提醒!" withIdentifier:kLOCALNotifiID_APPTERMINAL]; + //进程结束 长期保持后台前提下 用户主动挂起 取消本地推送。 + [[GiGaLocalNotificationManager localNotifiationCenter] cancelAllLocalNoitification]; } - + //[[GiGaLocalNotificationManager localNotifiationCenter] cancelAllLocalNoitification]; } -(void)remoteControlReceivedWithEvent:(UIEvent *)event diff --git a/GIGA/Common/GiGaLocalNotificationManager/GiGaLocalNotificationManager.h b/GIGA/Common/GiGaLocalNotificationManager/GiGaLocalNotificationManager.h index 77a377e..9609845 100644 --- a/GIGA/Common/GiGaLocalNotificationManager/GiGaLocalNotificationManager.h +++ b/GIGA/Common/GiGaLocalNotificationManager/GiGaLocalNotificationManager.h @@ -27,12 +27,12 @@ -(void)sendLocalNotification:(NSString *)alertBoday fireTimeInterval:(NSTimeInterval )timeInterval alertAction:(NSString *)alertAction withIdentifier:(NSString *)identifier; /** - 删除当前程序注册的所有通知 ios 8 后 iOS10 前 + 删除当前程序注册的所有通知 */ -(void)cancelAllLocalNoitification; /** - 删除指定的通知,一般用于取消重复的通知或者还没有被调用的通知,先获取通知,再遍历根据条件去删除(条件是 UserInfo 的值,是发送通知时所携带的参数) ios 8 后 iOS10 前 + 删除指定的通知,一般用于取消重复的通知或者还没有被调用的通知,先获取通知,再遍历根据条件去删除(条件是 UserInfo 的值,是发送通知时所携带的参数) */ -(void)cancelLocalNitificationByUserInfowithIdentifier:(NSString *)identifier; @@ -41,7 +41,6 @@ */ -(void)didResaveloaclNitification:(UILocalNotification *)localNitification; - //处理通知。。 diff --git a/GIGA/Common/GiGaLocalNotificationManager/GiGaLocalNotificationManager.m b/GIGA/Common/GiGaLocalNotificationManager/GiGaLocalNotificationManager.m index 7d4f65d..71fc8aa 100644 --- a/GIGA/Common/GiGaLocalNotificationManager/GiGaLocalNotificationManager.m +++ b/GIGA/Common/GiGaLocalNotificationManager/GiGaLocalNotificationManager.m @@ -74,7 +74,7 @@ if (@available(iOS 10.0, *)) { - [[UNUserNotificationCenter currentNotificationCenter] removeAllDeliveredNotifications]; + [[UNUserNotificationCenter currentNotificationCenter] removeAllPendingNotificationRequests]; } else { // Fallback on earlier versions @@ -87,7 +87,7 @@ -(void)cancelLocalNitificationByUserInfowithIdentifier:(NSString *)identifier{ if (@available(iOS 10.0, *)) { - [[UNUserNotificationCenter currentNotificationCenter] removeDeliveredNotificationsWithIdentifiers:@[identifier]]; + [[UNUserNotificationCenter currentNotificationCenter] removePendingNotificationRequestsWithIdentifiers:@[identifier]]; } else { // Fallback on earlier versions NSArray *notifiArray = [[UIApplication sharedApplication] scheduledLocalNotifications]; diff --git a/GIGA/Common/GiGaUserDB/GiGaUserDefault.m b/GIGA/Common/GiGaUserDB/GiGaUserDefault.m index e0a90a9..550fb41 100644 --- a/GIGA/Common/GiGaUserDB/GiGaUserDefault.m +++ b/GIGA/Common/GiGaUserDB/GiGaUserDefault.m @@ -149,7 +149,9 @@ NSString *const kShowUserTested = @"kShowUserTested"; time = 15 * 60; //time = MASKTIME_DEFAULT; } + time = 5; return time; + } +(void)saveUserTestFlag:(BOOL)tested{ diff --git a/GIGA/Common/Source/ogg_btn.mp3 b/GIGA/Common/Source/ogg_btn.mp3 new file mode 100755 index 0000000000000000000000000000000000000000..50ca71769ad84216f599df269843f491c430b1b2 GIT binary patch literal 12156 zcmZ{qcQl*t|NrkKL=ePmj1qejqiVHck65)=iCL?PqAgmnckSJQq9`>w6m7-cvqoE5 zyGo0qTKoQ{@6Yew-*ryzoa7|uJnz@*aXnwx>$-06sKGb+4**aGBxxIa5CQ9|gN2?k z;9RqkRr6bbx}^MBC(|zg&_G~2kpKXIYiVx+M!|SkkxUXeI;<6)@c#tBO?dWD;d{kR=49Y0kWWX6$js!hkD7|?KNm7LS100L(-XMsSl1H@Q z^bqJ>f{hw@hIuo~9x0Esx)eVtkrE4nCvZqnMnD%2@Y8Jx;0HnQD4}q;KPpgh_=7MC z_gI?z&A(BUM;jNrd)Vy%#?wif{2}2^$Bp{|c}w&(PDHbShy#Vo5PX-(2`oPHDF*@u zkkU@zNpM4mHZTdN6$W?S>)&@ab%3jZMHNMvol@2yIJh<@c5ZGm`56fA-Fhq~i;yXe z07-wJUVlC7OM&C-@K7`JDUZuz^5VrU09eTTwxT06>N{rqUBHkc7YPR`g+PWjou@?- zf862ys1(BC97q|HSCK*5UDs;mOlwqW@l{Y4$uoVGq~9yW^LGA1yk(2o`_}Ik6Z}Zmf z2bp>IIqe8?L{vBPfQ z{Yx_*2G1$f=~YZnwN{^&RSq_$!hWs~kBTL=X|QuQ$ddfS#95!1U)(uStm+xm32jM+ zPWXU3&)%gnWt8+kP6N*h!R^qpw1~+zm0fUm_c1vU!*w8dC`P6P`r^wZhcBe~r-1S- zX$6*wFfC{&kUI3D5z!eL;L!`;qAe6a>11q?>w^JqS9zEAjse*P(#E!LiI7vl^=KX( zpu>uGX&1kTHJ7=CpndGaf7kRPD)Mo4Wd7^@#R9?GBg(C*7ZPuTv0js-`}zBKZc-N~ zO<9`u(#~ys`)AsKi+>}kJw4PJkFr0!*&2GvZRBVENb$>~DZB8!M}>Jii)&l8mtT3y zfPW>dTQ4zhpI*CN{2V;}c&i|+r?M6Nd+T{9=~V=H{5s_f8~|0xcSON+a)%?Xdey8W zFRJG1Lxz+qCmi<;C9hamcl33OskiHEN~jP$8RgA*gnsZ}xuDI=e6!b-5BBpRv)f^! z>0OpYIp$ajqd00A{#2S}zR1=*1iBJkgt>l{d359Gvs&;W!>OT8Fly2K-pf1rRccOY z8LzU=$ny@s%DyZ{wa2y>Vr?4=VTp#}C@mJ`d2Ic{6^x=5M#@SHF~by4K5H(--N9Vd zz!>$8Gdb$FcG9`h7aVzC8@w(3UY)$E#y5T+e$W_qZQ=M`t(AwDrmx-|u^72o+2-pM zI>Iy!byX%xMyYpZXS_%DZcmN$RNJ3Uw_g1Seu+3~f`g|Iz~8@IhdoLgf837Ps{Q#+ zZL$BB8VDX#OG^$E9UWV8a(;|ES~Q5QfB5n;o%uV}3Q35WK(V}nd^B5}4jV6bbUKaA zf~1>wl7+DrDnsmL*P`cR!@m1+;`Dmoidd2acHjl_%4WNyd98M&nT(v})! z-QVdqUS(~nJDOZ!unWy#A2d)Mi%`!_FVdB{_qyNoC-2!+hN=xY^P3V(%F|0*Q7^Re zQYr4dUGbIMe&7bdDc3z`wS)f{y1J&f)`mEtT*&E#6-F zaGu0l%eOGc7Vqx4@7$ide`}|gW2$x!v@x030Od0F*tc87%$skW?Z*xk{At^*=;g2! z@A-xgQ5*)cs)FUWDbZu4PDYo4DQLp=C-8;ne8M}5xwLD;-zo$qC*MAmkQh4*AD73+j0Y{bTj&K+{4R~muu00$SkHdzBrlfB@JK<_ z(8w@lExEt2^0W7#Ha`>L?bbVi+%FdKxviHx)`gM4UaMej@_PID0Dw zLV~(|@;4GX>69D#B+R|xA9B<<6w+|UGIGs%71opR=*wKQAz(V42q?`oswf2{;2 z@=@st0L9J%U_*obE7P^#EP2<}+OJpeN{dyp`OR(C+u3F`aZX?H36PSp@9Y%51+mMA z9ZL^7j#la#V6SfRShPsI93DSwGc5+sOw;z|y`BEW5Cppy$|IS1q_C#09GnnD-s0hH z%4i!JZ}r4&QQtu}t}4Yd&GCX+DZ-RbSifK6!=4j;rKklRb18YT43nUWt`_#Wk}+Xg zt%Hghfq)n#ks8I9MPdWKhqJ6I%8s`OzPkm#)VR%iH=73?S`kKv@=8Cwem1-?x%{<26K6|w$w(XP zk0vO2WmMmM^Zr$RN6nL)nU&sGE8&m4lPo`TsfbE9p0L73*;Nft*iVSfevW5fb(RJ8 zJ$BWG+}pN)Fh_tJ=ZE);sa)s(yZ1A(%vTgf3E>*h@yJd$Qrg0I8VA*luU!=iokb4( zjCn$t=3bVTGU-L{(hcv)(Df}d)B+^xD7r^8iw)7@w8lw;HSTqR^3!r# z%z)q9Mej+5laVtlU=*kSP3b&Fd&3VKF{HE*aJ>h0KK8Pd6qg1Kc1^vv6Ww8apc1w_ zW%Ikho^GS1@x+QUY&;6wi`oWv{VPC{VbOmo!F_Jg=F-@OG4E=$8&s9W1LCjf4`Ip- zwlB!GCFIue#&N8)W^&vTr2aO@lTEplooVM=<+a!yLPv|9p(o(%q1l5~!D&aedgE;3 zh0hx%?mW9I05{ch6lIEf_94D=p2ho_QI(@0e1%kT3!DV*tAd~~%nKCfK}7r~;MCA> zk&NF`-A_y^|a#vn`n&g*pQCYPWwcmCvSNI zMBncw+k&WPt$*ed}`gm=y;+&(zxRS%B)HgowjVy5k z1`R=7aD!u%ymrxUdjKs7`(FeG*HSuQ*h)nWC=ku+g$=gUjF+db%pJ;%I&bQp`->!p z9jZ`1Ima^7FRXADoG%frQtwQlp@%Ou|ZpR=(wt<`#Yi%-I@cI7~oSEdE2jDnV9|Mvr zyq!b^)gqWUhgfZ(A-iScHcTQxcemjK_-c)HmeJE>nAL5Nn0$xjNq zRUNN}!OZ;kTF>hKG9^=V3hRTzy7FOT&S>agtRO|Ma^z5wrIC%WJ@T}18?52H27;=D z`A%x``@f+qpV<%P@PCqF3p;jyu9&1c!pV>K*)v1GeH7|A;PvPh#mGOGs~9jzp@2A# z7J2z$?|Ob}2pap9t{JwzNLK0hUxJd4<7{7lUE|%-_&^2AQj&C~?pQFTX?>VK zCF%Y7kM%2^0*5bdA9|-kTfbTc(5@SuKf#9-TfLnMrcrR;d~O*lDDcpplVeX)pzUOV zbyy9&qINh|$Pxj9y9TluWh5C?6#tI1uyIMCTY0Y;t!-FCe%AS*C!_lkNkH;__<5Ee z7Ct+Fcfuy7%7}yC`Pr46qMTWR5`u~9D}e4Ev#MQ( zgXqJ~7h>g)8RTzledvzoCYeW9Uu@f3TV{OA={y4nErh{!lQ07F z^}~i$Hopn@)q@J)RAwzCLMix#`N(TIAMoISJ^s{1XPewLj#dpp)Jrfc4~K4lD5&MV zKos*lt~!6coOxvz!Awx4XW@*j9{~s$R5lHiBn%~VMJE~BMCU>4vD|bJTz+x?lK-2z zZk=9nEMGZ{xuQov^+y#n;m@|=PQvf4$S9BG;$D2rRi+NFB23U1Y7tv-Lx#b>4*X5I z!+2)PvP_QC!Gi_fnA(2*_c4KdcOVrfzGdDf1vDR#NG723yDi$Ii=S)9PZUWkBFS^W zrTHT7>o44;^W>PEfM290`f~-wrmHgsHzy_T%MR0&nI^DOFPE_luk|H-FuJK3HOiP# zvNA-wswL5Dh-ew4u5iSyw;E7I92WdqV}yeTN5T;`*B+rDknZ&af5B(rGlsp9gv?_B zBF;c8ixLs#e8WY(=Rv?tNL1S5PGk%PtRBh?_!CfiG)$1lZfG%)o(sp`XUC;yh=d!$ zA}0-_glu38n!rLY3C@vtfXt174W85Zicp%MzwM7?u2_WxGX2nck4G)u$1HJaA|Mv= zSx;EfM9Y+VG!654dtxUPy|N9oKC$7R-_7JnfXFw=U*Id_2_zd}(J&=~dwGw>rHRR7 z$wF^MZAVPUoK^TBhjlrqxD8y>9|Z^7x^NiC6kiC^Q%)(j9pS*tw?a5~!3_2EDjY(% zJOo`-&L@&WmkKrv1h8z}Zd&r}%e4)76?GEn9x0y`;K z0jPx)3l^q|8N>QPG8Wh}TRth)dbl6v$~?;xeEknO=e>tSxc${(dcR^|V7)4`_W)pQ zkC(qhMvjqRC@+fueE(!_mo0nEQxD?F)w)T~uGM_NhnMzDNEFE)*4rAkeuaPd-YTk` zCG13|ylHfmus{uh+kaqefFF3)h6td&18ycI?~9UY370s#&d>&)9oYZv{yKUBt`eDV zkTSbdrNu?!Y|Vey8_HNeo4NWkrCoMVqeZE_Jpg!vLW;4#Zl-qf-6w3a^HL-(yJ{RH zKw_c^H-h}xe;M#!sljB}tlu)I^^pnml5J;G5WrVfYf=l)da-k4$0e?^KcCo`;m6yb zGblHgM|V~FwSCH9pH{_C$Ac5+I_JL^b65Rux`T>$V{nk8+pBm^MSgn?1vi9QWDLMfK@@Rw?$S!k z+|U=fdm(6G#9D&=0VZZZERUKm<9G59E=DSu{dw3AzhsVz>QCT?sDLBmjy1R;NE=a_ zP;4;&ZKw+%`zVKB)-H!$g0gZSiBs?&?Qxl_Y+7D4_EDVyG* zQp{ADJUc;oSP0@3coIgty`M$Q;fVMz3WtT_vQP|iOIW-W51qU3bX!uTUO;)vGP{#a z$g8Yg+*n@KANvwo9#^pOGxaUv4+{)Q$2P>r#1I#!Un8^Vb{pzcCm(me`zjmPnw^+9 zuZAq2>BpM&Eg|}z@_c#?e>mem|VI%wc-GU`MP}H2#BQkF~p!|X? zqY7B>)V>Y;7Xg&IoxRrBET|Z1L!Ze2t}e|_yFmmT$WjL-_zD0b6ap|(C&W^B076HCkh4l1 ztM%NSSvQ1dq&mr5MbN3F&{TgQ#Bk(c0%g-EZSPI|=2i*ek7UFTo-R8A3;#9n+Y{=O z8X-3x5Iog@MjyYKV4t#J@Bp3^la%DGLf(>Ix*S3Pt{#B0i}=S{{1&^tqIuvJnv!T6 zNfJkMQz&K9-b4FSq%Y8y?(W=v^1||Xq-XZxSf7$;QM#57X!6mP9R%IMW%J@ZewjBtwpUDkF*po+5*SA4=b|B zuQ`y8$k|p3t%|F1Tvgz)_Y-$<**TK~hXx{=>TH_Ax6*GSH&sC=p@b*IRJt}WInpKm z2f)pu2S5VSrv{2v^9Okoxt^Qo;sa|xS)3jSx>Eut8 zvPS0ig%We`H3xe@yPd1Z@gSI|egw!98{1~nIHWbQVi8!B>p{47PZ!$B{Mu)9;OVOT z&sb_r;+@iN8-EqG2NY!F46pynfdw(?7(A)-!$u>T1;YaCQ8Jt&&)+L{!1>(>XCvsQ z&(CNqQN?J2O(PAX3CX3WjCWDXhK9_u)%_m1(VR4}BjCzp_i*Q1&$X?#18ts;*Mm-- zkN4ebU#1);WmaE&lkMlmdF|}I4eJFe13mEUa?EfWL8?!eOl!>wPdn4v7bCc5mB7tt z*TRzFc!uY*l&FW_09s;#fCvP8@otwm<%*G{RwAykvdi^*{ax<&*Gc!BKcb-seA#mc z&)WTRuqK|qQ5Xy){)9xO_sR+z?V~gb=%iQ^8t8HBn6-~%g?v#J_D8>Ch+MB>7j@FW z7%I&WLyg3YH<5LGfyM0Z4G|WchkAI|Mr&iG7=c8M4|nN0VwH@Rhm+M zgXejX0EvZ^&WMCVU-o^mPQgLYBo?R@WGBsZa(KVg$BE=YjW-as$#R}K)@>Bwy0OuO zHOGiV%D(2-`Mnx2r^*DH{$%Tg_+0`I8LuDa17%Oi8nUeIJ^-2$RW)yZYM<%Nl6z&@rb3%(vgaFzJvfAtq3{ zriT~a>!1a{r;jK9_@P%QOKWeG>x+L|Z=;v3m8$w(psAusD3RiQQ!oumq4XE+I2=3_ zy)npl*hXGYdIcdc2-Et(;KALRG+6rd)5Te{b&E}j+*jXE3ika-BwFkcENb}5fM5!1 zvuf&9HbW{Bru_tsOtDctDK^Z$-5zO*Y;~v{(JTAfOmKiXyaLyA=(Iw^q+~AfBrdN) zF{|!{8G@?s{vkKW-UMYq>lkPb`eCCy`&n+jC`IwI3*YclfSU62Z>Aaf3+t*zwVjxD zucq{;fvbEGM;H%5a-gCH??_-E1KIT!J~hfo#YHidk{XAUXc58Cr57S)Y7AFebLP9J z3Gxsf?PxwUW8(DmWHA>0W%_+o9Hf|r5JVNn5c%0f1+D{Emq$Rco-jc?^sc-0)yJTs zcxmlEBh%OV-&CFzap;&Dhq6Cv%)J8?8h5WH^<5IJI)|w{oup2WX2CHFSb}F}d=UeD zGMD~o8bFf)qR*ne%EHE^L7g$8O<6WTwZ``PUSL&2EXk&WMcU5w^Y+V}aIgZ?2P6QV zBqX1qK(xRlu`neL_pzM_BjJ2e5K)H@1aJO?@~u@~-OJa&4ZVfPul^a&jjA+v+$LiL zkcg5?&zH-tH*MSMO)k7u08c7R)F!V0)a2})m51kG0BE`@N*xR6See09C7t(gPQIIL zob7S+_6!rtE8oKXqRwB4-ZPCCWcK#5WA{(*B5~2CaA?#Ix?@Lzykz=JDOlCrC${l{ zc1B<}Y+NLm&P^`a&>9vg;Em7nz9M3KftMzMQKP9>pY~L&Z>d@xE*)`Zju|~{&yOIx zzOiFYTbAi$b*9zN%?2|yCXu$a z@WZ1(6E+tE)EyA){d4N-k6C0<0l^hjQzF3d_!)b#6whV7MokZH&rb{H&poRxUOf4S zT#42g6$OiqUi+g5*r@OQTwxjYC`ooq?NMM913!N@Xh2TlB}x%qtlcZ+pNAn$LBCN% z5flOm*KlaBgr#0hkneM&BDRZhQFf4^?}|QJEJjU%8C^)T+R8M^07$}>5$H6&Y1mAR z+0CNzo2P(N=xAm3`Q%eoHH`)i$ZNeeu;1#;{|f^MrtcWg6Cr?ci+mlktPQ!vGEiX) zd3NdN5yLGv*@Wv2ojNcKA~z1Dp+j&4jJe*W3yeoh)MKGTQ~i?)SK1B}7)wo|wxVV6g+J6XOK#&JYRUBLk{8Aq zqd6w6_LNf^OOH|@B?Slb(UD{)3Q#Ax6#^&-mL39wj$OirBcD)4;xByY(VP-XxvV5W z!~4a!2+1gZQ58HZYZ;%$b2BDTtGDEh=@o0~1VwN~zE@hW30K|FPw0z(wzuUk*j`#s zrGCBbOeZOR53^HpOr{Flivw5s`T+Vp!CJ8%v$MXh1+dpUDj$X#dCGI8LU8eh_!0zH3m2pj&S=lcV>wQ&$byvw?Ul6C^(wy(PS_cmB=?(t5 z2%AX$d8V8e0d_f_XPHI;>JzuDHIzaMPV_2*%Im_u=cwFS3+5>dbW8n*T~FJw)#mB$7Zp>*e{lR z-pGL1zF7{|k6sITLYBhlbOl1Xx~Dn&^ACK!X&^Z1(TJw_{qoF))1&k?@3O4Yh!(Sq z@W*_qEJ5c>83WdppNZ~EMi_?QYM>0~@IFgdna`nq8@T#bCHh=;_43d4i$cN>dv|~6 zgA3i7Rxq)M~uya;BL=0NW4u_!3heLQHJ*Dzhs54>@#2)bUF+T9O zrl3AZ7hnM4hlfvEKrCZ=n}p2FXS~Y-Rx^pv~g^JBOw$L z2Lqreh(6zN86}K`+*0*)6PAc>gMAO=dlyA2MBwaEs6`3S3rVsLmA7*_`8o`d!}j3CJy{Si9fr z89}q4GFSComn^{}1Ky5lO->#GR0S?Rb72$nTraKEAx~)XiAGJPAnM5O1FgQYer?;C z8Ds0&6@Wt_f~*NV>^Up=C4vH|G#*_OyOS_f)%^Czf66%b(gpE{(FDD_Cs*Bw1UD`v zAxa`e;dZMQ2lPV7eFz{#&;oksiVd6xq~pYu0)y7>WDn}FG3K+N>{+2c@;&7%PT*0D zKi*qw@(pF5UOBr*zXmFaL4Z{&;Yc#mjm|(`tUusa6l>_TA6pjSn->8ps?3A)e^1Gh z2I)@L+ltfC2s}?ER6EpQXLG9bZVrc!V$H^2G!h63C<+$s(G6Al3VkQ@~Z=&td$L4}=aEh331ZDKOko$gD&`il1>zU6`5iEK^U)$DY`K&|7Wm-?B9Y_K;E zz*AXga$-0BlAj$3JqyYMO~4=3^mYRP93@xradlM1HrhHXZbmNO%|xz5ywuCQL4_#~ zfjF<)uBXRIQxK7#!c4EU!9=~<+VI3F%Ao}|T=uZUoUn>ZG=_%d6Gh8QDD+=|_R+0PFH#Wtea8cSE63hPH=1ejH~^7LnenBNlVX;XwG zS=SbfdmhBW1t6G(gf?;8itaj5mbS5Jr(mlAGw+;O33l~w26RDea&8&E;b}t9K!I!* zA6u5-H-kvmrePn7Y!!GhZR|DhSmlfWk+LKwk2CG>p4t2n|ENJ1Ap7o8+};D?Y!q$NVKc|g91TWhH7j>pP=L{S1*sYti9Bk+ zA$G*E6F@OyG4Ns$mjdv~Vm!bBBc5V7518(CzZ`P{P3t4(a@b1JJikkp*$NNG#@vkM zv*XZS?&p!05}H6&D2d*iL1tT(qt5q`y<<0>5;_|J?s>f1Ugev&w$oCLIF8t#-H#dr z5RMI(TppbioY>f0-}f1lQ%Te~7JcV;z9L?enBO(W5>ITTERPbbRy6Jo zyjo?P5dywQ>v(@UHI{+-n^qj+VI4^L_)rMJuBbeL6&es|m>gl#`mCA!(DIebBeq;4 z;u$9%Jf3{Ibr~9`B?j)FM*Nwd>A#|+_N>SHn0Z2a2xthA78|g=di(9JkmL87oXZtP zVw9_Irj^V_0fa92udw<~&29k{i4K~bk5W;Y10OxZ>g$=>1Lzq1te`ehyv}XLrloGC zU5O5CKS=;Ag@Tk#BB4|Gv?V&~Z{9C{8Z+_$Ysg2mQDo^N@+y9MQb*4W53#)W+U9^c z)RJ#I_`FOsMi0&A;l9E=-B)gRYUtwr{&~YLW)CX{btGr^3t(gPwf3yeo3#l%^_b$n z0AINU(2#`G;TUBK8=u}nWHDNqHh?k?mzBaza8>2f#DZw(Qi$h2t zzR^dvcp#(V>CqM>5P;1AQ#ZWdNwtdE=U z_IKwF4CAR;S@ZDm*(y}nNi#M9mxOOzOa7OVD9p9rT%lY3_Rg~k7cb0B3E6mdT5Uc* z*;p*3rxHqbwkK0FRd#c1!fHJB*BsuTxjwst8nHBAovwfIv`4ERSsfy=&)x_=Vo^Bg)w&wR0IwE3oCsr5{@0W=lC^&NW8d0DqQNFQ@4 zq#$qrFe5mkb;S5zUN>;$PU_*O6hcM8DFMOv*0TI%JI_7|-T<5AT~w*HF60{5 zulq=Cy*8g8%Dj8J^z&_}Vpz-H+4;X%I)^-~%NZnUbq5dWA)K5NLy`##I$QQuTY&lwK0Yyrwt0QWLj9TfB74=>K7${a8 z_6y;L9u~8WtCWcaWVB{q!Y)`-oNp`6WUJ2c9V`)!mU(qEFq!(0n36>?Hzv#LyK_`5iB`oB zEXB}8iOy#GdzBlNzQ{GDQSL31TegeRRv#cZcY}+M3OU{M{vZKO0LzJGp@^oaKgCu+ zTvJ!f`TPmkn0V-~U-YGBr(vZ;VC~E|B>$Mz+d9Zdx9?okv(m)y>csB6`-MVN%_YAj zy}i}#_H*aV3G6jjoNO+w#O)aBT~@!o7SZ?T_a1GsT`!gdV1X+L zO4i~BhL7?zLTTuLUVUK^aV8qThG5+Cat8ZFqUzL?AHYar{VAilV{kGzDV8A%bd&&7 z)T^~WSG)O+Luc$obF98sB-3G3Su%q2@CIG=;d~6vK{;|lNYqa*kLPo@Q+Pr9x0v|M znfG5`{RL%Fi5IKDFJUSXvuC|pHnt-le)pWU7ws3>`l}n`07wVGR5axsQfoU@aqark zC-sGf1#i049KM?TGr8Zr+YpLp4jTQBe6dA(efqZpI~czN&J1;biNlU{&m51<`^Q zD`FtyyPzD-&F4!MySTs_q1q@WzBK~|dv)Is2S-CNKxOXjI1G*fD584O6NQwi7G=|} zZ?6j8BA=Jpi%wU6*qpAtL`~}X;(a<*TkZG0y1MB{9@HQEJlRcGo1^)6uxP)G&v~O_ zA`toX#Yu&jyV#R5$E`A&m7&R=mEi+ffo4NW;w6uXuVGcr-&!(s$mfxSDEc_Q(&B43 z-PZ{GLfT32a}+{|NF0HZukhzi&|B}pI?IshxMy-DrjkrGgTW6jHnrVwH+!*dXd3NR z8m6diK} z2nUAh+KEB`#fE&brEU#(w^p&p#W91l<=ca7EGF?B{0E)6`Ee9c%jG*S3q|i^K381| z)GsQU*&MoG+9xV7q3T&)E2#8_UPksYE*s12JZGfdi`o`tuvea{Y#|6sK5^Z^(dqf+ zzyn|0@VR02JKnX)0}KwH{X6;U?(KT!Ed9MN&Mi&i*6y{zDcxl;3#inf^Vg7R^p9=g zcDZvuDY@_|PWl5sa<=~=H*fTV$dcutfv@z#=IQla_*YjggK3}cztqrsj`=vMV5(&Q zoiq+eK|BD!fuMu-;DqS-_VMaiFC-8qA(&zVB!nf?u`bB8J(T*3pir`k@|KhQ)yh&M z3S#xo=<~ssSZ{>+tZ%l~-#a(|;&)E)S<9o*kRO{ZSC3|&SAPhxtFu$<}4Am>D;q3;jM0}ZK1BKZ8Js%02j#{yb$t>Jc|Fjk}qW6{cmU+>*^b8YnuVr Sz5IeOnE%h;i2v``!2bcJ(tK9{ literal 0 HcmV?d00001 diff --git a/GIGA/Common/Views/LXCustomActionsheet/LXCustomActionSheet.h b/GIGA/Common/Views/LXCustomActionsheet/LXCustomActionSheet.h new file mode 100644 index 0000000..f1dcb73 --- /dev/null +++ b/GIGA/Common/Views/LXCustomActionsheet/LXCustomActionSheet.h @@ -0,0 +1,23 @@ +// +// LXCustomActionSheet.h +// CustomUISwitch +// +// Created by lianxiang on 2018/10/11. +// Copyright © 2018年 lian. All rights reserved. +// + +#import + + + +@interface LXCustomActionSheet : UIView +- (instancetype)initWithTitle:(NSString*)title + optionsArr:(NSArray*)optionsArr + cancelTitle:(NSString*)cancelTitle + selectedBlock:(void(^)(NSInteger))selectedBlock + cancelBlock:(void(^)(void))cancelBlock; +-(void)show; + +@end + + diff --git a/GIGA/Common/Views/LXCustomActionsheet/LXCustomActionSheet.m b/GIGA/Common/Views/LXCustomActionsheet/LXCustomActionSheet.m new file mode 100644 index 0000000..82082bc --- /dev/null +++ b/GIGA/Common/Views/LXCustomActionsheet/LXCustomActionSheet.m @@ -0,0 +1,192 @@ +// +// LXCustomActionSheet.m +// CustomUISwitch +// +// Created by lianxiang on 2018/10/11. +// Copyright © 2018年 lian. All rights reserved. +// + +#import "LXCustomActionSheet.h" +#define Screen_Width [UIScreen mainScreen].bounds.size.width +#define Screen_height [UIScreen mainScreen].bounds.size.height +#define SPACE 10 +@interface LXCustomActionSheet () +@property (nonatomic, strong) UIView *maskView; +@property (nonatomic, strong) UITableView *tableView; +@property (nonatomic, strong) NSArray *optionsArr; +@property (nonatomic, copy) NSString *title; +@property (nonatomic, copy) NSString *cancelTitle; +@property (nonatomic, strong) UIView *headView; +@property (nonatomic, copy) void(^selectedBlock)(NSInteger); +@property (nonatomic, copy) void(^cancelBlock)(void); + +@end + +@implementation LXCustomActionSheet + + +- (instancetype)initWithTitle:(NSString*)title + optionsArr:(NSArray*)optionsArr + cancelTitle:(NSString*)cancelTitle + selectedBlock:(void(^)(NSInteger))selectedBlock + cancelBlock:(void(^)(void))cancelBlock{ + if (self = [super init]) { + _title = title; + _optionsArr = optionsArr; + _cancelTitle = cancelTitle; + _selectedBlock = selectedBlock; + _cancelBlock = cancelBlock; + [self craetUI]; + } + return self; +} + +- (void)craetUI { + self.frame = [UIScreen mainScreen].bounds; + [self addSubview:self.maskView]; + [self addSubview:self.tableView]; +} + +- (UIView*)maskView { + if (!_maskView) { + _maskView = [[UIView alloc]initWithFrame:[UIScreen mainScreen].bounds]; + _maskView.backgroundColor = [UIColor blackColor]; + _maskView.alpha = .5; + _maskView.userInteractionEnabled = YES; + } + return _maskView; +} + +- (UITableView *)tableView { + if (!_tableView) { + _tableView = [[UITableView alloc]initWithFrame:CGRectZero style:UITableViewStylePlain]; + _tableView.delegate = self; + _tableView.dataSource = self; + _tableView.rowHeight = 44.0; + _tableView.bounces = NO; + _tableView.showsVerticalScrollIndicator = NO; + _tableView.backgroundColor = [UIColor clearColor]; + _tableView.separatorStyle = UITableViewCellSeparatorStyleNone; + + UIView *tabHeader = [[UIView alloc] initWithFrame:CGRectMake(0, 0,Screen_Width, 50)]; + tabHeader.backgroundColor = [UIColor whiteColor]; + + UIBezierPath *maskPath = [UIBezierPath bezierPathWithRoundedRect: + CGRectMake(0, 0, Screen_Width, 50) byRoundingCorners: + UIRectCornerTopLeft|UIRectCornerTopRight cornerRadii: + CGSizeMake(10, 10)]; + CAShapeLayer *maskLayer = [[CAShapeLayer alloc]init]; + maskLayer.frame = tabHeader.bounds; + maskLayer.path = maskPath.CGPath; + tabHeader.layer.mask = maskLayer; + + UILabel *titleLabe = [[UILabel alloc] init]; + titleLabe.frame = tabHeader.bounds; + titleLabe.textAlignment = NSTextAlignmentCenter; + titleLabe.text = self.title; + titleLabe.font = GIGA_TEXTFONTMEDIUM(12); + titleLabe.textColor = GIGA_MAIN_BGCOLOR; + [tabHeader addSubview:titleLabe]; + UIView *lineView = [[UIView alloc] initWithFrame:CGRectMake(0, tabHeader.frame.size.height -0.5, Screen_Width, 0.5)]; + lineView.backgroundColor = [UIColor colorWithRed:222/255.0f green:222/255.0f blue:222/255.0f alpha:1]; + [tabHeader addSubview:lineView]; + self.headView = tabHeader; + _tableView.tableHeaderView = self.headView; + + // _tableView.separatorInset = UIEdgeInsetsMake(0, -50, 0, 0); + [_tableView registerClass:[UITableViewCell class] forCellReuseIdentifier:@"Navi_Cell"]; + } + return _tableView; +} + +#pragma mark TableView +- (NSInteger)numberOfSectionsInTableView:(UITableView *)tableView { + return 2; +} + +- (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section { + return (section == 0)?_optionsArr.count:1; +} + +- (UITableViewCell*)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath { + UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:@"Navi_Cell"]; + cell.textLabel.font = GIGA_TEXTFONTMEDIUM(15); + cell.textLabel.textColor = GIGA_MAIN_BGCOLOR; + if (indexPath.section == 0) { + cell.textLabel.text = _optionsArr[indexPath.row]; + UIView *lineView = [[UIView alloc] initWithFrame:CGRectMake(0,cell.frame.size.height - 0.5, Screen_Width, 0.5)]; + lineView.backgroundColor = [UIColor colorWithRed:222/255.0f green:222/255.0f blue:222/255.0f alpha:1]; + [cell.contentView addSubview:lineView]; + + } else { + cell.textLabel.text = _cancelTitle; + } + cell.textLabel.textAlignment = NSTextAlignmentCenter; + cell.selectionStyle = UITableViewCellSelectionStyleNone; + return cell; +} + +- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath { + if (indexPath.section == 0) { + if (self.selectedBlock) { + self.selectedBlock(indexPath.row); + } + }else{ + if (self.cancelBlock) { + self.cancelBlock(); + } + } + [self dismiss]; +} + +- (CGFloat)tableView:(UITableView *)tableView heightForFooterInSection:(NSInteger)section { + if (section==0) { + return 3; + } + return 0; +} + +- (UIView*)tableView:(UITableView *)tableView viewForFooterInSection:(NSInteger)section { + UIView *footerView = [[UIView alloc] init]; + footerView.backgroundColor = [UIColor colorWithRed:222/255.0f green:222/255.0f blue:222/255.0f alpha:1]; + return footerView; +} + +-(void)show{ + [[UIApplication sharedApplication].keyWindow addSubview:self]; +} + +- (void)layoutSubviews { + [super layoutSubviews]; + [self showTab]; +} + +- (void)showTab{ + + _tableView.frame = CGRectMake(0,Screen_height, Screen_Width, _tableView.rowHeight * (_optionsArr.count + 1) + 50 + 3); + [UIView animateWithDuration:.5 animations:^{ + CGRect rect = self->_tableView.frame; + rect.origin.y -= self->_tableView.bounds.size.height; + self->_tableView.frame = rect; + }]; +} + +- (void)dismiss { + + [UIView animateWithDuration:.5 animations:^{ + CGRect rect = self->_tableView.frame; + rect.origin.y += self->_tableView.bounds.size.height; + self->_tableView.frame = rect; + } completion:^(BOOL finished) { + [self removeFromSuperview]; + }]; +} + +- (void)touchesEnded:(NSSet *)touches withEvent:(UIEvent *)event { + if (self.cancelBlock) { + self.cancelBlock(); + } + [self dismiss]; +} + +@end diff --git a/GIGA/Config/GIGA.h b/GIGA/Config/GIGA.h index 76fe1f5..c164975 100644 --- a/GIGA/Config/GIGA.h +++ b/GIGA/Config/GIGA.h @@ -68,10 +68,9 @@ green:((float)((rgbValue & 0xFF00) >> 8))/255.0 \ blue:((float)(rgbValue & 0xFF))/255.0 alpha:alphaValue] #define GIGAUIColorFromRGBA(rgbValue) [UIColor \ -colorWithRed:((float)((rgbValue & 0xFF000000) >> 24))/255.0 \ -green:((float)((rgbValue & 0xFF0000) >> 16))/255.0 \ -blue:((float)((rgbValue & 0xFF00) >> 8))/255.0 \ -alpha:((float)(rgbValue & 0xFF))/255.0] +colorWithRed:((float)((rgbValue & 0xFF0000) >> 16))/255.0 \ +green:((float)((rgbValue & 0xFF00) >> 8))/255.0 \ +blue:((float)(rgbValue & 0xFF))/255.0 alpha:1.f] #define GIGA_MAIN_BGCOLOR [UIColor colorWithRed:131/255.0f green:10/255.0f blue:10/255.0f alpha:1] #define SCREEN [UIScreen mainScreen] diff --git a/GIGA/Config/GiGaServerConfig.m b/GIGA/Config/GiGaServerConfig.m index 4574d6a..d29c0f7 100644 --- a/GIGA/Config/GiGaServerConfig.m +++ b/GIGA/Config/GiGaServerConfig.m @@ -18,10 +18,10 @@ switch (type) { case 0://测试环境 { - [[NSUserDefaults standardUserDefaults] setValue:@"http://apiyts.s1.natapp.cc/v1/" forKey:@"MainUrl"]; - [[NSUserDefaults standardUserDefaults] setValue:@"http://wsyts.s1.natapp.cc" forKey:@"gigasocketUrl"]; -// [[NSUserDefaults standardUserDefaults] setValue:@"https://api.mianmoshijian.com/v1/" forKey:@"MainUrl"]; -// [[NSUserDefaults standardUserDefaults] setValue:@"https://ws.mianmoshijian.com" forKey:@"gigasocketUrl"]; +// [[NSUserDefaults standardUserDefaults] setValue:@"http://apiyts.s1.natapp.cc/v1/" forKey:@"MainUrl"]; +// [[NSUserDefaults standardUserDefaults] setValue:@"http://wsyts.s1.natapp.cc" forKey:@"gigasocketUrl"]; + [[NSUserDefaults standardUserDefaults] setValue:@"https://api.mianmoshijian.com/v1/" forKey:@"MainUrl"]; + [[NSUserDefaults standardUserDefaults] setValue:@"https://ws.mianmoshijian.com" forKey:@"gigasocketUrl"]; } break; diff --git a/GIGA/Info.plist b/GIGA/Info.plist index 124096e..ec5d362 100644 --- a/GIGA/Info.plist +++ b/GIGA/Info.plist @@ -19,7 +19,7 @@ CFBundlePackageType APPL CFBundleShortVersionString - 0.8.0 + 0.9.0 CFBundleURLTypes @@ -34,7 +34,7 @@ CFBundleVersion - 1.6.0 + 1.6.1 LSApplicationQueriesSchemes weixin @@ -54,7 +54,7 @@ 是否允许此App使用您的相册? UIBackgroundModes - App plays audio + audio remote-notification UILaunchStoryboardName diff --git a/GIGA/Modules/LogIn/Controller/GiGaRegistViewController.h b/GIGA/Modules/LogIn/Controller/GiGaRegistViewController.h index 732e239..0aec380 100644 --- a/GIGA/Modules/LogIn/Controller/GiGaRegistViewController.h +++ b/GIGA/Modules/LogIn/Controller/GiGaRegistViewController.h @@ -9,5 +9,6 @@ #import #import "GiGaBaseViewController.h" @interface GiGaRegistViewController : GiGaBaseViewController +@property (weak, nonatomic) IBOutlet UIScrollView *backScrollView; @end diff --git a/GIGA/Modules/LogIn/Controller/GiGaRegistViewController.m b/GIGA/Modules/LogIn/Controller/GiGaRegistViewController.m index 53664df..553ca0e 100644 --- a/GIGA/Modules/LogIn/Controller/GiGaRegistViewController.m +++ b/GIGA/Modules/LogIn/Controller/GiGaRegistViewController.m @@ -47,6 +47,13 @@ [self resetBackimg]; + if (@available(iOS 11.0, *)) { + self.backScrollView.contentInsetAdjustmentBehavior = UIScrollViewContentInsetAdjustmentNever; + } else { + self.automaticallyAdjustsScrollViewInsets = NO; + // Fallback on earlier versions + } + } -(void)resetBackimg{ diff --git a/GIGA/Modules/LogIn/Controller/GiGaRegistViewController.xib b/GIGA/Modules/LogIn/Controller/GiGaRegistViewController.xib index 5143108..eb52152 100644 --- a/GIGA/Modules/LogIn/Controller/GiGaRegistViewController.xib +++ b/GIGA/Modules/LogIn/Controller/GiGaRegistViewController.xib @@ -12,6 +12,7 @@ + @@ -28,17 +29,17 @@ - + - + - + @@ -47,14 +48,14 @@ - + - + @@ -63,7 +64,7 @@ - + - + - + @@ -114,7 +115,7 @@ - + - + @@ -150,11 +151,11 @@ - + - - + + @@ -172,7 +173,7 @@ - + diff --git a/GIGA/Modules/LogIn/Controller/PassWordResetVC.xib b/GIGA/Modules/LogIn/Controller/PassWordResetVC.xib index bb3a1f8..24a0807 100644 --- a/GIGA/Modules/LogIn/Controller/PassWordResetVC.xib +++ b/GIGA/Modules/LogIn/Controller/PassWordResetVC.xib @@ -1,11 +1,11 @@ - + - + @@ -65,7 +65,7 @@