add files
|
|
@ -96,6 +96,16 @@
|
|||
8384643E214A484400F12B33 /* MaskTestResult.m in Sources */ = {isa = PBXBuildFile; fileRef = 8384643D214A484400F12B33 /* MaskTestResult.m */; };
|
||||
83846441214A4BFF00F12B33 /* MaskTestResultVC.m in Sources */ = {isa = PBXBuildFile; fileRef = 83846440214A4BFF00F12B33 /* MaskTestResultVC.m */; };
|
||||
838500DC2137F3F7003514A3 /* GiGaAttributedLabel.m in Sources */ = {isa = PBXBuildFile; fileRef = 838500DB2137F3F7003514A3 /* GiGaAttributedLabel.m */; };
|
||||
838762D3214B9D120039D241 /* GIGaUserInfoAvatorCell.m in Sources */ = {isa = PBXBuildFile; fileRef = 838762D1214B9D120039D241 /* GIGaUserInfoAvatorCell.m */; };
|
||||
838762D4214B9D120039D241 /* GIGaUserInfoAvatorCell.xib in Resources */ = {isa = PBXBuildFile; fileRef = 838762D2214B9D120039D241 /* GIGaUserInfoAvatorCell.xib */; };
|
||||
838762D8214B9EF80039D241 /* GIGaUserIDViewCell.m in Sources */ = {isa = PBXBuildFile; fileRef = 838762D6214B9EF80039D241 /* GIGaUserIDViewCell.m */; };
|
||||
838762D9214B9EF80039D241 /* GIGaUserIDViewCell.xib in Resources */ = {isa = PBXBuildFile; fileRef = 838762D7214B9EF80039D241 /* GIGaUserIDViewCell.xib */; };
|
||||
838762DD214B9F140039D241 /* GIGaUserWeChatViewCell.m in Sources */ = {isa = PBXBuildFile; fileRef = 838762DB214B9F140039D241 /* GIGaUserWeChatViewCell.m */; };
|
||||
838762DE214B9F140039D241 /* GIGaUserWeChatViewCell.xib in Resources */ = {isa = PBXBuildFile; fileRef = 838762DC214B9F140039D241 /* GIGaUserWeChatViewCell.xib */; };
|
||||
838762E2214B9F580039D241 /* GiGaUserSexViewCell.m in Sources */ = {isa = PBXBuildFile; fileRef = 838762E0214B9F580039D241 /* GiGaUserSexViewCell.m */; };
|
||||
838762E3214B9F580039D241 /* GiGaUserSexViewCell.xib in Resources */ = {isa = PBXBuildFile; fileRef = 838762E1214B9F580039D241 /* GiGaUserSexViewCell.xib */; };
|
||||
838762E7214B9FA60039D241 /* GIGaUserCityViewCell.m in Sources */ = {isa = PBXBuildFile; fileRef = 838762E5214B9FA60039D241 /* GIGaUserCityViewCell.m */; };
|
||||
838762E8214B9FA60039D241 /* GIGaUserCityViewCell.xib in Resources */ = {isa = PBXBuildFile; fileRef = 838762E6214B9FA60039D241 /* GIGaUserCityViewCell.xib */; };
|
||||
83928FFA2134D8F60077D2E8 /* GiGaFlyingCommitInputView.m in Sources */ = {isa = PBXBuildFile; fileRef = 83928FF92134D8F60077D2E8 /* GiGaFlyingCommitInputView.m */; };
|
||||
83928FFE2134F37D0077D2E8 /* GiGaSocketRocketUtility.m in Sources */ = {isa = PBXBuildFile; fileRef = 83928FFD2134F37D0077D2E8 /* GiGaSocketRocketUtility.m */; };
|
||||
839290052134F4240077D2E8 /* LXDanMuTrackView.m in Sources */ = {isa = PBXBuildFile; fileRef = 839290002134F4230077D2E8 /* LXDanMuTrackView.m */; };
|
||||
|
|
@ -302,6 +312,21 @@
|
|||
83846440214A4BFF00F12B33 /* MaskTestResultVC.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = MaskTestResultVC.m; sourceTree = "<group>"; };
|
||||
838500DA2137F3F7003514A3 /* GiGaAttributedLabel.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = GiGaAttributedLabel.h; sourceTree = "<group>"; };
|
||||
838500DB2137F3F7003514A3 /* GiGaAttributedLabel.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = GiGaAttributedLabel.m; sourceTree = "<group>"; };
|
||||
838762D0214B9D120039D241 /* GIGaUserInfoAvatorCell.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = GIGaUserInfoAvatorCell.h; sourceTree = "<group>"; };
|
||||
838762D1214B9D120039D241 /* GIGaUserInfoAvatorCell.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = GIGaUserInfoAvatorCell.m; sourceTree = "<group>"; };
|
||||
838762D2214B9D120039D241 /* GIGaUserInfoAvatorCell.xib */ = {isa = PBXFileReference; lastKnownFileType = file.xib; path = GIGaUserInfoAvatorCell.xib; sourceTree = "<group>"; };
|
||||
838762D5214B9EF80039D241 /* GIGaUserIDViewCell.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = GIGaUserIDViewCell.h; sourceTree = "<group>"; };
|
||||
838762D6214B9EF80039D241 /* GIGaUserIDViewCell.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = GIGaUserIDViewCell.m; sourceTree = "<group>"; };
|
||||
838762D7214B9EF80039D241 /* GIGaUserIDViewCell.xib */ = {isa = PBXFileReference; lastKnownFileType = file.xib; path = GIGaUserIDViewCell.xib; sourceTree = "<group>"; };
|
||||
838762DA214B9F140039D241 /* GIGaUserWeChatViewCell.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = GIGaUserWeChatViewCell.h; sourceTree = "<group>"; };
|
||||
838762DB214B9F140039D241 /* GIGaUserWeChatViewCell.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = GIGaUserWeChatViewCell.m; sourceTree = "<group>"; };
|
||||
838762DC214B9F140039D241 /* GIGaUserWeChatViewCell.xib */ = {isa = PBXFileReference; lastKnownFileType = file.xib; path = GIGaUserWeChatViewCell.xib; sourceTree = "<group>"; };
|
||||
838762DF214B9F580039D241 /* GiGaUserSexViewCell.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = GiGaUserSexViewCell.h; sourceTree = "<group>"; };
|
||||
838762E0214B9F580039D241 /* GiGaUserSexViewCell.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = GiGaUserSexViewCell.m; sourceTree = "<group>"; };
|
||||
838762E1214B9F580039D241 /* GiGaUserSexViewCell.xib */ = {isa = PBXFileReference; lastKnownFileType = file.xib; path = GiGaUserSexViewCell.xib; sourceTree = "<group>"; };
|
||||
838762E4214B9FA60039D241 /* GIGaUserCityViewCell.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = GIGaUserCityViewCell.h; sourceTree = "<group>"; };
|
||||
838762E5214B9FA60039D241 /* GIGaUserCityViewCell.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = GIGaUserCityViewCell.m; sourceTree = "<group>"; };
|
||||
838762E6214B9FA60039D241 /* GIGaUserCityViewCell.xib */ = {isa = PBXFileReference; lastKnownFileType = file.xib; path = GIGaUserCityViewCell.xib; sourceTree = "<group>"; };
|
||||
83928FF82134D8F60077D2E8 /* GiGaFlyingCommitInputView.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = GiGaFlyingCommitInputView.h; sourceTree = "<group>"; };
|
||||
83928FF92134D8F60077D2E8 /* GiGaFlyingCommitInputView.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = GiGaFlyingCommitInputView.m; sourceTree = "<group>"; };
|
||||
83928FFC2134F37D0077D2E8 /* GiGaSocketRocketUtility.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = GiGaSocketRocketUtility.h; sourceTree = "<group>"; };
|
||||
|
|
@ -759,6 +784,7 @@
|
|||
8361B42A212180A100238FEB /* View */ = {
|
||||
isa = PBXGroup;
|
||||
children = (
|
||||
838762CF214B9CAA0039D241 /* userInfoView */,
|
||||
83BFAE64213CCF10004EF801 /* GiGaMineUserViewCell.h */,
|
||||
83BFAE65213CCF10004EF801 /* GiGaMineUserViewCell.m */,
|
||||
83BFAE66213CCF10004EF801 /* GiGaMineUserViewCell.xib */,
|
||||
|
|
@ -953,6 +979,28 @@
|
|||
path = AlertView;
|
||||
sourceTree = "<group>";
|
||||
};
|
||||
838762CF214B9CAA0039D241 /* userInfoView */ = {
|
||||
isa = PBXGroup;
|
||||
children = (
|
||||
838762D0214B9D120039D241 /* GIGaUserInfoAvatorCell.h */,
|
||||
838762D1214B9D120039D241 /* GIGaUserInfoAvatorCell.m */,
|
||||
838762D2214B9D120039D241 /* GIGaUserInfoAvatorCell.xib */,
|
||||
838762D5214B9EF80039D241 /* GIGaUserIDViewCell.h */,
|
||||
838762D6214B9EF80039D241 /* GIGaUserIDViewCell.m */,
|
||||
838762D7214B9EF80039D241 /* GIGaUserIDViewCell.xib */,
|
||||
838762DA214B9F140039D241 /* GIGaUserWeChatViewCell.h */,
|
||||
838762DB214B9F140039D241 /* GIGaUserWeChatViewCell.m */,
|
||||
838762DC214B9F140039D241 /* GIGaUserWeChatViewCell.xib */,
|
||||
838762DF214B9F580039D241 /* GiGaUserSexViewCell.h */,
|
||||
838762E0214B9F580039D241 /* GiGaUserSexViewCell.m */,
|
||||
838762E1214B9F580039D241 /* GiGaUserSexViewCell.xib */,
|
||||
838762E4214B9FA60039D241 /* GIGaUserCityViewCell.h */,
|
||||
838762E5214B9FA60039D241 /* GIGaUserCityViewCell.m */,
|
||||
838762E6214B9FA60039D241 /* GIGaUserCityViewCell.xib */,
|
||||
);
|
||||
path = userInfoView;
|
||||
sourceTree = "<group>";
|
||||
};
|
||||
83928FFB2134F37D0077D2E8 /* SocketRocketUtility */ = {
|
||||
isa = PBXGroup;
|
||||
children = (
|
||||
|
|
@ -1172,15 +1220,20 @@
|
|||
buildActionMask = 2147483647;
|
||||
files = (
|
||||
83346AC6212BBC8C0054D597 /* GiGaRegistViewController.xib in Resources */,
|
||||
838762DE214B9F140039D241 /* GIGaUserWeChatViewCell.xib in Resources */,
|
||||
83BFAE6D213CD0E3004EF801 /* GiGaMineInfoViewCell.xib in Resources */,
|
||||
8361B3D6212155C300238FEB /* LaunchScreen.storyboard in Resources */,
|
||||
838762E3214B9F580039D241 /* GiGaUserSexViewCell.xib in Resources */,
|
||||
838388DA2130046D00D14C53 /* emojizone.mp4 in Resources */,
|
||||
83A22720212AC8C100B3E75C /* GiGaUserLoginVC.xib in Resources */,
|
||||
838762D4214B9D120039D241 /* GIGaUserInfoAvatorCell.xib in Resources */,
|
||||
838388C4212F934400D14C53 /* pomodoSound.m4a in Resources */,
|
||||
83BFAE78213CDE91004EF801 /* GiGaSettingsViewCell.xib in Resources */,
|
||||
83346AC1212BB50A0054D597 /* PassWordResetVC.xib in Resources */,
|
||||
83BDC0592147B89900E74E0D /* GiGaAnswerViewCell.xib in Resources */,
|
||||
83346AD1212BF5B70054D597 /* useragreement.html in Resources */,
|
||||
838762D9214B9EF80039D241 /* GIGaUserIDViewCell.xib in Resources */,
|
||||
838762E8214B9FA60039D241 /* GIGaUserCityViewCell.xib in Resources */,
|
||||
83BFAE68213CCF10004EF801 /* GiGaMineUserViewCell.xib in Resources */,
|
||||
8340BFA9213E65CA008F22E4 /* GIGACommonLocalizabe.strings in Resources */,
|
||||
83835BA8212E4748001480F2 /* MAssaageCenterCell.xib in Resources */,
|
||||
|
|
@ -1293,6 +1346,7 @@
|
|||
83346AD7212C18F50054D597 /* GiGaAppGaurdVC.m in Sources */,
|
||||
8349585C212511040064DB6C /* AppDelegate+ThirdParty.m in Sources */,
|
||||
83BFAE73213CDB58004EF801 /* GiSysSettingsVC.m in Sources */,
|
||||
838762D8214B9EF80039D241 /* GIGaUserIDViewCell.m in Sources */,
|
||||
838500DC2137F3F7003514A3 /* GiGaAttributedLabel.m in Sources */,
|
||||
83BFAE7B213D3F3A004EF801 /* MaskTimeCircularProgressView.m in Sources */,
|
||||
8314D2112133ABE500B458BF /* WeiIXinApiManager.m in Sources */,
|
||||
|
|
@ -1342,6 +1396,7 @@
|
|||
8338F6B92142504E00B4780B /* LXCustomSwith.m in Sources */,
|
||||
8357ADD32123C7C6000816F2 /* GiGaAPIResult.m in Sources */,
|
||||
8340BF9E213E3846008F22E4 /* SHineLabel.m in Sources */,
|
||||
838762D3214B9D120039D241 /* GIGaUserInfoAvatorCell.m in Sources */,
|
||||
8361B4352121836700238FEB /* GiGaBaseNavViewController.m in Sources */,
|
||||
835060B3212D54C2007E6220 /* GiGaAdDetailViewController.m in Sources */,
|
||||
83346AC0212BB50A0054D597 /* PassWordResetVC.m in Sources */,
|
||||
|
|
@ -1351,14 +1406,17 @@
|
|||
83BFAE67213CCF10004EF801 /* GiGaMineUserViewCell.m in Sources */,
|
||||
8392900C2134F9F80077D2E8 /* GiGaCommentView.m in Sources */,
|
||||
839290062134F4240077D2E8 /* LXDanMuManager.m in Sources */,
|
||||
838762E2214B9F580039D241 /* GiGaUserSexViewCell.m in Sources */,
|
||||
839290052134F4240077D2E8 /* LXDanMuTrackView.m in Sources */,
|
||||
83E40B2F21218BA0008149C4 /* GiGaUserViewController.m in Sources */,
|
||||
835060A5212D3536007E6220 /* AppDelegate+GiGaConfig.m in Sources */,
|
||||
83E40B2B21218B6F008149C4 /* GiGaExercisesViewController.m in Sources */,
|
||||
838762E7214B9FA60039D241 /* GIGaUserCityViewCell.m in Sources */,
|
||||
83BFAE77213CDE91004EF801 /* GiGaSettingsViewCell.m in Sources */,
|
||||
83835BA7212E4748001480F2 /* MAssaageCenterCell.m in Sources */,
|
||||
836EE5D42136454500F0ABB2 /* RegistGetSMSCodeRequest.m in Sources */,
|
||||
8361B42E2121812000238FEB /* GiGaServerConfig.m in Sources */,
|
||||
838762DD214B9F140039D241 /* GIGaUserWeChatViewCell.m in Sources */,
|
||||
8340BFAF213E739D008F22E4 /* GiGaNoNetWorkView.m in Sources */,
|
||||
836EE5DA2136716100F0ABB2 /* NSTimer+Convenience.m in Sources */,
|
||||
83A22712212A9EA900B3E75C /* UIView+Sizes.m in Sources */,
|
||||
|
|
|
|||
|
|
@ -36,6 +36,13 @@
|
|||
//广告页
|
||||
[self creatAdView];
|
||||
//[self setupTabBarController];
|
||||
|
||||
//启动同步用户数据
|
||||
BOOL islogin = [GiGaUserDefault isUserLogin];
|
||||
if (islogin) {
|
||||
[[GiGaUserManager shareUser] synsisUserInfo:nil];
|
||||
}
|
||||
|
||||
return YES;
|
||||
}
|
||||
|
||||
|
|
|
|||
|
Before Width: | Height: | Size: 3.9 KiB After Width: | Height: | Size: 3.7 KiB |
|
Before Width: | Height: | Size: 5.6 KiB After Width: | Height: | Size: 5.2 KiB |
|
Before Width: | Height: | Size: 5.6 KiB After Width: | Height: | Size: 5.2 KiB |
|
Before Width: | Height: | Size: 7.9 KiB After Width: | Height: | Size: 7.4 KiB |
|
Before Width: | Height: | Size: 4.7 KiB After Width: | Height: | Size: 4.5 KiB |
|
Before Width: | Height: | Size: 7.7 KiB After Width: | Height: | Size: 7.1 KiB |
|
Before Width: | Height: | Size: 7.7 KiB After Width: | Height: | Size: 7.1 KiB |
|
Before Width: | Height: | Size: 10 KiB After Width: | Height: | Size: 9.3 KiB |
|
Before Width: | Height: | Size: 5.6 KiB After Width: | Height: | Size: 5.2 KiB |
|
Before Width: | Height: | Size: 9.6 KiB After Width: | Height: | Size: 8.6 KiB |
|
Before Width: | Height: | Size: 9.6 KiB After Width: | Height: | Size: 8.6 KiB |
|
Before Width: | Height: | Size: 15 KiB After Width: | Height: | Size: 13 KiB |
|
Before Width: | Height: | Size: 15 KiB After Width: | Height: | Size: 13 KiB |
|
Before Width: | Height: | Size: 23 KiB After Width: | Height: | Size: 18 KiB |
|
Before Width: | Height: | Size: 9.2 KiB After Width: | Height: | Size: 8.3 KiB |
|
Before Width: | Height: | Size: 19 KiB After Width: | Height: | Size: 15 KiB |
|
Before Width: | Height: | Size: 22 KiB After Width: | Height: | Size: 16 KiB |
|
Before Width: | Height: | Size: 189 KiB After Width: | Height: | Size: 71 KiB |
|
|
@ -0,0 +1,13 @@
|
|||
{
|
||||
"images" : [
|
||||
{
|
||||
"idiom" : "universal",
|
||||
"filename" : "sex_disselect@2x.png",
|
||||
"scale" : "2x"
|
||||
}
|
||||
],
|
||||
"info" : {
|
||||
"version" : 1,
|
||||
"author" : "xcode"
|
||||
}
|
||||
}
|
||||
BIN
GIGA/Assets.xcassets/userCenter/sex_disselect.imageset/sex_disselect@2x.png
vendored
Normal file
|
After Width: | Height: | Size: 881 B |
|
|
@ -0,0 +1,13 @@
|
|||
{
|
||||
"images" : [
|
||||
{
|
||||
"idiom" : "universal",
|
||||
"filename" : "sex_selected@2x.png",
|
||||
"scale" : "2x"
|
||||
}
|
||||
],
|
||||
"info" : {
|
||||
"version" : 1,
|
||||
"author" : "xcode"
|
||||
}
|
||||
}
|
||||
|
After Width: | Height: | Size: 620 B |
|
|
@ -24,7 +24,7 @@ static char overlayKey;
|
|||
{
|
||||
if (!self.overlay) {
|
||||
[self setBackgroundImage:[UIImage new] forBarMetrics:UIBarMetricsDefault];
|
||||
self.overlay = [[UIView alloc] initWithFrame:CGRectMake(0, -PhoneX_STATUBAR_H, [UIScreen mainScreen].bounds.size.width, CGRectGetHeight(self.bounds) + PhoneX_STATUBAR_H)];
|
||||
self.overlay = [[UIView alloc] initWithFrame:CGRectMake(0, -Phone_STATUBAR_H, [UIScreen mainScreen].bounds.size.width, CGRectGetHeight(self.bounds) + Phone_STATUBAR_H)];
|
||||
self.overlay.userInteractionEnabled = NO;
|
||||
self.overlay.autoresizingMask = UIViewAutoresizingFlexibleWidth|UIViewAutoresizingFlexibleHeight;
|
||||
[self insertSubview:self.overlay atIndex:0];
|
||||
|
|
@ -58,6 +58,7 @@ static char overlayKey;
|
|||
-(void)setBackgroundImage{
|
||||
|
||||
[self setBackgroundImage:[UIImage imageNamed:@"nav_red_moment"] forBarMetrics:UIBarMetricsDefault];
|
||||
[self setTranslucent:NO];
|
||||
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -26,12 +26,15 @@
|
|||
// Do any additional setup after loading the view.
|
||||
|
||||
//[self.navigationController.navigationBar cnSetBackgroundColor:GIGARGB(216, 216, 216, 1)];
|
||||
//[self.navigationController.navigationBar setBarTintColor:GIGA_MAIN_BGCOLOR];
|
||||
|
||||
|
||||
}
|
||||
|
||||
- (void)viewDidAppear:(BOOL)animated{
|
||||
[super viewDidAppear:animated];
|
||||
|
||||
|
||||
}
|
||||
-(void)viewWillDisappear:(BOOL)animated{
|
||||
[super viewWillDisappear:animated];
|
||||
|
|
@ -41,6 +44,7 @@
|
|||
-(void)viewWillAppear:(BOOL)animated{
|
||||
[super viewWillAppear:animated];
|
||||
[self.navigationController.navigationBar setBackgroundImage];
|
||||
//[self.navigationController.navigationBar setTranslucent:YES];
|
||||
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -58,5 +58,12 @@
|
|||
+(NSString *)convertToJsonData:(NSDictionary *)dict;
|
||||
+(NSDictionary *)dictionaryWithJsonString:(NSString *)jsonString;
|
||||
|
||||
/**
|
||||
6~20 密码 必须包含数字和字母
|
||||
|
||||
@return 必须包含数字和字母
|
||||
*/
|
||||
|
||||
+(BOOL)checkPassWord:(NSString *)pass;
|
||||
|
||||
@end
|
||||
|
|
|
|||
|
|
@ -230,10 +230,9 @@
|
|||
}
|
||||
//⚠️ 13.2.0库编码采用 isoLatin1
|
||||
|
||||
NSData *jsonData = [jsonString dataUsingEncoding:NSUTF8StringEncoding];
|
||||
|
||||
//NSData *jsonData = [jsonString dataUsingEncoding:NSUTF8StringEncoding];
|
||||
|
||||
NSData *jsonData = [jsonString dataUsingEncoding:NSISOLatin1StringEncoding];
|
||||
//NSData *jsonData = [jsonString dataUsingEncoding:NSISOLatin1StringEncoding];
|
||||
NSError *err;
|
||||
NSDictionary *dic = [NSJSONSerialization JSONObjectWithData:jsonData
|
||||
options:NSJSONReadingMutableContainers
|
||||
|
|
@ -254,4 +253,16 @@
|
|||
return [NSString stringWithUTF8String:[oldStr cStringUsingEncoding:enc]];
|
||||
}
|
||||
|
||||
|
||||
+(BOOL)checkPassWord:(NSString *)pass
|
||||
{
|
||||
//6-20位数字和字母组成
|
||||
NSString *regex = @"^(?![0-9]+$)(?![a-zA-Z]+$)[0-9A-Za-z]{6,20}$";
|
||||
NSPredicate * pred = [NSPredicate predicateWithFormat:@"SELF MATCHES %@", regex];
|
||||
if ([pred evaluateWithObject:pass]) {
|
||||
return YES ;
|
||||
}else
|
||||
return NO;
|
||||
}
|
||||
|
||||
@end
|
||||
|
|
|
|||
|
|
@ -50,6 +50,16 @@
|
|||
+(void)saveWeiXinaccesstokenInfoWithDic:(NSDictionary *)dic;
|
||||
+(NSDictionary *)getWeiXinAccessToenDic;
|
||||
|
||||
//面膜时间 未登录用户默认16分钟 测试用户对应测试结果
|
||||
|
||||
|
||||
/**
|
||||
保存用户测试时间
|
||||
|
||||
@param time 秒
|
||||
*/
|
||||
+(void)savaMaskeTime:(NSTimeInterval)time;
|
||||
+(NSTimeInterval)getUserMaskeTime;
|
||||
|
||||
|
||||
@end
|
||||
|
|
|
|||
|
|
@ -15,6 +15,8 @@ NSString *const kShowAppGuard = @"ShowAppGuard";
|
|||
NSString *const kWeiXinSaveToken = @"WeiXinSaveToken";
|
||||
NSString *const kWeiXinUserInfo = @"WeiXinUserinfo";
|
||||
NSString *const kGiGaToken = @"GiGatoken";
|
||||
NSString *const kMaskeTime= @"userMaskeTime";
|
||||
#define MASKTIME_DEFAULT 20;
|
||||
|
||||
@implementation GiGaUserDefault
|
||||
|
||||
|
|
@ -54,7 +56,9 @@ NSString *const kGiGaToken = @"GiGatoken";
|
|||
}
|
||||
|
||||
+(void)userLogOut{
|
||||
|
||||
UD_REMOVE_KEY(kGiGaToken);
|
||||
UD_REMOVE_KEY(kMaskeTime);
|
||||
UD_REMOVE_KEY(GIGADEFAULTKEY_USERID);
|
||||
}
|
||||
|
||||
|
|
@ -99,6 +103,7 @@ NSString *const kGiGaToken = @"GiGatoken";
|
|||
+(void)saveWeiXinaccesstokenInfoWithDic:(NSDictionary *)dic
|
||||
{
|
||||
[UD_STADARDUD setObject:dic forKey:kWeiXinSaveToken];
|
||||
[UD_STADARDUD synchronize];
|
||||
}
|
||||
|
||||
+(NSDictionary *)getWeiXinAccessToenDic{
|
||||
|
|
@ -109,6 +114,7 @@ NSString *const kGiGaToken = @"GiGatoken";
|
|||
+(void)saveWeiXinUserInfoDic:(NSDictionary *)dic
|
||||
{
|
||||
[UD_STADARDUD setObject:dic forKey:kWeiXinUserInfo];
|
||||
[UD_STADARDUD synchronize];
|
||||
}
|
||||
|
||||
+(NSDictionary *)getWeiXinUserInfoDic{
|
||||
|
|
@ -116,5 +122,19 @@ NSString *const kGiGaToken = @"GiGatoken";
|
|||
return [UD_STADARDUD objectForKey:kWeiXinUserInfo];
|
||||
}
|
||||
|
||||
+(void)savaMaskeTime:(NSTimeInterval)time{
|
||||
[UD_STADARDUD setDouble:time forKey:kMaskeTime];
|
||||
[UD_STADARDUD synchronize];
|
||||
}
|
||||
|
||||
+ (NSTimeInterval)getUserMaskeTime{
|
||||
|
||||
NSTimeInterval time = [UD_STADARDUD doubleForKey:kMaskeTime];
|
||||
if (time == 0) {
|
||||
//time = 16 * 60;
|
||||
time = MASKTIME_DEFAULT;
|
||||
}
|
||||
return time;
|
||||
}
|
||||
|
||||
@end
|
||||
|
|
|
|||
|
|
@ -8,6 +8,10 @@
|
|||
|
||||
#import <Foundation/Foundation.h>
|
||||
#import "GiGaUser.h"
|
||||
|
||||
|
||||
typedef void (^userDataresponseBlock)(GiGaUser *user);
|
||||
|
||||
@interface GiGaUserManager : NSObject
|
||||
|
||||
@property(nonatomic,strong) GiGaUser *user;
|
||||
|
|
@ -22,4 +26,6 @@
|
|||
*/
|
||||
//-(void)detectionUserUpgrade;
|
||||
|
||||
-(void)synsisUserInfo:(userDataresponseBlock)block;
|
||||
|
||||
@end
|
||||
|
|
|
|||
|
|
@ -9,6 +9,7 @@
|
|||
#import "GiGaUserManager.h"
|
||||
#import "YTKKeyValueStore.h"
|
||||
#import "GiGaUserDefault.h"
|
||||
#import "GiGaBaseAPiRequest.h"
|
||||
|
||||
NSString *const GIGA_USER_TABLE = @"user_table";
|
||||
const static NSInteger GIGADB_USER_VER = 0;//当前数据库版本号
|
||||
|
|
@ -47,6 +48,29 @@ const static NSInteger GIGADB_USER_VER = 0;//当前数据库版本号
|
|||
return self;
|
||||
}
|
||||
|
||||
//登录成功后请求用户数据
|
||||
-(void)synsisUserInfo:(userDataresponseBlock)block{
|
||||
|
||||
GiGaBaseAPiRequest *requst = [GiGaBaseAPiRequest initWithRequestPath:@"user/v1/info" method:RequestPostMethod parms:nil];
|
||||
weakify(self);
|
||||
[requst requstDataWithResult:^(GiGaAPIResult *result) {
|
||||
|
||||
if (result.success) {
|
||||
//更新用户信息
|
||||
NSDictionary *userDic = result.dic[@"userInfo"];
|
||||
GiGaUser *user = [[GiGaUser alloc] initWithDictionary:userDic error:nil];
|
||||
self.user = user;
|
||||
[weakSelf saveUser:user];
|
||||
|
||||
if (block) {
|
||||
block(user);
|
||||
}
|
||||
NSLog(@"user dic ***\n%@",result.dic);
|
||||
}
|
||||
}];
|
||||
|
||||
}
|
||||
|
||||
//建表
|
||||
-(void)creatTableByName:(NSString *)tableName{
|
||||
[_store createTableWithName:tableName];
|
||||
|
|
@ -57,12 +81,12 @@ const static NSInteger GIGADB_USER_VER = 0;//当前数据库版本号
|
|||
self.user = user;
|
||||
NSString *userTableId = [NSString stringWithFormat:@"%@",user.userId];
|
||||
self.userTabId = userTableId;
|
||||
|
||||
//暂定只保留一个用户
|
||||
NSDictionary *userDic = [user toDictionary];
|
||||
[_userArr removeAllObjects];
|
||||
[_userArr addObject:userDic];
|
||||
|
||||
|
||||
|
||||
[_store putObject:_userArr withId:userTableId intoTable:GIGA_USER_TABLE];
|
||||
[GiGaUserDefault saveUserId:userTableId];
|
||||
|
||||
|
|
@ -86,7 +110,8 @@ const static NSInteger GIGADB_USER_VER = 0;//当前数据库版本号
|
|||
|
||||
-(void)loginOut{
|
||||
self.user = nil;
|
||||
[GiGaUserDefault removeUserId];
|
||||
[GiGaUserDefault userLogOut];
|
||||
|
||||
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -43,6 +43,10 @@ UD_SYNC
|
|||
#define kLOCALNotifiID_APPTERMINAL @"GIGALocalNotificationAppTerminal"
|
||||
//注册成功
|
||||
#define kUserRegistSucccess @"userRegistSuccess"
|
||||
//登录成功
|
||||
#define kUserLoginSuccessNoti @"gigaUserloginSuccess"
|
||||
//退出登录
|
||||
#define kUserLogOutNotify @"userLogOutNotify"
|
||||
|
||||
//微信登陆授权成功
|
||||
#define kWeiXinAuthrization_Success @"WXAuthSuccess"
|
||||
|
|
@ -82,11 +86,15 @@ alpha:((float)(rgbValue & 0xFF))/255.0]
|
|||
|
||||
//X
|
||||
//底部工具栏需要为home indicator留出34pt边距
|
||||
#define PhoneX_BottomMargin ([UIScreen mainScreen].bounds.size.height == 812.0 ? 34.0 :0.0)
|
||||
#define PhoneX_BottomMargin ([UIScreen mainScreen].bounds.size.height == 44.0 ? 34.0 :0.0)
|
||||
//状态栏高度由20pt变成44pt,导航栏以上变化64->88。
|
||||
#define PhoneX_TopMargin ([UIScreen mainScreen].bounds.size.height == 812.0 ? 24.0 :0.0)
|
||||
#define PhoneX_TopMargin ([[UIApplication sharedApplication] statusBarFrame].size.height == 44.0 ? 24.0 :0.0)
|
||||
|
||||
// 状态栏高度 所有机型
|
||||
#define Phone_STATUBAR_H [[UIApplication sharedApplication] statusBarFrame].size.height
|
||||
//状态栏—➕导航栏
|
||||
#define SAFE_NAV_HEIGHT ([[UIApplication sharedApplication] statusBarFrame].size.height + self.navigationController.navigationBar.frame.size.height)
|
||||
|
||||
#define PhoneX_STATUBAR_H ([UIScreen mainScreen].bounds.size.height == 812.0 ? 44.0 :20.0)
|
||||
|
||||
#define GIGA_FONTNAME @"PingFangSC-Medium"
|
||||
#define GIGA_FONTBOLD @"PingFangSC-Semibold"
|
||||
|
|
|
|||
|
|
@ -22,6 +22,7 @@
|
|||
#import <UMAnalytics/MobClick.h>
|
||||
#import "MobClickList.h"
|
||||
#import "TTTAttributedLabel.h"
|
||||
#import "GiGaUserManager.h"
|
||||
|
||||
#ifdef DEBUG
|
||||
#define GILog(fmt,...) NSLog((@"%s [Line %d] " fmt), __PRETTY_FUNCTION__, __LINE__, ##__VA_ARGS__)
|
||||
|
|
|
|||
|
|
@ -52,7 +52,7 @@ static int const showTime = 5;
|
|||
// [_adView addGestureRecognizer:tap];
|
||||
CGFloat btnW = 80;
|
||||
CGFloat btnH = 26;
|
||||
_countBtn = [[UIButton alloc] initWithFrame:CGRectMake(KMainW - btnW - 24,PhoneX_STATUBAR_H + 10, btnW, btnH)];
|
||||
_countBtn = [[UIButton alloc] initWithFrame:CGRectMake(KMainW - btnW - 24,Phone_STATUBAR_H + 10, btnW, btnH)];
|
||||
|
||||
[_countBtn addTarget:self action:@selector(removeAdView) forControlEvents:UIControlEventTouchUpInside];
|
||||
// [_countBtn setTitle:[NSString stringWithFormat:@"跳过%d",showTime] forState:UIControlStateNormal];
|
||||
|
|
|
|||
|
|
@ -201,12 +201,14 @@
|
|||
GIGA_ShowToast(@"请输入验证码");
|
||||
return;
|
||||
}
|
||||
if (!(self.passTexFied.text.length >=6 && self.passTexFied.text.length <=20) || self.passTexFied.text.length == 0) {
|
||||
GIGA_ShowToast(@"请输入6~20位密码");
|
||||
|
||||
BOOL isPass = [GiGaHelper checkPassWord:self.passTexFied.text];
|
||||
if (isPass == NO) {
|
||||
GIGA_ShowToast(@"请输入6-20位数字和字母组成的密码");
|
||||
return;
|
||||
}
|
||||
|
||||
[self regeist:btn];
|
||||
|
||||
}
|
||||
|
||||
//注册
|
||||
|
|
|
|||
|
|
@ -18,6 +18,8 @@
|
|||
#import "GiGaUser.h"
|
||||
#import "GiGaServerConfig.h"
|
||||
#import "GIGAMBHUDHelper.h"
|
||||
#import "GiGaHelper.h"
|
||||
#import "GiGaUserManager.h"
|
||||
|
||||
@interface GiGaUserLoginVC ()
|
||||
@property (weak, nonatomic) IBOutlet UIImageView *userImagView;
|
||||
|
|
@ -154,7 +156,7 @@
|
|||
#pragma mark 手机号登录
|
||||
-(void)loginBtnAction:(UIButton *)btn{
|
||||
|
||||
if (self.acountTextField.text == nil) {
|
||||
if (self.acountTextField.text.length == 0) {
|
||||
GIGA_ShowToast(@"请输入手机号");
|
||||
return;
|
||||
}
|
||||
|
|
@ -163,12 +165,14 @@
|
|||
return;
|
||||
}
|
||||
|
||||
if (self.passwordTextField.text == nil) {
|
||||
if (self.passwordTextField.text.length == 0) {
|
||||
GIGA_ShowToast(@"密码不能为空");
|
||||
return;
|
||||
}
|
||||
if (self.passwordTextField.text.length <= 6) {
|
||||
GIGA_ShowToast(@"密码长度不能小于六位字符");
|
||||
BOOL isPass = [GiGaHelper checkPassWord:self.passwordTextField.text];
|
||||
|
||||
if (isPass == NO) {
|
||||
GIGA_ShowToast(@"请输入6-20位数字和字母组成的密码");
|
||||
return;
|
||||
}
|
||||
|
||||
|
|
@ -312,16 +316,18 @@
|
|||
|
||||
//token 登陆标志
|
||||
[GiGaUserDefault saveToken:resDic[@"token"]];
|
||||
|
||||
//埋点
|
||||
[MobClick endEvent:MobClick_UserLogin];
|
||||
// //暂定123 登陆标志
|
||||
// [GiGaUserDefault saveUserId:@"123"];
|
||||
|
||||
GIGA_WIndowTost(@"登录成功!");
|
||||
//请求用户数据
|
||||
[[GiGaUserManager shareUser] synsisUserInfo:^(GiGaUser *user) {
|
||||
NSLog(@"%@",user.userId);
|
||||
}];
|
||||
NC_POST_NAME_OBJECT(kUserLoginSuccessNoti, nil);
|
||||
[self dismissViewControllerAnimated:YES completion:nil];
|
||||
|
||||
}
|
||||
|
||||
//接收注册成功通知
|
||||
-(void)userRegistSuccsessNoti:(NSNotification *)noti{
|
||||
|
||||
|
|
|
|||
|
|
@ -79,6 +79,8 @@
|
|||
GIGA_ShowToast(@"请输入正确手机号");
|
||||
return;
|
||||
}
|
||||
|
||||
|
||||
btn.userInteractionEnabled = NO;
|
||||
|
||||
[self startTimer:btn];
|
||||
|
|
@ -150,10 +152,15 @@
|
|||
GIGA_ShowToast(@"请输入新密码");
|
||||
return;
|
||||
}
|
||||
if (!(self.passNewTextField.text.length >= 6 && self.passNewTextField.text.length <= 20)) {
|
||||
GIGA_ShowToast(@"请输入6~20位新密码");
|
||||
|
||||
BOOL isPass = [GiGaHelper checkPassWord:self.passNewTextField.text];
|
||||
|
||||
if (isPass == NO) {
|
||||
GIGA_ShowToast(@"请输入6-20位数字和字母组成的密码");
|
||||
return;
|
||||
}
|
||||
|
||||
|
||||
btn.userInteractionEnabled = NO;
|
||||
[self.view makeToastActivity:CSToastPositionCenter];
|
||||
NSDictionary *params = @{
|
||||
|
|
|
|||
|
|
@ -1,11 +1,12 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<document type="com.apple.InterfaceBuilder3.CocoaTouch.XIB" version="3.0" toolsVersion="14113" targetRuntime="iOS.CocoaTouch" propertyAccessControl="none" useAutolayout="YES" useTraitCollections="YES" colorMatched="YES">
|
||||
<document type="com.apple.InterfaceBuilder3.CocoaTouch.XIB" version="3.0" toolsVersion="14113" targetRuntime="iOS.CocoaTouch" propertyAccessControl="none" useAutolayout="YES" useTraitCollections="YES" useSafeAreas="YES" colorMatched="YES">
|
||||
<device id="retina4_7" orientation="portrait">
|
||||
<adaptation id="fullscreen"/>
|
||||
</device>
|
||||
<dependencies>
|
||||
<deployment identifier="iOS"/>
|
||||
<plugIn identifier="com.apple.InterfaceBuilder.IBCocoaTouchPlugin" version="14088"/>
|
||||
<capability name="Safe area layout guides" minToolsVersion="9.0"/>
|
||||
<capability name="documents saved in the Xcode 8 format" minToolsVersion="8.0"/>
|
||||
</dependencies>
|
||||
<objects>
|
||||
|
|
@ -25,23 +26,23 @@
|
|||
<autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/>
|
||||
<subviews>
|
||||
<textField opaque="NO" contentMode="scaleToFill" contentHorizontalAlignment="left" contentVerticalAlignment="center" placeholder="输入手机号" textAlignment="natural" minimumFontSize="17" translatesAutoresizingMaskIntoConstraints="NO" id="gY9-PP-yev">
|
||||
<rect key="frame" x="65" y="107" width="245" height="51"/>
|
||||
<rect key="frame" x="65" y="43" width="245" height="51"/>
|
||||
<constraints>
|
||||
<constraint firstAttribute="height" constant="51" id="hdC-Ue-b1i"/>
|
||||
<constraint firstAttribute="height" constant="51" id="odj-rg-9sy"/>
|
||||
</constraints>
|
||||
<nil key="textColor"/>
|
||||
<fontDescription key="fontDescription" name="PingFangSC-Regular" family="PingFang SC" pointSize="12"/>
|
||||
<textInputTraits key="textInputTraits" keyboardType="numberPad"/>
|
||||
</textField>
|
||||
<view contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="eTv-jk-ONL">
|
||||
<rect key="frame" x="65" y="159" width="245" height="1"/>
|
||||
<rect key="frame" x="65" y="95" width="245" height="1"/>
|
||||
<color key="backgroundColor" red="0.94901960784313721" green="0.94901960784313721" blue="0.94901960784313721" alpha="1" colorSpace="calibratedRGB"/>
|
||||
<constraints>
|
||||
<constraint firstAttribute="height" constant="1" id="oPc-M9-lzE"/>
|
||||
</constraints>
|
||||
</view>
|
||||
<textField opaque="NO" contentMode="scaleToFill" contentHorizontalAlignment="left" contentVerticalAlignment="center" placeholder="短信验证码" textAlignment="natural" minimumFontSize="17" translatesAutoresizingMaskIntoConstraints="NO" id="nCj-Hg-8pQ">
|
||||
<rect key="frame" x="65" y="162" width="169" height="48"/>
|
||||
<rect key="frame" x="65" y="98" width="169" height="48"/>
|
||||
<constraints>
|
||||
<constraint firstAttribute="height" constant="48" id="bP2-dP-V9B"/>
|
||||
</constraints>
|
||||
|
|
@ -50,21 +51,21 @@
|
|||
<textInputTraits key="textInputTraits" keyboardType="numberPad"/>
|
||||
</textField>
|
||||
<view contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="rno-VM-u1V">
|
||||
<rect key="frame" x="65" y="214" width="245" height="1"/>
|
||||
<rect key="frame" x="65" y="150.5" width="245" height="1"/>
|
||||
<color key="backgroundColor" red="0.94901960780000005" green="0.94901960780000005" blue="0.94901960780000005" alpha="1" colorSpace="calibratedRGB"/>
|
||||
<constraints>
|
||||
<constraint firstAttribute="height" constant="1" id="I0I-Rj-P4f"/>
|
||||
</constraints>
|
||||
</view>
|
||||
<view contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="rm0-UH-T6r">
|
||||
<rect key="frame" x="65" y="273" width="245" height="1"/>
|
||||
<rect key="frame" x="65" y="209.5" width="245" height="1"/>
|
||||
<color key="backgroundColor" red="0.94901960780000005" green="0.94901960780000005" blue="0.94901960780000005" alpha="1" colorSpace="calibratedRGB"/>
|
||||
<constraints>
|
||||
<constraint firstAttribute="height" constant="1" id="pu6-ak-TJR"/>
|
||||
</constraints>
|
||||
</view>
|
||||
<button opaque="NO" contentMode="scaleToFill" contentHorizontalAlignment="center" contentVerticalAlignment="center" lineBreakMode="middleTruncation" translatesAutoresizingMaskIntoConstraints="NO" id="w3j-WU-gmW">
|
||||
<rect key="frame" x="87" y="316" width="200" height="41"/>
|
||||
<rect key="frame" x="87" y="252.5" width="200" height="41"/>
|
||||
<color key="backgroundColor" red="0.70980392156862748" green="0.054901960784313725" blue="0.054901960784313725" alpha="1" colorSpace="custom" customColorSpace="sRGB"/>
|
||||
<constraints>
|
||||
<constraint firstAttribute="height" constant="41" id="q8T-c9-PAl"/>
|
||||
|
|
@ -75,7 +76,7 @@
|
|||
</state>
|
||||
</button>
|
||||
<textField opaque="NO" contentMode="scaleToFill" contentHorizontalAlignment="left" contentVerticalAlignment="center" placeholder="输入新的登录密码" textAlignment="natural" minimumFontSize="17" translatesAutoresizingMaskIntoConstraints="NO" id="MHD-nb-UXj">
|
||||
<rect key="frame" x="65" y="221" width="245" height="51"/>
|
||||
<rect key="frame" x="65" y="157.5" width="245" height="51"/>
|
||||
<constraints>
|
||||
<constraint firstAttribute="height" constant="51" id="mAg-kT-tQz"/>
|
||||
</constraints>
|
||||
|
|
@ -84,7 +85,7 @@
|
|||
<textInputTraits key="textInputTraits" keyboardType="numbersAndPunctuation"/>
|
||||
</textField>
|
||||
<button opaque="NO" contentMode="scaleToFill" contentHorizontalAlignment="center" contentVerticalAlignment="center" lineBreakMode="middleTruncation" translatesAutoresizingMaskIntoConstraints="NO" id="Dv2-ja-F8y">
|
||||
<rect key="frame" x="234" y="161" width="76" height="48"/>
|
||||
<rect key="frame" x="234" y="97" width="76" height="48"/>
|
||||
<constraints>
|
||||
<constraint firstAttribute="height" constant="48" id="bin-f7-lIk"/>
|
||||
<constraint firstAttribute="width" constant="76" id="jyJ-IU-vK2"/>
|
||||
|
|
@ -98,30 +99,31 @@
|
|||
</subviews>
|
||||
<color key="backgroundColor" red="1" green="1" blue="1" alpha="1" colorSpace="custom" customColorSpace="sRGB"/>
|
||||
<constraints>
|
||||
<constraint firstItem="gY9-PP-yev" firstAttribute="centerX" secondItem="i5M-Pr-FkT" secondAttribute="centerX" id="0wd-N9-CJi"/>
|
||||
<constraint firstItem="eTv-jk-ONL" firstAttribute="top" secondItem="gY9-PP-yev" secondAttribute="bottom" constant="1" id="0jP-EQ-F4h"/>
|
||||
<constraint firstAttribute="trailing" secondItem="rm0-UH-T6r" secondAttribute="trailing" constant="65" id="3Ze-9p-DXQ"/>
|
||||
<constraint firstItem="eTv-jk-ONL" firstAttribute="leading" secondItem="i5M-Pr-FkT" secondAttribute="leading" constant="65" id="3f8-py-rVY"/>
|
||||
<constraint firstItem="rno-VM-u1V" firstAttribute="top" secondItem="nCj-Hg-8pQ" secondAttribute="bottom" constant="4" id="7B6-yw-Ang"/>
|
||||
<constraint firstItem="MHD-nb-UXj" firstAttribute="width" secondItem="gY9-PP-yev" secondAttribute="width" id="9Rj-pz-EBS"/>
|
||||
<constraint firstItem="rno-VM-u1V" firstAttribute="top" secondItem="nCj-Hg-8pQ" secondAttribute="bottom" constant="4.5" id="7B6-yw-Ang"/>
|
||||
<constraint firstAttribute="trailing" secondItem="eTv-jk-ONL" secondAttribute="trailing" constant="65" id="9mt-NK-XDb"/>
|
||||
<constraint firstItem="w3j-WU-gmW" firstAttribute="leading" secondItem="i5M-Pr-FkT" secondAttribute="leading" constant="87" id="Abo-oW-YM4"/>
|
||||
<constraint firstItem="Dv2-ja-F8y" firstAttribute="leading" secondItem="nCj-Hg-8pQ" secondAttribute="trailing" id="C7G-Au-fA7"/>
|
||||
<constraint firstItem="eTv-jk-ONL" firstAttribute="top" secondItem="gY9-PP-yev" secondAttribute="bottom" constant="1" id="Esi-VW-e2G"/>
|
||||
<constraint firstItem="gY9-PP-yev" firstAttribute="leading" secondItem="i5M-Pr-FkT" secondAttribute="leading" constant="65" id="GjR-Hw-LgY"/>
|
||||
<constraint firstItem="nCj-Hg-8pQ" firstAttribute="leading" secondItem="gY9-PP-yev" secondAttribute="leading" id="K4P-aZ-p4J"/>
|
||||
<constraint firstItem="gY9-PP-yev" firstAttribute="top" secondItem="g7Z-wI-UmZ" secondAttribute="top" constant="23" id="GDb-aa-Haf"/>
|
||||
<constraint firstItem="gY9-PP-yev" firstAttribute="leading" secondItem="g7Z-wI-UmZ" secondAttribute="leading" constant="65" id="LuO-vI-GAH"/>
|
||||
<constraint firstItem="Dv2-ja-F8y" firstAttribute="top" secondItem="eTv-jk-ONL" secondAttribute="bottom" constant="1" id="NRI-Wc-YKg"/>
|
||||
<constraint firstItem="rm0-UH-T6r" firstAttribute="leading" secondItem="i5M-Pr-FkT" secondAttribute="leading" constant="65" id="OKP-bj-u5F"/>
|
||||
<constraint firstItem="w3j-WU-gmW" firstAttribute="centerX" secondItem="i5M-Pr-FkT" secondAttribute="centerX" id="Qx9-jw-ZFV"/>
|
||||
<constraint firstItem="eTv-jk-ONL" firstAttribute="trailing" secondItem="Dv2-ja-F8y" secondAttribute="trailing" id="Uii-Q8-GAB"/>
|
||||
<constraint firstItem="rm0-UH-T6r" firstAttribute="top" secondItem="MHD-nb-UXj" secondAttribute="bottom" constant="1" id="WqS-Ct-q67"/>
|
||||
<constraint firstItem="MHD-nb-UXj" firstAttribute="width" secondItem="gY9-PP-yev" secondAttribute="width" id="ZqJ-CD-AnS"/>
|
||||
<constraint firstItem="rno-VM-u1V" firstAttribute="leading" secondItem="i5M-Pr-FkT" secondAttribute="leading" constant="65" id="aJl-ZC-hPs"/>
|
||||
<constraint firstItem="Dv2-ja-F8y" firstAttribute="trailing" secondItem="gY9-PP-yev" secondAttribute="trailing" id="bbV-7x-WFt"/>
|
||||
<constraint firstItem="nCj-Hg-8pQ" firstAttribute="top" secondItem="gY9-PP-yev" secondAttribute="bottom" constant="4" id="gP5-TX-MXq"/>
|
||||
<constraint firstItem="Dv2-ja-F8y" firstAttribute="centerY" secondItem="nCj-Hg-8pQ" secondAttribute="centerY" constant="-1.5" id="jWN-Se-6P6"/>
|
||||
<constraint firstItem="Dv2-ja-F8y" firstAttribute="centerY" secondItem="nCj-Hg-8pQ" secondAttribute="centerY" constant="-1" id="jWN-Se-6P6"/>
|
||||
<constraint firstItem="gY9-PP-yev" firstAttribute="centerX" secondItem="g7Z-wI-UmZ" secondAttribute="centerX" id="mfk-pq-DxW"/>
|
||||
<constraint firstItem="MHD-nb-UXj" firstAttribute="top" secondItem="rno-VM-u1V" secondAttribute="bottom" constant="6" id="mrM-C1-VFv"/>
|
||||
<constraint firstItem="gY9-PP-yev" firstAttribute="top" secondItem="i5M-Pr-FkT" secondAttribute="top" constant="107" id="qsl-vw-gFU"/>
|
||||
<constraint firstItem="w3j-WU-gmW" firstAttribute="top" secondItem="rm0-UH-T6r" secondAttribute="bottom" constant="42" id="sFk-c0-xql"/>
|
||||
<constraint firstAttribute="trailing" secondItem="rno-VM-u1V" secondAttribute="trailing" constant="65" id="sKR-zI-qG4"/>
|
||||
<constraint firstItem="eTv-jk-ONL" firstAttribute="leading" secondItem="nCj-Hg-8pQ" secondAttribute="leading" id="vDc-UZ-3fU"/>
|
||||
<constraint firstItem="MHD-nb-UXj" firstAttribute="centerX" secondItem="i5M-Pr-FkT" secondAttribute="centerX" id="wco-Sk-bTY"/>
|
||||
</constraints>
|
||||
<viewLayoutGuide key="safeArea" id="g7Z-wI-UmZ"/>
|
||||
<point key="canvasLocation" x="33.5" y="53.5"/>
|
||||
</view>
|
||||
</objects>
|
||||
|
|
|
|||
|
|
@ -27,12 +27,18 @@
|
|||
#import "GiGaFlingCommitVC.h"
|
||||
#import "MaskTimeCircularProgressView.h"
|
||||
//#import "UINavigationBar+Custom.h"
|
||||
#import "UIButton+WebCache.h"
|
||||
#import "GiGaUser.h"
|
||||
#import "GiGaUserManager.h"
|
||||
#import "GiGaBaseAPiRequest.h"
|
||||
|
||||
|
||||
@interface GiGaMaskTaskViewController ()<MaskCirCularProGressViewDelegate>
|
||||
{
|
||||
AVAudioPlayer *_musicPalyer;
|
||||
}
|
||||
|
||||
|
||||
@property (nonatomic,strong) UIButton *rightNavUserBtn;
|
||||
@property(nonatomic,strong)MaskViewBootomWaringView *waringView;
|
||||
@property(nonatomic,strong) UIImageView *maskImageView;
|
||||
@property(nonatomic,strong) UIImageView *faceView;
|
||||
|
|
@ -95,13 +101,14 @@
|
|||
|
||||
if (!_cicleProgressView) {
|
||||
|
||||
_cicleProgressView = [[MaskTimeCircularProgressView alloc] initWithFrame:CGRectMake(100, 251, 125, 125) backColor:GIGARGB(88, 0, 2, 1) progressColor:[UIColor blueColor] lineWidth:10 timeinterval:10];
|
||||
_cicleProgressView = [[MaskTimeCircularProgressView alloc] initWithFrame:CGRectMake(100, 251 + PhoneX_TopMargin, 125, 125) backColor:GIGARGB(88, 0, 2, 1) progressColor:[UIColor blueColor] lineWidth:10 timeinterval:10];
|
||||
_cicleProgressView.delegate = self;
|
||||
_cicleProgressView.hidden = YES;
|
||||
|
||||
}
|
||||
return _cicleProgressView;
|
||||
}
|
||||
|
||||
//⬆️
|
||||
- (UIImageView *)swipeGaurdimagView{
|
||||
if (!_swipeGaurdimagView) {
|
||||
|
|
@ -149,7 +156,7 @@
|
|||
#pragma mark 弹幕
|
||||
-(void)createInputView{
|
||||
|
||||
GiGaFlingCommitVC* GiGaFlingVC = [[GiGaFlingCommitVC alloc] init];
|
||||
GiGaFlingCommitVC* GiGaFlingVC = [[GiGaFlingCommitVC alloc] init];
|
||||
if (ISIOS8) {
|
||||
GiGaFlingVC.modalPresentationStyle = UIModalPresentationOverCurrentContext;
|
||||
}else{
|
||||
|
|
@ -165,6 +172,7 @@
|
|||
[super viewWillAppear:animated];
|
||||
//取消导航对内容下移影响
|
||||
[self.navigationController.navigationBar setTranslucent:YES];
|
||||
|
||||
}
|
||||
|
||||
|
||||
|
|
@ -191,16 +199,16 @@
|
|||
- (void)viewDidLoad {
|
||||
[super viewDidLoad];
|
||||
// Do any additional setup after loading the view.
|
||||
|
||||
// [self.view addSubview:self.tableView];
|
||||
// self.tableView.backgroundColor = GIGA_MAIN_BGCOLOR;
|
||||
[self setUpNav];
|
||||
[self initUI];
|
||||
[self addNotify];
|
||||
[self creatBackGroundMusic];
|
||||
|
||||
|
||||
}
|
||||
|
||||
#pragma mark - 响应事件
|
||||
|
||||
#pragma mark 上滑动手势
|
||||
-(void)maskupSwipeGesture{
|
||||
[self animaMask];
|
||||
|
|
@ -234,6 +242,8 @@
|
|||
[self.maskImageView mas_updateConstraints:^(MASConstraintMaker *make) {
|
||||
make.top.mas_equalTo(self.attachPoint.y - 87);
|
||||
}];
|
||||
|
||||
|
||||
[self.maskImageView setImage:[UIImage imageNamed:@"masking_img_mask"]];
|
||||
|
||||
[self.view layoutIfNeeded];
|
||||
|
|
@ -295,7 +305,6 @@
|
|||
make.top.mas_equalTo(254 + PhoneX_TopMargin);
|
||||
}];
|
||||
|
||||
|
||||
//[self.view layoutIfNeeded];
|
||||
|
||||
} completion:^(BOOL finished) {
|
||||
|
|
@ -350,7 +359,7 @@
|
|||
make.top.mas_equalTo(self.view.mas_top).offset(251 + PhoneX_TopMargin);
|
||||
make.size.mas_equalTo(CGSizeMake(125, 125));
|
||||
make.centerX.mas_equalTo(self.view.mas_centerX);
|
||||
|
||||
|
||||
}];
|
||||
|
||||
//up
|
||||
|
|
@ -416,7 +425,7 @@
|
|||
[self setBackGroundPlayingInfo];//锁屏音频信息
|
||||
|
||||
//总时间隔 s
|
||||
NSTimeInterval timeInterVal = 30;
|
||||
NSTimeInterval timeInterVal = [GiGaUserDefault getUserMaskeTime];
|
||||
[self.cicleProgressView startWith:timeInterVal];
|
||||
|
||||
//底部弹窗
|
||||
|
|
@ -459,7 +468,6 @@
|
|||
case UIEventSubtypeRemoteControlPause:
|
||||
// [_musicPalyer pause];
|
||||
break;
|
||||
|
||||
default:
|
||||
NSLog(@"没有处理过这个事件------receivedEvent.subtype==%ld",(long)receivedEvent.subtype);
|
||||
break;
|
||||
|
|
@ -475,21 +483,15 @@
|
|||
AppDelegate *delegate =(AppDelegate *) [[UIApplication sharedApplication] delegate];
|
||||
delegate.isMasking = NO;
|
||||
[_musicPalyer stop];
|
||||
|
||||
//复原动画
|
||||
[self endMaskAnimation];
|
||||
}
|
||||
|
||||
#pragma mark 开始测试
|
||||
-(void)testBtnAcion:(UIButton *)btn{
|
||||
|
||||
|
||||
// BOOL isUserLogin = [GiGaUserDefault isUserLogin];
|
||||
//
|
||||
// if (isUserLogin) {
|
||||
|
||||
GiGaQuestionVC *questionVC = [[GiGaQuestionVC alloc] init];
|
||||
[self.navigationController pushViewController:questionVC animated:YES];
|
||||
GiGaQuestionVC *questionVC = [[GiGaQuestionVC alloc] init];
|
||||
[self.navigationController pushViewController:questionVC animated:YES];
|
||||
|
||||
}
|
||||
|
||||
|
|
@ -498,6 +500,8 @@
|
|||
NC_ADD_TARGET_NAME_OBJECT(self, @selector(guardViewDissmiss), USER_GUARD_DISSMISS, nil) ;
|
||||
NC_ADD_TARGET_NAME_OBJECT(self, @selector(appGauardViewDissmiss),APP_GUARD_DISSMISS, nil) ;
|
||||
NC_ADD_TARGET_NAME_OBJECT(self, @selector(pushToAppAdDetailView),APP_PUSHTO_DETAILVIEW, nil) ;
|
||||
NC_ADD_TARGET_NAME_OBJECT(self, @selector(userLoginNotify), kUserLoginSuccessNoti, nil);
|
||||
NC_ADD_TARGET_NAME_OBJECT(self, @selector(userlogOutNotify), kUserLogOutNotify, nil);
|
||||
}
|
||||
|
||||
#pragma mark 广告详情
|
||||
|
|
@ -523,11 +527,9 @@
|
|||
}
|
||||
|
||||
-(void)dealloc{
|
||||
|
||||
NC_REMOVE_NAME(self, USER_GUARD_DISSMISS, nil);
|
||||
NC_REMOVE_NAME(self, APP_GUARD_DISSMISS, nil);
|
||||
NC_REMOVE_NAME(self, APP_PUSHTO_DETAILVIEW, nil);
|
||||
|
||||
}
|
||||
|
||||
#pragma mark 新手引导
|
||||
|
|
@ -550,7 +552,7 @@
|
|||
[self presentViewController:gaurdVC animated:YES completion:nil];
|
||||
}
|
||||
|
||||
#pragma mark - setUpNav
|
||||
#pragma mark - 导航按钮
|
||||
-(void)setUpNav{
|
||||
//leftItem
|
||||
// UIButton *leftBtn = [UIButton buttonWithType:UIButtonTypeCustom];
|
||||
|
|
@ -563,10 +565,39 @@
|
|||
//rightItem
|
||||
UIButton *rightBtn = [UIButton buttonWithType:UIButtonTypeCustom];
|
||||
rightBtn.frame = CGRectMake(0, 0, 40, 40);
|
||||
//rightBtn.backgroundColor = [UIColor blueColor];
|
||||
rightBtn.layer.masksToBounds = YES;
|
||||
rightBtn.layer.cornerRadius = 20;
|
||||
[rightBtn setImage:[UIImage imageNamed:@"nav_circle_avatar"] forState:UIControlStateNormal];
|
||||
|
||||
self.rightNavUserBtn = rightBtn;
|
||||
[rightBtn addTarget:self action:@selector(rightBtnAction) forControlEvents:UIControlEventTouchUpInside];
|
||||
self.navigationItem.rightBarButtonItem = [[UIBarButtonItem alloc] initWithCustomView:rightBtn];
|
||||
self.navigationItem.rightBarButtonItem = [[UIBarButtonItem alloc] initWithCustomView:rightBtn];
|
||||
|
||||
if ([[[UIDevice currentDevice] systemVersion] doubleValue] >= 11.0) {
|
||||
[self.rightNavUserBtn mas_makeConstraints:^(MASConstraintMaker *make) {
|
||||
|
||||
make.size.mas_equalTo(CGSizeMake(40, 40));
|
||||
}];
|
||||
}
|
||||
|
||||
|
||||
BOOL isUserLogin = [GiGaUserDefault isUserLogin];
|
||||
if (isUserLogin) {
|
||||
GiGaUser *user = [[GiGaUserManager shareUser] getCurrentUser];
|
||||
if (user) {
|
||||
if (user.headImgUrl && ![user.headImgUrl isKindOfClass:[NSNull class]]) {
|
||||
[self refreshUserIcon:user.headImgUrl];
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
#pragma mark 用户头像更新
|
||||
-(void)refreshUserIcon:(NSString *)imageUrl{
|
||||
|
||||
NSURL *url = [NSURL URLWithString:imageUrl];
|
||||
[self.rightNavUserBtn sd_setImageWithURL:url forState:UIControlStateNormal];
|
||||
//[self.rightNavUserBtn sd_setBackgroundImageWithURL:url forState:UIControlStateNormal];
|
||||
|
||||
}
|
||||
|
||||
|
|
@ -590,7 +621,6 @@
|
|||
-(void)rightBtnAction{
|
||||
|
||||
BOOL isUserLogin = [GiGaUserDefault isUserLogin];
|
||||
|
||||
if (isUserLogin) {
|
||||
GiGaMeViewController *meVC= [[GiGaMeViewController alloc] init];
|
||||
[self.navigationController pushViewController:meVC animated:YES];
|
||||
|
|
@ -599,7 +629,6 @@
|
|||
GiGaBaseNavViewController *baseNav = [[GiGaBaseNavViewController alloc] initWithRootViewController:userlogInVC];
|
||||
[self presentViewController:baseNav animated:YES completion:nil];
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
#pragma mark -bottomView
|
||||
|
|
@ -613,7 +642,6 @@
|
|||
}
|
||||
|
||||
#pragma mark - MaskCirCularProGressViewDelegate
|
||||
|
||||
- (void)updateProgressViewWith:(NSTimeInterval)timeInterval{
|
||||
|
||||
}
|
||||
|
|
@ -628,5 +656,21 @@
|
|||
// Dispose of any resources that can be recreated.
|
||||
}
|
||||
|
||||
#pragma mark - 登录成功通知接收
|
||||
-(void)userLoginNotify{
|
||||
|
||||
GiGaUser *user = [[GiGaUserManager shareUser] getCurrentUser];
|
||||
if (user.headImgUrl && ![user.headImgUrl isKindOfClass:[NSNull class]] ) {
|
||||
[self refreshUserIcon:user.headImgUrl];
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
#pragma mark - 退出登录通知
|
||||
-(void)userlogOutNotify{
|
||||
|
||||
[self.rightNavUserBtn setImage:[UIImage imageNamed:@"nav_circle_avatar"] forState:UIControlStateNormal];
|
||||
|
||||
}
|
||||
|
||||
@end
|
||||
|
|
|
|||
|
|
@ -49,6 +49,7 @@
|
|||
_page = 1;
|
||||
[self loadRequestQuestions];
|
||||
|
||||
|
||||
}
|
||||
|
||||
-(NSMutableArray *)questonArray{
|
||||
|
|
@ -69,6 +70,9 @@
|
|||
|
||||
-(void)initUI{
|
||||
|
||||
//没有tabview 界面 直接 上移动安全 导航高度 (设计稿 -64 或 -88)
|
||||
CGFloat navH = SAFE_NAV_HEIGHT;
|
||||
|
||||
UIButton *numberBtn = [UIButton buttonWithType:UIButtonTypeCustom];
|
||||
[numberBtn setBackgroundImage:[UIImage imageNamed:@"ceshi_number"] forState:UIControlStateNormal];
|
||||
NSAttributedString *numbertitle = [[NSAttributedString alloc] initWithString:@"1" attributes:@{NSFontAttributeName:[UIFont boldSystemFontOfSize:18],NSForegroundColorAttributeName:[UIColor whiteColor]}];
|
||||
|
|
@ -95,7 +99,7 @@
|
|||
|
||||
[numberBtn mas_makeConstraints:^(MASConstraintMaker *make) {
|
||||
make.size.mas_equalTo(CGSizeMake(31, 31));
|
||||
make.top.mas_equalTo(self.view.mas_top).offset(112 + PhoneX_TopMargin);
|
||||
make.top.mas_equalTo(self.view.mas_top).offset(112 -navH);
|
||||
make.left.mas_equalTo(self.view.mas_left).offset(46);
|
||||
|
||||
}];
|
||||
|
|
@ -130,7 +134,7 @@
|
|||
[self.view addSubview:nextBtn];
|
||||
|
||||
[nextBtn mas_makeConstraints:^(MASConstraintMaker *make) {
|
||||
make.top.mas_equalTo(self.view.mas_top).offset(529);
|
||||
make.top.mas_equalTo(self.view.mas_top).offset(529 -navH);
|
||||
make.size.mas_equalTo(CGSizeMake(126, 40));
|
||||
make.left.mas_equalTo(self.view.mas_left).offset(self.view.frame.size.width /2 - 126 /2);
|
||||
}];
|
||||
|
|
@ -151,7 +155,7 @@
|
|||
|
||||
[self.preBtn mas_makeConstraints:^(MASConstraintMaker *make) {
|
||||
make.left.mas_equalTo(self.view.mas_left).offset(69);
|
||||
make.top.mas_equalTo(self.view.mas_top).offset(529);
|
||||
make.top.mas_equalTo(self.view.mas_top).offset(529 - navH);
|
||||
make.size.mas_equalTo(CGSizeMake(97, 40));
|
||||
|
||||
}];
|
||||
|
|
@ -199,7 +203,7 @@
|
|||
}
|
||||
[self.view layoutIfNeeded];
|
||||
|
||||
MaskQuestionView *questionView = [[MaskQuestionView alloc] initQuestionView:CGRectMake(0,248, self.view.frame.size.width,212) style:style titles:titles current:_currentModel];
|
||||
MaskQuestionView *questionView = [[MaskQuestionView alloc] initQuestionView:CGRectMake(0,248 - SAFE_NAV_HEIGHT, self.view.frame.size.width,212) style:style titles:titles current:_currentModel];
|
||||
NSLog(@"_currentModel--ID:%d",_currentModel.questionId);
|
||||
questionView.delegate = self;
|
||||
[self.view addSubview:questionView];
|
||||
|
|
@ -317,7 +321,7 @@
|
|||
if (_page > 1) {
|
||||
self.preBtn.hidden = NO;
|
||||
[self.nextBtn mas_updateConstraints:^(MASConstraintMaker *make) {
|
||||
make.top.mas_equalTo(self.view.mas_top).offset(529);
|
||||
make.top.mas_equalTo(self.view.mas_top).offset(529 -SAFE_NAV_HEIGHT);
|
||||
make.size.mas_equalTo(CGSizeMake(126, 40));
|
||||
make.left.mas_equalTo(self.view.mas_left).offset(self.view.frame.size.width /2 + 10);
|
||||
|
||||
|
|
@ -326,7 +330,7 @@
|
|||
}else{
|
||||
|
||||
[self.nextBtn mas_updateConstraints:^(MASConstraintMaker *make) {
|
||||
make.top.mas_equalTo(self.view.mas_top).offset(529);
|
||||
make.top.mas_equalTo(self.view.mas_top).offset(529 -SAFE_NAV_HEIGHT);
|
||||
make.size.mas_equalTo(CGSizeMake(126, 40));
|
||||
make.left.mas_equalTo(self.view.mas_left).offset(self.view.frame.size.width /2 - 126 /2);
|
||||
}];
|
||||
|
|
|
|||
|
|
@ -37,43 +37,23 @@
|
|||
self.tableView.estimatedSectionFooterHeight= 0;
|
||||
self.tableView.estimatedSectionHeaderHeight = 0;
|
||||
self.tableView.bounces = NO;
|
||||
self.tableView.frame = CGRectMake(0, PhoneX_TopMargin + 1, KMainW,KMainH - PhoneX_BottomMargin);
|
||||
self.tableView.frame = CGRectMake(0,PhoneX_TopMargin + 1, KMainW,KMainH - PhoneX_BottomMargin);
|
||||
[self loadUserInfo];
|
||||
|
||||
}
|
||||
-(void)loadUserInfo{
|
||||
|
||||
GiGaUser *user = [[GiGaUserManager shareUser] getCurrentUser];
|
||||
GiGaUser *currentuser = [[GiGaUserManager shareUser] getCurrentUser];
|
||||
|
||||
if (!user) {
|
||||
|
||||
[self requstUserinfo];
|
||||
|
||||
}else{
|
||||
self.user = user;
|
||||
}
|
||||
}
|
||||
-(void)requstUserinfo{
|
||||
|
||||
GiGaBaseAPiRequest *requst = [GiGaBaseAPiRequest initWithRequestPath:@"user/v1/info" method:RequestPostMethod parms:nil];
|
||||
[self.view makeToastActivity:CSToastPositionCenter];
|
||||
weakify(self);
|
||||
[requst requstDataWithResult:^(GiGaAPIResult *result) {
|
||||
if (!currentuser) {
|
||||
[self.view makeToastActivity:CSToastPositionCenter];
|
||||
[[GiGaUserManager shareUser] synsisUserInfo:^(GiGaUser *user) {
|
||||
[self.view hideToastActivity];
|
||||
if (result.success) {
|
||||
//更新用户信息
|
||||
NSDictionary *userDic = result.dic[@"userInfo"];
|
||||
GiGaUser *user = [[GiGaUser alloc] initWithDictionary:userDic error:nil];
|
||||
weakSelf.user = user;
|
||||
[[GiGaUserManager shareUser] saveUser:user];
|
||||
|
||||
NSIndexSet *set = [NSIndexSet indexSetWithIndex:0];
|
||||
|
||||
[self.tableView reloadSections:set withRowAnimation:UITableViewRowAnimationNone];
|
||||
|
||||
NSLog(@"user dic ***\n%@",result.dic);
|
||||
}
|
||||
}];
|
||||
self.user = user;
|
||||
}];
|
||||
}else{
|
||||
self.user = currentuser;
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -7,6 +7,11 @@
|
|||
//
|
||||
|
||||
#import "GiGaUserViewController.h"
|
||||
#import "GIGaUserInfoAvatorCell.h"
|
||||
#import "GIGaUserIDViewCell.h"
|
||||
#import "GIGaUserWeChatViewCell.h"
|
||||
#import "GiGaUserSexViewCell.h"
|
||||
#import "GIGaUserCityViewCell.h"
|
||||
|
||||
@interface GiGaUserViewController ()
|
||||
|
||||
|
|
@ -19,8 +24,129 @@
|
|||
[super viewDidLoad];
|
||||
// Do any additional setup after loading the view.
|
||||
//self.title = @"个人中心";
|
||||
[self addNavTitile:@"个人中心"];
|
||||
[self addNavTitile:@"个人信息"];
|
||||
|
||||
UIButton *saveBtn = [UIButton buttonWithType:UIButtonTypeCustom];
|
||||
[saveBtn addTarget:self action:@selector(saveUserInfo) forControlEvents:UIControlEventTouchUpInside];
|
||||
saveBtn.frame = CGRectMake(0, 0,40, 36);
|
||||
|
||||
NSAttributedString *attrititle = [GiGaHelper stringWithText:@"保存" textColor:[UIColor whiteColor] textFont:GIGA_TEXTFONTMEDIUM(16) leterSpace:0];
|
||||
[saveBtn setAttributedTitle:attrititle forState:UIControlStateNormal];
|
||||
UIBarButtonItem *saveItem = [[UIBarButtonItem alloc] initWithCustomView:saveBtn];
|
||||
self.navigationItem.rightBarButtonItem = saveItem;
|
||||
|
||||
[self creatTab];
|
||||
}
|
||||
|
||||
-(void)creatTab{
|
||||
[self.view addSubview:self.tableView];
|
||||
self.tableView.delegate = self;
|
||||
self.tableView.dataSource = self;
|
||||
self.tableView.backgroundColor = [UIColor whiteColor];
|
||||
self.tableView.separatorStyle = UITableViewCellSelectionStyleNone;
|
||||
self.tableView.sectionFooterHeight = 0;
|
||||
self.tableView.estimatedSectionFooterHeight= 0;
|
||||
self.tableView.estimatedSectionHeaderHeight = 0;
|
||||
self.tableView.bounces = NO;
|
||||
self.tableView.frame = CGRectMake(0,PhoneX_TopMargin + 1, KMainW,KMainH - PhoneX_BottomMargin);
|
||||
|
||||
}
|
||||
|
||||
- (NSInteger)numberOfSectionsInTableView:(UITableView *)tableView{
|
||||
return 3;
|
||||
}
|
||||
|
||||
- (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section{
|
||||
|
||||
if (section == 0){
|
||||
return 1;
|
||||
}else if (section == 1){
|
||||
return 3;
|
||||
}
|
||||
return 4;
|
||||
}
|
||||
|
||||
- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath{
|
||||
if(indexPath.section ==0){
|
||||
GIGaUserInfoAvatorCell *cell = [tableView dequeueReusableCellWithIdentifier:@"GIGaUserInfoAvatorCell"];
|
||||
if(!cell){
|
||||
cell = [[[NSBundle mainBundle] loadNibNamed:@"GIGaUserInfoAvatorCell" owner:self options:nil] lastObject];
|
||||
|
||||
}
|
||||
|
||||
return cell;
|
||||
}else if (indexPath.section == 1 && indexPath.row < 2){
|
||||
GIGaUserIDViewCell *cell = [tableView dequeueReusableCellWithIdentifier:@"GIGaUserIDViewCell"];
|
||||
if(!cell){
|
||||
cell = [[[NSBundle mainBundle] loadNibNamed:@"GIGaUserIDViewCell" owner:self options:nil] lastObject];
|
||||
|
||||
}
|
||||
|
||||
return cell;
|
||||
|
||||
}else if (indexPath.section == 1 && indexPath.row == 2){
|
||||
GIGaUserWeChatViewCell *cell = [tableView dequeueReusableCellWithIdentifier:@"GIGaUserWeChatViewCell"];
|
||||
if(!cell){
|
||||
cell = [[[NSBundle mainBundle] loadNibNamed:@"GIGaUserWeChatViewCell" owner:self options:nil] lastObject];
|
||||
}
|
||||
|
||||
return cell;
|
||||
|
||||
}else if (indexPath.section == 2 && indexPath.row == 0){
|
||||
GiGaUserSexViewCell *cell = [tableView dequeueReusableCellWithIdentifier:@"GiGaUserSexViewCell"];
|
||||
if(!cell){
|
||||
cell = [[[NSBundle mainBundle] loadNibNamed:@"GiGaUserSexViewCell" owner:self options:nil] lastObject];
|
||||
|
||||
}
|
||||
|
||||
return cell;
|
||||
|
||||
}else if (indexPath.section == 2 && indexPath.row >= 1){
|
||||
GIGaUserCityViewCell *cell = [tableView dequeueReusableCellWithIdentifier:@"GIGaUserCityViewCell"];
|
||||
if(!cell){
|
||||
cell = [[[NSBundle mainBundle] loadNibNamed:@"GIGaUserCityViewCell" owner:self options:nil] lastObject];
|
||||
}
|
||||
|
||||
return cell;
|
||||
}
|
||||
|
||||
return nil;
|
||||
|
||||
}
|
||||
|
||||
- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath{
|
||||
|
||||
}
|
||||
|
||||
- (CGFloat)tableView:(UITableView *)tableView heightForRowAtIndexPath:(NSIndexPath *)indexPath{
|
||||
if(indexPath.section==0){
|
||||
return 133;
|
||||
}else {
|
||||
return 44;
|
||||
}
|
||||
}
|
||||
|
||||
- (CGFloat)tableView:(UITableView *)tableView heightForFooterInSection:(NSInteger)section{
|
||||
return 0.1;
|
||||
}
|
||||
|
||||
- (CGFloat)tableView:(UITableView *)tableView heightForHeaderInSection:(NSInteger)section{
|
||||
if (section == 1){
|
||||
return 10;
|
||||
}else if (section == 2){
|
||||
return 4;
|
||||
}
|
||||
return 0.1;
|
||||
}
|
||||
|
||||
-(UIView*)tableView:(UITableView *)tableView viewForHeaderInSection:(NSInteger)section{
|
||||
|
||||
if (section == 1 || section == 2) {
|
||||
UIView *view = [[UIView alloc] init];
|
||||
view.backgroundColor = GIGARGB(222, 222, 222, 1);
|
||||
return view;
|
||||
}
|
||||
return nil;
|
||||
}
|
||||
|
||||
- (void)didReceiveMemoryWarning {
|
||||
|
|
@ -28,15 +154,11 @@
|
|||
// Dispose of any resources that can be recreated.
|
||||
}
|
||||
|
||||
#pragma mark - 保存用户信息
|
||||
|
||||
/*
|
||||
#pragma mark - Navigation
|
||||
|
||||
// In a storyboard-based application, you will often want to do a little preparation before navigation
|
||||
- (void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender {
|
||||
// Get the new view controller using [segue destinationViewController].
|
||||
// Pass the selected object to the new view controller.
|
||||
-(void)saveUserInfo{
|
||||
|
||||
|
||||
}
|
||||
*/
|
||||
|
||||
@end
|
||||
|
|
|
|||
|
|
@ -10,6 +10,7 @@
|
|||
#import "GiGaSettingsViewCell.h"
|
||||
#import "JXTAlertController.h"
|
||||
#import "GiGaUserDefault.h"
|
||||
#import "GiGaUserManager.h"
|
||||
|
||||
@interface GiSysSettingsVC ()
|
||||
|
||||
|
|
@ -121,7 +122,9 @@
|
|||
}
|
||||
|
||||
-(void)userlogOut{
|
||||
[GiGaUserDefault userLogOut];
|
||||
|
||||
[[GiGaUserManager shareUser] loginOut];
|
||||
NC_POST_NAME_OBJECT(kUserLogOutNotify, nil);
|
||||
[self.navigationController popToRootViewControllerAnimated:YES];
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -0,0 +1,13 @@
|
|||
//
|
||||
// GIGaUserCityViewCell.h
|
||||
// GIGA
|
||||
//
|
||||
// Created by lianxiang on 2018/9/14.
|
||||
// Copyright © 2018年 com.giga.ios. All rights reserved.
|
||||
//
|
||||
|
||||
#import <UIKit/UIKit.h>
|
||||
|
||||
@interface GIGaUserCityViewCell : UITableViewCell
|
||||
|
||||
@end
|
||||
|
|
@ -0,0 +1,24 @@
|
|||
//
|
||||
// GIGaUserCityViewCell.m
|
||||
// GIGA
|
||||
//
|
||||
// Created by lianxiang on 2018/9/14.
|
||||
// Copyright © 2018年 com.giga.ios. All rights reserved.
|
||||
//
|
||||
|
||||
#import "GIGaUserCityViewCell.h"
|
||||
|
||||
@implementation GIGaUserCityViewCell
|
||||
|
||||
- (void)awakeFromNib {
|
||||
[super awakeFromNib];
|
||||
// Initialization code
|
||||
}
|
||||
|
||||
- (void)setSelected:(BOOL)selected animated:(BOOL)animated {
|
||||
[super setSelected:selected animated:animated];
|
||||
|
||||
// Configure the view for the selected state
|
||||
}
|
||||
|
||||
@end
|
||||
|
|
@ -0,0 +1,68 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<document type="com.apple.InterfaceBuilder3.CocoaTouch.XIB" version="3.0" toolsVersion="14113" targetRuntime="iOS.CocoaTouch" propertyAccessControl="none" useAutolayout="YES" useTraitCollections="YES" useSafeAreas="YES" colorMatched="YES">
|
||||
<device id="retina4_7" orientation="portrait">
|
||||
<adaptation id="fullscreen"/>
|
||||
</device>
|
||||
<dependencies>
|
||||
<deployment identifier="iOS"/>
|
||||
<plugIn identifier="com.apple.InterfaceBuilder.IBCocoaTouchPlugin" version="14088"/>
|
||||
<capability name="Safe area layout guides" minToolsVersion="9.0"/>
|
||||
<capability name="documents saved in the Xcode 8 format" minToolsVersion="8.0"/>
|
||||
</dependencies>
|
||||
<objects>
|
||||
<placeholder placeholderIdentifier="IBFilesOwner" id="-1" userLabel="File's Owner"/>
|
||||
<placeholder placeholderIdentifier="IBFirstResponder" id="-2" customClass="UIResponder"/>
|
||||
<tableViewCell contentMode="scaleToFill" selectionStyle="none" indentationWidth="10" reuseIdentifier="GIGaUserCityViewCell" id="KGk-i7-Jjw" customClass="GIGaUserCityViewCell">
|
||||
<rect key="frame" x="0.0" y="0.0" width="375" height="44"/>
|
||||
<autoresizingMask key="autoresizingMask" flexibleMaxX="YES" flexibleMaxY="YES"/>
|
||||
<tableViewCellContentView key="contentView" opaque="NO" clipsSubviews="YES" multipleTouchEnabled="YES" contentMode="center" tableViewCell="KGk-i7-Jjw" id="H2p-sc-9uM">
|
||||
<rect key="frame" x="0.0" y="0.0" width="375" height="43.5"/>
|
||||
<autoresizingMask key="autoresizingMask"/>
|
||||
<subviews>
|
||||
<label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="生日" textAlignment="natural" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="OA0-rJ-5qY">
|
||||
<rect key="frame" x="29" y="12" width="28" height="20"/>
|
||||
<fontDescription key="fontDescription" name="PingFangSC-Medium" family="PingFang SC" pointSize="14"/>
|
||||
<color key="textColor" red="0.2156862745" green="0.2156862745" blue="0.2156862745" alpha="1" colorSpace="calibratedRGB"/>
|
||||
<nil key="highlightedColor"/>
|
||||
</label>
|
||||
<label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="选择生日" textAlignment="natural" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="y6H-zg-4yv">
|
||||
<rect key="frame" x="120" y="12.5" width="52.5" height="19"/>
|
||||
<fontDescription key="fontDescription" name="PingFangSC-Medium" family="PingFang SC" pointSize="13"/>
|
||||
<color key="textColor" red="0.34509803919999998" green="0.34509803919999998" blue="0.34509803919999998" alpha="1" colorSpace="calibratedRGB"/>
|
||||
<nil key="highlightedColor"/>
|
||||
</label>
|
||||
<view contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="Kst-pD-CHd">
|
||||
<rect key="frame" x="25" y="43.5" width="324.5" height="0.5"/>
|
||||
<color key="backgroundColor" red="0.87058823529999996" green="0.87058823529999996" blue="0.87058823529999996" alpha="1" colorSpace="calibratedRGB"/>
|
||||
<constraints>
|
||||
<constraint firstAttribute="height" constant="0.5" id="Uus-Ns-JTy"/>
|
||||
</constraints>
|
||||
</view>
|
||||
<imageView userInteractionEnabled="NO" contentMode="scaleToFill" horizontalHuggingPriority="251" verticalHuggingPriority="251" image="user_indicator_right" translatesAutoresizingMaskIntoConstraints="NO" id="bdq-X4-7Cg">
|
||||
<rect key="frame" x="349.5" y="15" width="8.5" height="14"/>
|
||||
<constraints>
|
||||
<constraint firstAttribute="height" constant="14" id="6JE-kL-tIh"/>
|
||||
<constraint firstAttribute="width" constant="8.5" id="bRE-sa-cUQ"/>
|
||||
</constraints>
|
||||
</imageView>
|
||||
</subviews>
|
||||
<constraints>
|
||||
<constraint firstAttribute="trailing" secondItem="Kst-pD-CHd" secondAttribute="trailing" constant="25.5" id="C8S-X7-7Rz"/>
|
||||
<constraint firstItem="y6H-zg-4yv" firstAttribute="leading" secondItem="H2p-sc-9uM" secondAttribute="leading" constant="120" id="DIy-Iq-K1L"/>
|
||||
<constraint firstAttribute="trailing" secondItem="bdq-X4-7Cg" secondAttribute="trailing" constant="17" id="Fbe-Qg-IBx"/>
|
||||
<constraint firstItem="Kst-pD-CHd" firstAttribute="leading" secondItem="H2p-sc-9uM" secondAttribute="leading" constant="25" id="MHr-ud-Hb1"/>
|
||||
<constraint firstItem="bdq-X4-7Cg" firstAttribute="centerY" secondItem="H2p-sc-9uM" secondAttribute="centerY" constant="0.25" id="a00-Gq-hFr"/>
|
||||
<constraint firstAttribute="bottom" secondItem="Kst-pD-CHd" secondAttribute="bottom" constant="-0.5" id="eZ9-17-ap9"/>
|
||||
<constraint firstItem="OA0-rJ-5qY" firstAttribute="centerY" secondItem="H2p-sc-9uM" secondAttribute="centerY" id="i9g-Lz-1cw"/>
|
||||
<constraint firstItem="OA0-rJ-5qY" firstAttribute="leading" secondItem="H2p-sc-9uM" secondAttribute="leading" constant="29" id="mRd-S1-39D"/>
|
||||
<constraint firstItem="y6H-zg-4yv" firstAttribute="centerY" secondItem="H2p-sc-9uM" secondAttribute="centerY" id="uJ4-iv-cmb"/>
|
||||
</constraints>
|
||||
</tableViewCellContentView>
|
||||
<viewLayoutGuide key="safeArea" id="aW0-zy-SZf"/>
|
||||
<point key="canvasLocation" x="33.5" y="68"/>
|
||||
</tableViewCell>
|
||||
</objects>
|
||||
<resources>
|
||||
<image name="user_indicator_right" width="9" height="14"/>
|
||||
</resources>
|
||||
</document>
|
||||
|
|
@ -0,0 +1,13 @@
|
|||
//
|
||||
// GIGaUserIDViewCell.h
|
||||
// GIGA
|
||||
//
|
||||
// Created by lianxiang on 2018/9/14.
|
||||
// Copyright © 2018年 com.giga.ios. All rights reserved.
|
||||
//
|
||||
|
||||
#import <UIKit/UIKit.h>
|
||||
|
||||
@interface GIGaUserIDViewCell : UITableViewCell
|
||||
|
||||
@end
|
||||
|
|
@ -0,0 +1,24 @@
|
|||
//
|
||||
// GIGaUserIDViewCell.m
|
||||
// GIGA
|
||||
//
|
||||
// Created by lianxiang on 2018/9/14.
|
||||
// Copyright © 2018年 com.giga.ios. All rights reserved.
|
||||
//
|
||||
|
||||
#import "GIGaUserIDViewCell.h"
|
||||
|
||||
@implementation GIGaUserIDViewCell
|
||||
|
||||
- (void)awakeFromNib {
|
||||
[super awakeFromNib];
|
||||
// Initialization code
|
||||
}
|
||||
|
||||
- (void)setSelected:(BOOL)selected animated:(BOOL)animated {
|
||||
[super setSelected:selected animated:animated];
|
||||
|
||||
// Configure the view for the selected state
|
||||
}
|
||||
|
||||
@end
|
||||
|
|
@ -0,0 +1,56 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<document type="com.apple.InterfaceBuilder3.CocoaTouch.XIB" version="3.0" toolsVersion="14113" targetRuntime="iOS.CocoaTouch" propertyAccessControl="none" useAutolayout="YES" useTraitCollections="YES" useSafeAreas="YES" colorMatched="YES">
|
||||
<device id="retina4_7" orientation="portrait">
|
||||
<adaptation id="fullscreen"/>
|
||||
</device>
|
||||
<dependencies>
|
||||
<deployment identifier="iOS"/>
|
||||
<plugIn identifier="com.apple.InterfaceBuilder.IBCocoaTouchPlugin" version="14088"/>
|
||||
<capability name="Safe area layout guides" minToolsVersion="9.0"/>
|
||||
<capability name="documents saved in the Xcode 8 format" minToolsVersion="8.0"/>
|
||||
</dependencies>
|
||||
<objects>
|
||||
<placeholder placeholderIdentifier="IBFilesOwner" id="-1" userLabel="File's Owner"/>
|
||||
<placeholder placeholderIdentifier="IBFirstResponder" id="-2" customClass="UIResponder"/>
|
||||
<tableViewCell contentMode="scaleToFill" selectionStyle="none" indentationWidth="10" reuseIdentifier="GIGaUserIDViewCell" id="KGk-i7-Jjw" customClass="GIGaUserIDViewCell">
|
||||
<rect key="frame" x="0.0" y="0.0" width="375" height="44"/>
|
||||
<autoresizingMask key="autoresizingMask" flexibleMaxX="YES" flexibleMaxY="YES"/>
|
||||
<tableViewCellContentView key="contentView" opaque="NO" clipsSubviews="YES" multipleTouchEnabled="YES" contentMode="center" tableViewCell="KGk-i7-Jjw" id="H2p-sc-9uM">
|
||||
<rect key="frame" x="0.0" y="0.0" width="375" height="43.5"/>
|
||||
<autoresizingMask key="autoresizingMask"/>
|
||||
<subviews>
|
||||
<label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="用户ID" textAlignment="natural" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="HzQ-bQ-e0n">
|
||||
<rect key="frame" x="29" y="11" width="42" height="20"/>
|
||||
<fontDescription key="fontDescription" name="PingFangSC-Medium" family="PingFang SC" pointSize="14"/>
|
||||
<color key="textColor" red="0.21568627450980393" green="0.21568627450980393" blue="0.21568627450980393" alpha="1" colorSpace="calibratedRGB"/>
|
||||
<nil key="highlightedColor"/>
|
||||
</label>
|
||||
<label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="123344555" textAlignment="natural" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="4Oa-fe-SvG">
|
||||
<rect key="frame" x="120" y="12.5" width="68" height="19"/>
|
||||
<fontDescription key="fontDescription" name="PingFangSC-Medium" family="PingFang SC" pointSize="13"/>
|
||||
<color key="textColor" red="0.34509803921568627" green="0.34509803921568627" blue="0.34509803921568627" alpha="1" colorSpace="calibratedRGB"/>
|
||||
<nil key="highlightedColor"/>
|
||||
</label>
|
||||
<view contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="jfm-bd-p6y">
|
||||
<rect key="frame" x="25" y="43.5" width="324.5" height="0.5"/>
|
||||
<color key="backgroundColor" red="0.87058823529999996" green="0.87058823529999996" blue="0.87058823529999996" alpha="1" colorSpace="calibratedRGB"/>
|
||||
<constraints>
|
||||
<constraint firstAttribute="height" constant="0.5" id="YID-hl-czK"/>
|
||||
</constraints>
|
||||
</view>
|
||||
</subviews>
|
||||
<constraints>
|
||||
<constraint firstItem="4Oa-fe-SvG" firstAttribute="leading" secondItem="H2p-sc-9uM" secondAttribute="leading" constant="120" id="0jr-ZC-Wlq"/>
|
||||
<constraint firstItem="HzQ-bQ-e0n" firstAttribute="centerY" secondItem="H2p-sc-9uM" secondAttribute="centerY" id="F58-gR-xKI"/>
|
||||
<constraint firstItem="HzQ-bQ-e0n" firstAttribute="leading" secondItem="H2p-sc-9uM" secondAttribute="leading" constant="29" id="J1t-bO-G6L"/>
|
||||
<constraint firstItem="4Oa-fe-SvG" firstAttribute="centerY" secondItem="H2p-sc-9uM" secondAttribute="centerY" id="dm8-pf-orr"/>
|
||||
<constraint firstAttribute="trailing" secondItem="jfm-bd-p6y" secondAttribute="trailing" constant="25.5" id="iLR-ky-qmP"/>
|
||||
<constraint firstItem="jfm-bd-p6y" firstAttribute="leading" secondItem="H2p-sc-9uM" secondAttribute="leading" constant="25" id="oFi-j8-zxh"/>
|
||||
<constraint firstAttribute="bottom" secondItem="jfm-bd-p6y" secondAttribute="bottom" constant="-0.5" id="xz1-B6-c0m"/>
|
||||
</constraints>
|
||||
</tableViewCellContentView>
|
||||
<viewLayoutGuide key="safeArea" id="aW0-zy-SZf"/>
|
||||
<point key="canvasLocation" x="33.5" y="68"/>
|
||||
</tableViewCell>
|
||||
</objects>
|
||||
</document>
|
||||
|
|
@ -0,0 +1,13 @@
|
|||
//
|
||||
// GIGaUserInfoAvatorCell.h
|
||||
// GIGA
|
||||
//
|
||||
// Created by lianxiang on 2018/9/14.
|
||||
// Copyright © 2018年 com.giga.ios. All rights reserved.
|
||||
//
|
||||
|
||||
#import <UIKit/UIKit.h>
|
||||
|
||||
@interface GIGaUserInfoAvatorCell : UITableViewCell
|
||||
|
||||
@end
|
||||
|
|
@ -0,0 +1,24 @@
|
|||
//
|
||||
// GIGaUserInfoAvatorCell.m
|
||||
// GIGA
|
||||
//
|
||||
// Created by lianxiang on 2018/9/14.
|
||||
// Copyright © 2018年 com.giga.ios. All rights reserved.
|
||||
//
|
||||
|
||||
#import "GIGaUserInfoAvatorCell.h"
|
||||
|
||||
@implementation GIGaUserInfoAvatorCell
|
||||
|
||||
- (void)awakeFromNib {
|
||||
[super awakeFromNib];
|
||||
// Initialization code
|
||||
}
|
||||
|
||||
- (void)setSelected:(BOOL)selected animated:(BOOL)animated {
|
||||
[super setSelected:selected animated:animated];
|
||||
|
||||
// Configure the view for the selected state
|
||||
}
|
||||
|
||||
@end
|
||||
|
|
@ -0,0 +1,52 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<document type="com.apple.InterfaceBuilder3.CocoaTouch.XIB" version="3.0" toolsVersion="14113" targetRuntime="iOS.CocoaTouch" propertyAccessControl="none" useAutolayout="YES" useTraitCollections="YES" useSafeAreas="YES" colorMatched="YES">
|
||||
<device id="retina4_7" orientation="portrait">
|
||||
<adaptation id="fullscreen"/>
|
||||
</device>
|
||||
<dependencies>
|
||||
<deployment identifier="iOS"/>
|
||||
<plugIn identifier="com.apple.InterfaceBuilder.IBCocoaTouchPlugin" version="14088"/>
|
||||
<capability name="Safe area layout guides" minToolsVersion="9.0"/>
|
||||
<capability name="documents saved in the Xcode 8 format" minToolsVersion="8.0"/>
|
||||
</dependencies>
|
||||
<objects>
|
||||
<placeholder placeholderIdentifier="IBFilesOwner" id="-1" userLabel="File's Owner"/>
|
||||
<placeholder placeholderIdentifier="IBFirstResponder" id="-2" customClass="UIResponder"/>
|
||||
<tableViewCell contentMode="scaleToFill" selectionStyle="none" indentationWidth="10" reuseIdentifier="GIGaUserInfoAvatorCell" id="KGk-i7-Jjw" customClass="GIGaUserInfoAvatorCell">
|
||||
<rect key="frame" x="0.0" y="0.0" width="375" height="133"/>
|
||||
<autoresizingMask key="autoresizingMask" flexibleMaxX="YES" flexibleMaxY="YES"/>
|
||||
<tableViewCellContentView key="contentView" opaque="NO" clipsSubviews="YES" multipleTouchEnabled="YES" contentMode="center" tableViewCell="KGk-i7-Jjw" id="H2p-sc-9uM">
|
||||
<rect key="frame" x="0.0" y="0.0" width="375" height="132.5"/>
|
||||
<autoresizingMask key="autoresizingMask"/>
|
||||
<subviews>
|
||||
<imageView userInteractionEnabled="NO" contentMode="scaleToFill" horizontalHuggingPriority="251" verticalHuggingPriority="251" image="img_circle_avatar" translatesAutoresizingMaskIntoConstraints="NO" id="L0Q-5Y-jXq">
|
||||
<rect key="frame" x="146" y="15" width="82" height="82"/>
|
||||
<constraints>
|
||||
<constraint firstAttribute="width" constant="82" id="IAJ-jV-dpt"/>
|
||||
<constraint firstAttribute="height" constant="82" id="ipN-ci-Ha3"/>
|
||||
</constraints>
|
||||
</imageView>
|
||||
<label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text=" 用户名" textAlignment="center" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="bZT-xd-Nax">
|
||||
<rect key="frame" x="16" y="106" width="343" height="16"/>
|
||||
<fontDescription key="fontDescription" name="PingFangSC-Medium" family="PingFang SC" pointSize="11"/>
|
||||
<color key="textColor" white="1" alpha="1" colorSpace="custom" customColorSpace="genericGamma22GrayColorSpace"/>
|
||||
<nil key="highlightedColor"/>
|
||||
</label>
|
||||
</subviews>
|
||||
<constraints>
|
||||
<constraint firstItem="bZT-xd-Nax" firstAttribute="leading" secondItem="H2p-sc-9uM" secondAttribute="leading" constant="16" id="A4P-rM-u2R"/>
|
||||
<constraint firstItem="bZT-xd-Nax" firstAttribute="centerX" secondItem="H2p-sc-9uM" secondAttribute="centerX" id="RAl-8x-aSg"/>
|
||||
<constraint firstItem="L0Q-5Y-jXq" firstAttribute="top" secondItem="H2p-sc-9uM" secondAttribute="top" constant="15" id="Z25-oO-34K"/>
|
||||
<constraint firstItem="L0Q-5Y-jXq" firstAttribute="centerX" secondItem="H2p-sc-9uM" secondAttribute="centerX" id="fqG-6F-6sY"/>
|
||||
<constraint firstItem="bZT-xd-Nax" firstAttribute="top" secondItem="L0Q-5Y-jXq" secondAttribute="bottom" constant="9" id="zFo-b6-ABK"/>
|
||||
</constraints>
|
||||
</tableViewCellContentView>
|
||||
<color key="backgroundColor" red="0.51372549020000002" green="0.039215686270000001" blue="0.039215686270000001" alpha="1" colorSpace="custom" customColorSpace="sRGB"/>
|
||||
<viewLayoutGuide key="safeArea" id="aW0-zy-SZf"/>
|
||||
<point key="canvasLocation" x="9.5" y="62.5"/>
|
||||
</tableViewCell>
|
||||
</objects>
|
||||
<resources>
|
||||
<image name="img_circle_avatar" width="114" height="114"/>
|
||||
</resources>
|
||||
</document>
|
||||
|
|
@ -0,0 +1,14 @@
|
|||
//
|
||||
// GIGaUserWeChatViewCell.h
|
||||
// GIGA
|
||||
//
|
||||
// Created by lianxiang on 2018/9/14.
|
||||
// Copyright © 2018年 com.giga.ios. All rights reserved.
|
||||
//
|
||||
|
||||
#import <UIKit/UIKit.h>
|
||||
|
||||
@interface GIGaUserWeChatViewCell : UITableViewCell
|
||||
@property (weak, nonatomic) IBOutlet UITextField *weiXinCount;
|
||||
|
||||
@end
|
||||
|
|
@ -0,0 +1,25 @@
|
|||
//
|
||||
// GIGaUserWeChatViewCell.m
|
||||
// GIGA
|
||||
//
|
||||
// Created by lianxiang on 2018/9/14.
|
||||
// Copyright © 2018年 com.giga.ios. All rights reserved.
|
||||
//
|
||||
|
||||
#import "GIGaUserWeChatViewCell.h"
|
||||
|
||||
@implementation GIGaUserWeChatViewCell
|
||||
|
||||
- (void)awakeFromNib {
|
||||
[super awakeFromNib];
|
||||
// Initialization code
|
||||
|
||||
}
|
||||
|
||||
- (void)setSelected:(BOOL)selected animated:(BOOL)animated {
|
||||
[super setSelected:selected animated:animated];
|
||||
|
||||
// Configure the view for the selected state
|
||||
}
|
||||
|
||||
@end
|
||||
|
|
@ -0,0 +1,53 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<document type="com.apple.InterfaceBuilder3.CocoaTouch.XIB" version="3.0" toolsVersion="14113" targetRuntime="iOS.CocoaTouch" propertyAccessControl="none" useAutolayout="YES" useTraitCollections="YES" useSafeAreas="YES" colorMatched="YES">
|
||||
<device id="retina4_7" orientation="portrait">
|
||||
<adaptation id="fullscreen"/>
|
||||
</device>
|
||||
<dependencies>
|
||||
<deployment identifier="iOS"/>
|
||||
<plugIn identifier="com.apple.InterfaceBuilder.IBCocoaTouchPlugin" version="14088"/>
|
||||
<capability name="Safe area layout guides" minToolsVersion="9.0"/>
|
||||
<capability name="documents saved in the Xcode 8 format" minToolsVersion="8.0"/>
|
||||
</dependencies>
|
||||
<objects>
|
||||
<placeholder placeholderIdentifier="IBFilesOwner" id="-1" userLabel="File's Owner"/>
|
||||
<placeholder placeholderIdentifier="IBFirstResponder" id="-2" customClass="UIResponder"/>
|
||||
<tableViewCell contentMode="scaleToFill" selectionStyle="none" indentationWidth="10" reuseIdentifier="GIGaUserWeChatViewCell" id="KGk-i7-Jjw" customClass="GIGaUserWeChatViewCell">
|
||||
<rect key="frame" x="0.0" y="0.0" width="375" height="44"/>
|
||||
<autoresizingMask key="autoresizingMask" flexibleMaxX="YES" flexibleMaxY="YES"/>
|
||||
<tableViewCellContentView key="contentView" opaque="NO" clipsSubviews="YES" multipleTouchEnabled="YES" contentMode="center" tableViewCell="KGk-i7-Jjw" id="H2p-sc-9uM">
|
||||
<rect key="frame" x="0.0" y="0.0" width="375" height="43.5"/>
|
||||
<autoresizingMask key="autoresizingMask"/>
|
||||
<subviews>
|
||||
<label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="微信号" textAlignment="natural" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="96G-Rk-4QP">
|
||||
<rect key="frame" x="29" y="11" width="42" height="20"/>
|
||||
<fontDescription key="fontDescription" name="PingFangSC-Medium" family="PingFang SC" pointSize="14"/>
|
||||
<color key="textColor" red="0.21568627450980393" green="0.21568627450980393" blue="0.21568627450980393" alpha="1" colorSpace="calibratedRGB"/>
|
||||
<nil key="highlightedColor"/>
|
||||
</label>
|
||||
<textField opaque="NO" contentMode="scaleToFill" contentHorizontalAlignment="left" contentVerticalAlignment="center" placeholder="输入微信号" textAlignment="natural" minimumFontSize="17" translatesAutoresizingMaskIntoConstraints="NO" id="ZiU-cX-tf9">
|
||||
<rect key="frame" x="120" y="4" width="241" height="34"/>
|
||||
<constraints>
|
||||
<constraint firstAttribute="height" constant="34" id="EQ6-lD-lta"/>
|
||||
</constraints>
|
||||
<color key="textColor" red="0.34509803919999998" green="0.34509803919999998" blue="0.34509803919999998" alpha="1" colorSpace="calibratedRGB"/>
|
||||
<fontDescription key="fontDescription" name="PingFangSC-Medium" family="PingFang SC" pointSize="13"/>
|
||||
<textInputTraits key="textInputTraits"/>
|
||||
</textField>
|
||||
</subviews>
|
||||
<constraints>
|
||||
<constraint firstItem="ZiU-cX-tf9" firstAttribute="centerY" secondItem="H2p-sc-9uM" secondAttribute="centerY" id="CAa-I5-ohs"/>
|
||||
<constraint firstItem="96G-Rk-4QP" firstAttribute="leading" secondItem="H2p-sc-9uM" secondAttribute="leading" constant="29" id="eDQ-I2-ePA"/>
|
||||
<constraint firstItem="ZiU-cX-tf9" firstAttribute="leading" secondItem="H2p-sc-9uM" secondAttribute="leading" constant="120" id="edd-QI-enH"/>
|
||||
<constraint firstItem="96G-Rk-4QP" firstAttribute="centerY" secondItem="H2p-sc-9uM" secondAttribute="centerY" id="f7e-nm-2FR"/>
|
||||
<constraint firstAttribute="trailing" secondItem="ZiU-cX-tf9" secondAttribute="trailing" constant="14" id="zF4-Al-MXL"/>
|
||||
</constraints>
|
||||
</tableViewCellContentView>
|
||||
<viewLayoutGuide key="safeArea" id="aW0-zy-SZf"/>
|
||||
<connections>
|
||||
<outlet property="weiXinCount" destination="ZiU-cX-tf9" id="pgd-yd-pSv"/>
|
||||
</connections>
|
||||
<point key="canvasLocation" x="-87.5" y="67"/>
|
||||
</tableViewCell>
|
||||
</objects>
|
||||
</document>
|
||||
|
|
@ -0,0 +1,15 @@
|
|||
//
|
||||
// GiGaUserSexViewCell.h
|
||||
// GIGA
|
||||
//
|
||||
// Created by lianxiang on 2018/9/14.
|
||||
// Copyright © 2018年 com.giga.ios. All rights reserved.
|
||||
//
|
||||
|
||||
#import <UIKit/UIKit.h>
|
||||
|
||||
@interface GiGaUserSexViewCell : UITableViewCell
|
||||
@property (weak, nonatomic) IBOutlet UIButton *usefemale;
|
||||
@property (weak, nonatomic) IBOutlet UIButton *usermale;
|
||||
|
||||
@end
|
||||
|
|
@ -0,0 +1,24 @@
|
|||
//
|
||||
// GiGaUserSexViewCell.m
|
||||
// GIGA
|
||||
//
|
||||
// Created by lianxiang on 2018/9/14.
|
||||
// Copyright © 2018年 com.giga.ios. All rights reserved.
|
||||
//
|
||||
|
||||
#import "GiGaUserSexViewCell.h"
|
||||
|
||||
@implementation GiGaUserSexViewCell
|
||||
|
||||
- (void)awakeFromNib {
|
||||
[super awakeFromNib];
|
||||
// Initialization code
|
||||
}
|
||||
|
||||
- (void)setSelected:(BOOL)selected animated:(BOOL)animated {
|
||||
[super setSelected:selected animated:animated];
|
||||
|
||||
// Configure the view for the selected state
|
||||
}
|
||||
|
||||
@end
|
||||
|
|
@ -0,0 +1,86 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<document type="com.apple.InterfaceBuilder3.CocoaTouch.XIB" version="3.0" toolsVersion="14113" targetRuntime="iOS.CocoaTouch" propertyAccessControl="none" useAutolayout="YES" useTraitCollections="YES" useSafeAreas="YES" colorMatched="YES">
|
||||
<device id="retina4_7" orientation="portrait">
|
||||
<adaptation id="fullscreen"/>
|
||||
</device>
|
||||
<dependencies>
|
||||
<deployment identifier="iOS"/>
|
||||
<plugIn identifier="com.apple.InterfaceBuilder.IBCocoaTouchPlugin" version="14088"/>
|
||||
<capability name="Safe area layout guides" minToolsVersion="9.0"/>
|
||||
<capability name="documents saved in the Xcode 8 format" minToolsVersion="8.0"/>
|
||||
</dependencies>
|
||||
<objects>
|
||||
<placeholder placeholderIdentifier="IBFilesOwner" id="-1" userLabel="File's Owner"/>
|
||||
<placeholder placeholderIdentifier="IBFirstResponder" id="-2" customClass="UIResponder"/>
|
||||
<tableViewCell contentMode="scaleToFill" selectionStyle="none" indentationWidth="10" reuseIdentifier="GiGaUserSexViewCell" id="KGk-i7-Jjw" customClass="GiGaUserSexViewCell">
|
||||
<rect key="frame" x="0.0" y="0.0" width="375" height="44"/>
|
||||
<autoresizingMask key="autoresizingMask" flexibleMaxX="YES" flexibleMaxY="YES"/>
|
||||
<tableViewCellContentView key="contentView" opaque="NO" clipsSubviews="YES" multipleTouchEnabled="YES" contentMode="center" tableViewCell="KGk-i7-Jjw" id="H2p-sc-9uM">
|
||||
<rect key="frame" x="0.0" y="0.0" width="375" height="43.5"/>
|
||||
<autoresizingMask key="autoresizingMask"/>
|
||||
<subviews>
|
||||
<button opaque="NO" contentMode="scaleToFill" contentHorizontalAlignment="center" contentVerticalAlignment="center" lineBreakMode="middleTruncation" translatesAutoresizingMaskIntoConstraints="NO" id="1b5-Ch-YB1">
|
||||
<rect key="frame" x="76" y="0.0" width="106" height="44"/>
|
||||
<constraints>
|
||||
<constraint firstAttribute="width" constant="106" id="vwg-K2-GPw"/>
|
||||
<constraint firstAttribute="height" constant="44" id="w70-FB-xEb"/>
|
||||
</constraints>
|
||||
<fontDescription key="fontDescription" name="PingFangSC-Medium" family="PingFang SC" pointSize="13"/>
|
||||
<inset key="titleEdgeInsets" minX="19" minY="0.0" maxX="0.0" maxY="0.0"/>
|
||||
<inset key="imageEdgeInsets" minX="13" minY="0.0" maxX="0.0" maxY="0.0"/>
|
||||
<state key="normal" title="女" image="sex_selected">
|
||||
<color key="titleColor" red="0.34509803919999998" green="0.34509803919999998" blue="0.34509803919999998" alpha="1" colorSpace="calibratedRGB"/>
|
||||
</state>
|
||||
</button>
|
||||
<label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="性别" textAlignment="natural" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="ofO-JV-PX4">
|
||||
<rect key="frame" x="29" y="12" width="28" height="20"/>
|
||||
<fontDescription key="fontDescription" name="PingFangSC-Medium" family="PingFang SC" pointSize="14"/>
|
||||
<color key="textColor" red="0.2156862745" green="0.2156862745" blue="0.2156862745" alpha="1" colorSpace="calibratedRGB"/>
|
||||
<nil key="highlightedColor"/>
|
||||
</label>
|
||||
<view contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="yUE-mb-GBH">
|
||||
<rect key="frame" x="25" y="43.5" width="324.5" height="0.5"/>
|
||||
<color key="backgroundColor" red="0.87058823529411766" green="0.87058823529411766" blue="0.87058823529411766" alpha="1" colorSpace="calibratedRGB"/>
|
||||
<constraints>
|
||||
<constraint firstAttribute="height" constant="0.5" id="Dez-Tc-Mdf"/>
|
||||
</constraints>
|
||||
</view>
|
||||
<button opaque="NO" contentMode="scaleToFill" contentHorizontalAlignment="center" contentVerticalAlignment="center" lineBreakMode="middleTruncation" translatesAutoresizingMaskIntoConstraints="NO" id="DdT-OD-I8H">
|
||||
<rect key="frame" x="185" y="0.0" width="109" height="44"/>
|
||||
<constraints>
|
||||
<constraint firstAttribute="height" constant="44" id="5cm-Dh-LOR"/>
|
||||
<constraint firstAttribute="width" constant="109" id="h4H-c3-2x2"/>
|
||||
</constraints>
|
||||
<fontDescription key="fontDescription" name="PingFangSC-Medium" family="PingFang SC" pointSize="13"/>
|
||||
<inset key="titleEdgeInsets" minX="-60" minY="0.0" maxX="0.0" maxY="0.0"/>
|
||||
<inset key="imageEdgeInsets" minX="-65" minY="0.0" maxX="0.0" maxY="0.0"/>
|
||||
<state key="normal" title="男" image="sex_disselect">
|
||||
<color key="titleColor" red="0.34509803919999998" green="0.34509803919999998" blue="0.34509803919999998" alpha="1" colorSpace="calibratedRGB"/>
|
||||
</state>
|
||||
</button>
|
||||
</subviews>
|
||||
<constraints>
|
||||
<constraint firstItem="DdT-OD-I8H" firstAttribute="leading" secondItem="1b5-Ch-YB1" secondAttribute="trailing" constant="3" id="GeC-WC-aBx"/>
|
||||
<constraint firstItem="1b5-Ch-YB1" firstAttribute="leading" secondItem="H2p-sc-9uM" secondAttribute="leading" constant="76" id="Lim-j1-EZJ"/>
|
||||
<constraint firstItem="DdT-OD-I8H" firstAttribute="centerY" secondItem="1b5-Ch-YB1" secondAttribute="centerY" id="Ocb-lm-QyT"/>
|
||||
<constraint firstAttribute="trailing" secondItem="yUE-mb-GBH" secondAttribute="trailing" constant="25.5" id="Oeo-Vt-h7O"/>
|
||||
<constraint firstItem="ofO-JV-PX4" firstAttribute="leading" secondItem="H2p-sc-9uM" secondAttribute="leading" constant="29" id="gxQ-oB-E14"/>
|
||||
<constraint firstItem="1b5-Ch-YB1" firstAttribute="centerY" secondItem="H2p-sc-9uM" secondAttribute="centerY" constant="0.25" id="m7I-BO-n6j"/>
|
||||
<constraint firstItem="ofO-JV-PX4" firstAttribute="centerY" secondItem="H2p-sc-9uM" secondAttribute="centerY" id="p4O-0k-95J"/>
|
||||
<constraint firstItem="yUE-mb-GBH" firstAttribute="leading" secondItem="H2p-sc-9uM" secondAttribute="leading" constant="25" id="v71-aX-Fuk"/>
|
||||
<constraint firstAttribute="bottom" secondItem="yUE-mb-GBH" secondAttribute="bottom" constant="-0.5" id="xkG-Sc-n0C"/>
|
||||
</constraints>
|
||||
</tableViewCellContentView>
|
||||
<viewLayoutGuide key="safeArea" id="aW0-zy-SZf"/>
|
||||
<connections>
|
||||
<outlet property="usefemale" destination="1b5-Ch-YB1" id="uw1-yV-C4u"/>
|
||||
<outlet property="usermale" destination="DdT-OD-I8H" id="3Mx-BD-lAG"/>
|
||||
</connections>
|
||||
<point key="canvasLocation" x="33.5" y="68"/>
|
||||
</tableViewCell>
|
||||
</objects>
|
||||
<resources>
|
||||
<image name="sex_disselect" width="16" height="16"/>
|
||||
<image name="sex_selected" width="16" height="16"/>
|
||||
</resources>
|
||||
</document>
|
||||