我的页面改版(账户、赛事调整,新增技能卡入口)

This commit is contained in:
chenguilong
2022-01-19 16:04:46 +08:00
parent 65f730cdd3
commit 7d6fe95f65
61 changed files with 882 additions and 298 deletions

View File

@@ -205,4 +205,4 @@ SPEC CHECKSUMS:
PODFILE CHECKSUM: 8120dbc8eb506e124ccb97e8ce2ecf2420ac8b5f
COCOAPODS: 1.11.0
COCOAPODS: 1.11.2

View File

@@ -133,6 +133,10 @@
9B8585D3278837CE00D7D5C6 /* NobleLevelUpModel.m in Sources */ = {isa = PBXBuildFile; fileRef = 9B8585D2278837CE00D7D5C6 /* NobleLevelUpModel.m */; };
9B8585F52788699400D7D5C6 /* FBKVOController.m in Sources */ = {isa = PBXBuildFile; fileRef = 9B8585F42788699400D7D5C6 /* FBKVOController.m */; };
9BA41F2527CBB7950043B11F /* UIColor+Extension.m in Sources */ = {isa = PBXBuildFile; fileRef = 9BA41F2427CBB7950043B11F /* UIColor+Extension.m */; };
9B92A33C2797E38100AD168F /* XPMineHeadItemTableViewCell.m in Sources */ = {isa = PBXBuildFile; fileRef = 9B92A33B2797E38100AD168F /* XPMineHeadItemTableViewCell.m */; };
9B92A3442797EE6500AD168F /* XPMatchManagePresenter.m in Sources */ = {isa = PBXBuildFile; fileRef = 9B92A3432797EE6500AD168F /* XPMatchManagePresenter.m */; };
9B92A3472797EECD00AD168F /* XPMatchManageViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = 9B92A3462797EECD00AD168F /* XPMatchManageViewController.m */; };
9B92A34A2797F35E00AD168F /* XPMatchManageTableViewCell.m in Sources */ = {isa = PBXBuildFile; fileRef = 9B92A3492797F35E00AD168F /* XPMatchManageTableViewCell.m */; };
9BAA5FED277A1BBE007453F3 /* XPPrivacyViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = 9BAA5FEC277A1BBE007453F3 /* XPPrivacyViewController.m */; };
9BAA5FF0277A23F4007453F3 /* XPPermissionsViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = 9BAA5FEF277A23F4007453F3 /* XPPermissionsViewController.m */; };
9BB549592782E6A30090CD26 /* XPNobleCenterPresenter.m in Sources */ = {isa = PBXBuildFile; fileRef = 9BB549582782E6A30090CD26 /* XPNobleCenterPresenter.m */; };
@@ -480,9 +484,7 @@
E8E70D7A26F2F16600F03460 /* XPMinePresent.m in Sources */ = {isa = PBXBuildFile; fileRef = E8E70D7926F2F16600F03460 /* XPMinePresent.m */; };
E8E70D7E26F2F19D00F03460 /* Api+Mine.m in Sources */ = {isa = PBXBuildFile; fileRef = E8E70D7D26F2F19D00F03460 /* Api+Mine.m */; };
E8E70D8326F2F51A00F03460 /* XPMineHeadView.m in Sources */ = {isa = PBXBuildFile; fileRef = E8E70D8226F2F51A00F03460 /* XPMineHeadView.m */; };
E8E70D8626F2F55C00F03460 /* XPMineAccountView.m in Sources */ = {isa = PBXBuildFile; fileRef = E8E70D8526F2F55C00F03460 /* XPMineAccountView.m */; };
E8E70D8926F2F58F00F03460 /* XPMineMatchTableViewCell.m in Sources */ = {isa = PBXBuildFile; fileRef = E8E70D8826F2F58F00F03460 /* XPMineMatchTableViewCell.m */; };
E8E70D8C26F2F5A500F03460 /* XPMineMatchCollectionViewCell.m in Sources */ = {isa = PBXBuildFile; fileRef = E8E70D8B26F2F5A500F03460 /* XPMineMatchCollectionViewCell.m */; };
E8E70D8C26F2F5A500F03460 /* XPMineHeadItemCollectionViewCell.m in Sources */ = {isa = PBXBuildFile; fileRef = E8E70D8B26F2F5A500F03460 /* XPMineHeadItemCollectionViewCell.m */; };
E8E70D8F26F2F5DB00F03460 /* XPMineMenuTableViewCell.m in Sources */ = {isa = PBXBuildFile; fileRef = E8E70D8E26F2F5DB00F03460 /* XPMineMenuTableViewCell.m */; };
E8E70D9226F2F60C00F03460 /* XPMineItemModel.m in Sources */ = {isa = PBXBuildFile; fileRef = E8E70D9126F2F60C00F03460 /* XPMineItemModel.m */; };
E8E7DAE82744F5EF00C631CC /* XPGiftStorage.m in Sources */ = {isa = PBXBuildFile; fileRef = E8E7DAE72744F5EF00C631CC /* XPGiftStorage.m */; };
@@ -759,6 +761,15 @@
9B8585F42788699400D7D5C6 /* FBKVOController.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = FBKVOController.m; sourceTree = "<group>"; };
9BA41F2327CBB7950043B11F /* UIColor+Extension.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = "UIColor+Extension.h"; sourceTree = "<group>"; };
9BA41F2427CBB7950043B11F /* UIColor+Extension.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = "UIColor+Extension.m"; sourceTree = "<group>"; };
9B92A33A2797E38100AD168F /* XPMineHeadItemTableViewCell.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = XPMineHeadItemTableViewCell.h; sourceTree = "<group>"; };
9B92A33B2797E38100AD168F /* XPMineHeadItemTableViewCell.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = XPMineHeadItemTableViewCell.m; sourceTree = "<group>"; };
9B92A3412797EE1200AD168F /* XPMatchManageProtocol.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = XPMatchManageProtocol.h; sourceTree = "<group>"; };
9B92A3422797EE6500AD168F /* XPMatchManagePresenter.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = XPMatchManagePresenter.h; sourceTree = "<group>"; };
9B92A3432797EE6500AD168F /* XPMatchManagePresenter.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = XPMatchManagePresenter.m; sourceTree = "<group>"; };
9B92A3452797EECD00AD168F /* XPMatchManageViewController.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = XPMatchManageViewController.h; sourceTree = "<group>"; };
9B92A3462797EECD00AD168F /* XPMatchManageViewController.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = XPMatchManageViewController.m; sourceTree = "<group>"; };
9B92A3482797F35E00AD168F /* XPMatchManageTableViewCell.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = XPMatchManageTableViewCell.h; sourceTree = "<group>"; };
9B92A3492797F35E00AD168F /* XPMatchManageTableViewCell.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = XPMatchManageTableViewCell.m; sourceTree = "<group>"; };
9BAA5FEB277A1BBE007453F3 /* XPPrivacyViewController.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = XPPrivacyViewController.h; sourceTree = "<group>"; };
9BAA5FEC277A1BBE007453F3 /* XPPrivacyViewController.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = XPPrivacyViewController.m; sourceTree = "<group>"; };
9BAA5FEE277A23F4007453F3 /* XPPermissionsViewController.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = XPPermissionsViewController.h; sourceTree = "<group>"; };
@@ -1453,12 +1464,8 @@
E8E70D7D26F2F19D00F03460 /* Api+Mine.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = "Api+Mine.m"; sourceTree = "<group>"; };
E8E70D8126F2F51A00F03460 /* XPMineHeadView.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = XPMineHeadView.h; sourceTree = "<group>"; };
E8E70D8226F2F51A00F03460 /* XPMineHeadView.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = XPMineHeadView.m; sourceTree = "<group>"; };
E8E70D8426F2F55C00F03460 /* XPMineAccountView.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = XPMineAccountView.h; sourceTree = "<group>"; };
E8E70D8526F2F55C00F03460 /* XPMineAccountView.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = XPMineAccountView.m; sourceTree = "<group>"; };
E8E70D8726F2F58F00F03460 /* XPMineMatchTableViewCell.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = XPMineMatchTableViewCell.h; sourceTree = "<group>"; };
E8E70D8826F2F58F00F03460 /* XPMineMatchTableViewCell.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = XPMineMatchTableViewCell.m; sourceTree = "<group>"; };
E8E70D8A26F2F5A500F03460 /* XPMineMatchCollectionViewCell.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = XPMineMatchCollectionViewCell.h; sourceTree = "<group>"; };
E8E70D8B26F2F5A500F03460 /* XPMineMatchCollectionViewCell.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = XPMineMatchCollectionViewCell.m; sourceTree = "<group>"; };
E8E70D8A26F2F5A500F03460 /* XPMineHeadItemCollectionViewCell.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = XPMineHeadItemCollectionViewCell.h; sourceTree = "<group>"; };
E8E70D8B26F2F5A500F03460 /* XPMineHeadItemCollectionViewCell.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = XPMineHeadItemCollectionViewCell.m; sourceTree = "<group>"; };
E8E70D8D26F2F5DB00F03460 /* XPMineMenuTableViewCell.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = XPMineMenuTableViewCell.h; sourceTree = "<group>"; };
E8E70D8E26F2F5DB00F03460 /* XPMineMenuTableViewCell.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = XPMineMenuTableViewCell.m; sourceTree = "<group>"; };
E8E70D9026F2F60C00F03460 /* XPMineItemModel.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = XPMineItemModel.h; sourceTree = "<group>"; };
@@ -2349,6 +2356,27 @@
9BC5C8F5277B0263007C8719 /* XPNobleCenterListViewController.m */,
9BEE3D0C27853BD000C83219 /* ThemeColor+NobleCenter.h */,
9BEE3D0D27853BD000C83219 /* ThemeColor+NobleCenter.m */,
);
path = View;
sourceTree = "<group>";
};
9B92A33D2797ED4600AD168F /* MatchManage */ = {
isa = PBXGroup;
children = (
9B92A3402797EDE900AD168F /* Protocol */,
9B92A33F2797EDE400AD168F /* Presenter */,
9B92A33E2797EDDE00AD168F /* View */,
);
path = MatchManage;
sourceTree = "<group>";
};
9B92A33E2797EDDE00AD168F /* View */ = {
isa = PBXGroup;
children = (
9B92A3452797EECD00AD168F /* XPMatchManageViewController.h */,
9B92A3462797EECD00AD168F /* XPMatchManageViewController.m */,
9B92A3482797F35E00AD168F /* XPMatchManageTableViewCell.h */,
9B92A3492797F35E00AD168F /* XPMatchManageTableViewCell.m */,
);
path = View;
sourceTree = "<group>";
@@ -2358,6 +2386,15 @@
children = (
9BB549572782E6A30090CD26 /* XPNobleCenterPresenter.h */,
9BB549582782E6A30090CD26 /* XPNobleCenterPresenter.m */,
);
path = Presenter;
sourceTree = "<group>";
};
9B92A33F2797EDE400AD168F /* Presenter */ = {
isa = PBXGroup;
children = (
9B92A3422797EE6500AD168F /* XPMatchManagePresenter.h */,
9B92A3432797EE6500AD168F /* XPMatchManagePresenter.m */,
);
path = Presenter;
sourceTree = "<group>";
@@ -2436,6 +2473,14 @@
isa = PBXGroup;
children = (
9BD63FB1277EF14A006EB744 /* XPReleaseRadioProtocol.h */,
);
path = Protocol;
sourceTree = "<group>";
};
9B92A3402797EDE900AD168F /* Protocol */ = {
isa = PBXGroup;
children = (
9B92A3412797EE1200AD168F /* XPMatchManageProtocol.h */,
);
path = Protocol;
sourceTree = "<group>";
@@ -4007,6 +4052,7 @@
children = (
E896EF912771AA6C00AD2CC1 /* Friend */,
9BC5C8EA277AFEDC007C8719 /* Noble */,
9B92A33D2797ED4600AD168F /* MatchManage */,
E83953232769FF2400CF2F24 /* DressUp */,
E8E70D8026F2F3C500F03460 /* Cell */,
E8E70D7F26F2F39000F03460 /* SubViews */,
@@ -4112,8 +4158,6 @@
E8E70D8226F2F51A00F03460 /* XPMineHeadView.m */,
E896EFB02771C93B00AD2CC1 /* XPMineFriendNumberView.h */,
E896EFB12771C93B00AD2CC1 /* XPMineFriendNumberView.m */,
E8E70D8426F2F55C00F03460 /* XPMineAccountView.h */,
E8E70D8526F2F55C00F03460 /* XPMineAccountView.m */,
E824544126F58FCE00BE8163 /* XPMinePayPwdInputView.h */,
E824544226F58FCE00BE8163 /* XPMinePayPwdInputView.m */,
E824544C26F5BC1A00BE8163 /* XPMineModifPayPwdView.h */,
@@ -4130,16 +4174,16 @@
E896EFA32771AEC500AD2CC1 /* Friend */,
E8B846D026FDDBCD00A777FE /* Recharge */,
E8EEB8F826FC285B007C6EBA /* MineInfo */,
E8E70D8726F2F58F00F03460 /* XPMineMatchTableViewCell.h */,
E8E70D8826F2F58F00F03460 /* XPMineMatchTableViewCell.m */,
E8E70D8A26F2F5A500F03460 /* XPMineMatchCollectionViewCell.h */,
E8E70D8B26F2F5A500F03460 /* XPMineMatchCollectionViewCell.m */,
E8E70D8A26F2F5A500F03460 /* XPMineHeadItemCollectionViewCell.h */,
E8E70D8B26F2F5A500F03460 /* XPMineHeadItemCollectionViewCell.m */,
E8E70D8D26F2F5DB00F03460 /* XPMineMenuTableViewCell.h */,
E8E70D8E26F2F5DB00F03460 /* XPMineMenuTableViewCell.m */,
E8AC721426F46B06007D6E91 /* XPMineSettingTableViewCell.h */,
E8AC721526F46B06007D6E91 /* XPMineSettingTableViewCell.m */,
E8AC723026F49710007D6E91 /* XPMineNotificationTableViewCell.h */,
E8AC723126F49710007D6E91 /* XPMineNotificationTableViewCell.m */,
9B92A33A2797E38100AD168F /* XPMineHeadItemTableViewCell.h */,
9B92A33B2797E38100AD168F /* XPMineHeadItemTableViewCell.m */,
);
path = Cell;
sourceTree = "<group>";
@@ -4422,7 +4466,6 @@
E8A03DFC276350A60098D9EA /* XPCandyTreeGiftView.m in Sources */,
189DD73E26E21C3F00AB55B1 /* YYUtility.m in Sources */,
E87A26FD27587E17002DDC7A /* HomeTagModel.m in Sources */,
E8E70D8926F2F58F00F03460 /* XPMineMatchTableViewCell.m in Sources */,
E88B5CA826FB089C00DA9178 /* XPMineTeenagePwdViewController.m in Sources */,
E81C1B2F277071670020D1E4 /* XPArrangeMicInfoModel.m in Sources */,
9B0086CA27BA4F570032BD2B /* AnchorMicroView.m in Sources */,
@@ -4438,6 +4481,7 @@
E8AC723526F49939007D6E91 /* XPMineNotificaPresenter.m in Sources */,
E80DE40A277568D300BE5BCB /* ThemeColor+FirstRecharge.m in Sources */,
9BC5C8ED277AFF63007C8719 /* XPNobleCenterViewController.m in Sources */,
9B92A34A2797F35E00AD168F /* XPMatchManageTableViewCell.m in Sources */,
18EE3FE22750C29D00A452BF /* NIMBadgeView.m in Sources */,
E82EE0F8272FDDFA00D15DC1 /* UserPrivacyView.m in Sources */,
E8DEC9A42764A6600078CB70 /* XPMoreMenuPresenter.m in Sources */,
@@ -4533,7 +4577,6 @@
E8395331276A03AE00CF2F24 /* Api+DressUp.m in Sources */,
E8DEC99E2764A5B60078CB70 /* XPRoomMoreMenuViewController.m in Sources */,
E82325F2274E2DE6003A3332 /* XPUserCardViewController.m in Sources */,
E8E70D8626F2F55C00F03460 /* XPMineAccountView.m in Sources */,
E8C6FFCA27548120004DC9F0 /* XPHomePresenter.m in Sources */,
E8412FB02779CB4D006E1101 /* XPRoomSettingPresenter.m in Sources */,
E878893C273A54C300BF1D57 /* Api+Gift.m in Sources */,
@@ -4583,6 +4626,7 @@
E8A6C29F27CF5FE500AC7442 /* HomeLiveRoomModel.m in Sources */,
E84150B827747B8B00A7F548 /* XPFirstRechargeViewController.m in Sources */,
9BBC02872786D75C0007C24B /* XPNobleUpgradeLevelView.m in Sources */,
9B92A3442797EE6500AD168F /* XPMatchManagePresenter.m in Sources */,
E88B5CBD26FB3BDF00DA9178 /* XPTeenagerAlertView.m in Sources */,
E82D5C70276AE60000858D6D /* HeadwearModel.m in Sources */,
E8A03DEC276301EF0098D9EA /* XPCandyTreeRankView.m in Sources */,
@@ -4612,6 +4656,7 @@
9B17F71827BD150600440843 /* SVGAParserManager.m in Sources */,
E80DE40D2775ABA500BE5BCB /* XPFirstRechargeFlowLayout.m in Sources */,
E896EFA22771AE9400AD2CC1 /* XPMineFriendViewController.m in Sources */,
E8E70D8C26F2F5A500F03460 /* XPMineHeadItemCollectionViewCell.m in Sources */,
186A534A26FC6ED900D67B2C /* TTActionSheetConfig.m in Sources */,
9BBC028B2786E05A0007C24B /* XPNobleCenterEntranceView.m in Sources */,
E81C279326EB394D0031E639 /* LoginForgetPasswordViewController.m in Sources */,
@@ -4620,6 +4665,7 @@
E87A26F627587C48002DDC7A /* XPHomePartyContainerViewController.m in Sources */,
E8EEB90126FC31B6007C6EBA /* XPMineUserInfoPresenter.m in Sources */,
18F404BB2760982000A6C548 /* ChatLimitModel.m in Sources */,
9B92A33C2797E38100AD168F /* XPMineHeadItemTableViewCell.m in Sources */,
189DD56526DE465A00AB55B1 /* LoginViewController.m in Sources */,
E824544B26F5BBB800BE8163 /* XPMineModifPayPwdViewController.m in Sources */,
E81C1B2227705F950020D1E4 /* Api+ArrangeMic.m in Sources */,
@@ -4754,6 +4800,7 @@
E8788934273A53D700BF1D57 /* XPSendGiftView.m in Sources */,
E896EF9C2771AE6B00AD2CC1 /* XPMineFansViewController.m in Sources */,
E88B5CB826FB325200DA9178 /* XPMineTeenagerPwdPresenter.m in Sources */,
9B92A3472797EECD00AD168F /* XPMatchManageViewController.m in Sources */,
E84B0E462727EF9D008818C6 /* XPRoomMessageParser.m in Sources */,
E838D9A0275E1BF60079E0B5 /* XPRoomAnimationView.m in Sources */,
9B0086C627BA392B0032BD2B /* AnchorStageView.m in Sources */,

View File

@@ -0,0 +1,22 @@
{
"images" : [
{
"idiom" : "universal",
"scale" : "1x"
},
{
"filename" : "mine_head_bg@2x.png",
"idiom" : "universal",
"scale" : "2x"
},
{
"filename" : "mine_head_bg@3x.png",
"idiom" : "universal",
"scale" : "3x"
}
],
"info" : {
"author" : "xcode",
"version" : 1
}
}

Binary file not shown.

After

Width:  |  Height:  |  Size: 25 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 49 KiB

View File

@@ -0,0 +1,22 @@
{
"images" : [
{
"idiom" : "universal",
"scale" : "1x"
},
{
"filename" : "mine_normal_invite_friend@2x.png",
"idiom" : "universal",
"scale" : "2x"
},
{
"filename" : "mine_normal_invite_friend@3x.png",
"idiom" : "universal",
"scale" : "3x"
}
],
"info" : {
"author" : "xcode",
"version" : 1
}
}

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.2 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.6 KiB

View File

@@ -0,0 +1,22 @@
{
"images" : [
{
"idiom" : "universal",
"scale" : "1x"
},
{
"filename" : "mine_normal_match_manage@2x.png",
"idiom" : "universal",
"scale" : "2x"
},
{
"filename" : "mine_normal_match_manage@3x.png",
"idiom" : "universal",
"scale" : "3x"
}
],
"info" : {
"author" : "xcode",
"version" : 1
}
}

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.4 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.7 KiB

View File

@@ -0,0 +1,22 @@
{
"images" : [
{
"idiom" : "universal",
"scale" : "1x"
},
{
"filename" : "mine_normal_my_account@2x.png",
"idiom" : "universal",
"scale" : "2x"
},
{
"filename" : "mine_normal_my_account@3x.png",
"idiom" : "universal",
"scale" : "3x"
}
],
"info" : {
"author" : "xcode",
"version" : 1
}
}

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.6 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.7 KiB

View File

@@ -0,0 +1,22 @@
{
"images" : [
{
"idiom" : "universal",
"scale" : "1x"
},
{
"filename" : "mine_normal_my_clan@2x.png",
"idiom" : "universal",
"scale" : "2x"
},
{
"filename" : "mine_normal_my_clan@3x.png",
"idiom" : "universal",
"scale" : "3x"
}
],
"info" : {
"author" : "xcode",
"version" : 1
}
}

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.2 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.5 KiB

View File

@@ -0,0 +1,22 @@
{
"images" : [
{
"idiom" : "universal",
"scale" : "1x"
},
{
"filename" : "mine_normal_my_collect@2x.png",
"idiom" : "universal",
"scale" : "2x"
},
{
"filename" : "mine_normal_my_collect@3x.png",
"idiom" : "universal",
"scale" : "3x"
}
],
"info" : {
"author" : "xcode",
"version" : 1
}
}

Binary file not shown.

After

Width:  |  Height:  |  Size: 936 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.3 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.9 KiB

After

Width:  |  Height:  |  Size: 1.4 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 3.8 KiB

After

Width:  |  Height:  |  Size: 2.0 KiB

View File

@@ -0,0 +1,22 @@
{
"images" : [
{
"idiom" : "universal",
"scale" : "1x"
},
{
"filename" : "mine_normal_my_guild@2x.png",
"idiom" : "universal",
"scale" : "2x"
},
{
"filename" : "mine_normal_my_guild@3x.png",
"idiom" : "universal",
"scale" : "3x"
}
],
"info" : {
"author" : "xcode",
"version" : 1
}
}

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.1 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.5 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.1 KiB

After

Width:  |  Height:  |  Size: 860 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 4.0 KiB

After

Width:  |  Height:  |  Size: 1.1 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 791 B

After

Width:  |  Height:  |  Size: 987 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.3 KiB

After

Width:  |  Height:  |  Size: 1.1 KiB

View File

@@ -0,0 +1,22 @@
{
"images" : [
{
"idiom" : "universal",
"scale" : "1x"
},
{
"filename" : "mine_normal_relevance@2x.png",
"idiom" : "universal",
"scale" : "2x"
},
{
"filename" : "mine_normal_relevance@3x.png",
"idiom" : "universal",
"scale" : "3x"
}
],
"info" : {
"author" : "xcode",
"version" : 1
}
}

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.1 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.4 KiB

View File

@@ -0,0 +1,22 @@
{
"images" : [
{
"idiom" : "universal",
"scale" : "1x"
},
{
"filename" : "mine_normal_skill_card@2x.png",
"idiom" : "universal",
"scale" : "2x"
},
{
"filename" : "mine_normal_skill_card@3x.png",
"idiom" : "universal",
"scale" : "3x"
}
],
"info" : {
"author" : "xcode",
"version" : 1
}
}

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.1 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 6.0 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 809 B

After

Width:  |  Height:  |  Size: 1.2 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.3 KiB

After

Width:  |  Height:  |  Size: 1.6 KiB

View File

@@ -0,0 +1,22 @@
{
"images" : [
{
"idiom" : "universal",
"scale" : "1x"
},
{
"filename" : "mine_normal_visitor@2x.png",
"idiom" : "universal",
"scale" : "2x"
},
{
"filename" : "mine_normal_visitor@3x.png",
"idiom" : "universal",
"scale" : "3x"
}
],
"info" : {
"author" : "xcode",
"version" : 1
}
}

Binary file not shown.

After

Width:  |  Height:  |  Size: 928 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.2 KiB

View File

@@ -27,14 +27,16 @@ typedef NS_ENUM(NSInteger, XPMineItemType) {
XPMineItemType_Attention_List,///关注列表
XPMineItemType_Fans_List,///粉丝列表
XPMineItemType_Noble_Center,///贵族中心
XPMineItemType_Match_Manage, ///赛程管理
XPMineItemType_Skill_Card, ///技能卡
};
@interface XPMineItemModel : NSObject
///图片的名字
@property (nonatomic,copy) NSString *itmeImageName;
@property (nonatomic,copy) NSString *itemImageName;
///名字
@property (nonatomic,copy) NSString *itmeName;
@property (nonatomic,copy) NSString *itemName;
///跳转类型
@property (nonatomic,assign) XPMineItemType type;
///圆角

View File

@@ -11,12 +11,12 @@ NS_ASSUME_NONNULL_BEGIN
@interface XPMinePresent : BaseMvpPresenter
/// 获取赛事模块的items
- (void)getMatchItems;
/// 获取普通的items
- (void)getNormalItems;
///获取卡片items
- (void)getCardItems;
/// 获取用户信息
- (void)getUserInfo;
@end

View File

@@ -21,68 +21,60 @@
return ((id<XPMineProtocol>) [super getView]);
}
///items
- (void)getMatchItems {
XPMineItemModel * applyRecordItem = [[XPMineItemModel alloc] init];
applyRecordItem.itmeName = @"报名记录";
applyRecordItem.itmeImageName = @"mine_match_apply_record";
applyRecordItem.type = XPMineItemType_Match_Apply_Record;
XPMineItemModel * standingsItem = [[XPMineItemModel alloc] init];
standingsItem.itmeName = @"战绩";
standingsItem.itmeImageName = @"mine_match_standings";
standingsItem.type = XPMineItemType_Match_Standings;
XPMineItemModel * cardBagItem = [[XPMineItemModel alloc] init];
cardBagItem.itmeName = @"卡";
cardBagItem.itmeImageName = @"mine_match_card_bag";
cardBagItem.type = XPMineItemType_Match_Card_Bag;
XPMineItemModel * shoppingItem = [[XPMineItemModel alloc] init];
shoppingItem.itmeName = @"商城";
shoppingItem.itmeImageName = @"mine_match_shopping";
shoppingItem.type = XPMineItemType_Match_Shopping;
XPMineItemModel * relevanceItem = [[XPMineItemModel alloc] init];
relevanceItem.itmeName = @"关联账号";
relevanceItem.itmeImageName = @"mine_match_relevance_account";
relevanceItem.type = XPMineItemType_Match_Relevance_Account;
NSArray * array = @[applyRecordItem, standingsItem, cardBagItem, shoppingItem, relevanceItem];
[[self getView] onGetMatchItemsSuccess:array];
///items
- (void)getCardItems {
XPMineItemModel *myAccountItem = [[XPMineItemModel alloc] init];
myAccountItem.itemName = @"我的账户";
myAccountItem.itemImageName = @"mine_normal_my_account";
myAccountItem.type = XPMineItemType_Account;
XPMineItemModel * matchItem = [[XPMineItemModel alloc] init];
matchItem.itemName = @"赛程管理";
matchItem.itemImageName = @"mine_normal_match_manage";
matchItem.type = XPMineItemType_Match_Manage;
XPMineItemModel * skillCardItem = [[XPMineItemModel alloc] init];
skillCardItem.itemName = @"技能卡";
skillCardItem.itemImageName = @"mine_normal_skill_card";
skillCardItem.type = XPMineItemType_Skill_Card;
NSArray * array = @[myAccountItem, matchItem, skillCardItem];
[[self getView] onGetCardItemsSuccess:array];
}
/// items
- (void)getNormalItems {
XPMineItemModel * myRoomItem = [[XPMineItemModel alloc] init];
myRoomItem.itmeName = @"我的房间";
myRoomItem.itmeImageName = @"mine_normal_my_room";
myRoomItem.itemName = @"我的房间";
myRoomItem.itemImageName = @"mine_normal_my_room";
myRoomItem.type = XPMineItemType_My_Room;
myRoomItem.cornerType = UIRectCornerTopLeft | UIRectCornerTopRight;
XPMineItemModel * teenagerItem = [[XPMineItemModel alloc] init];
teenagerItem.itmeName = @"青少年模式";
teenagerItem.itmeImageName = @"mine_normal_teenager";
teenagerItem.itemName = @"青少年模式";
teenagerItem.itemImageName = @"mine_normal_teenager";
teenagerItem.type = XPMineItemType_Teenager_Mode;
XPMineItemModel * myDressUp = [[XPMineItemModel alloc] init];
myDressUp.itmeName = @"我的装扮";
myDressUp.itmeImageName = @"mine_normal_my_dressup";
myDressUp.itemName = @"我的装扮";
myDressUp.itemImageName = @"mine_normal_my_dressup";
myDressUp.type = XPMineItemType_My_Dressup;
XPMineItemModel * mylevel = [[XPMineItemModel alloc] init];
mylevel.itmeName = @"我的等级";
mylevel.itmeImageName = @"mine_normal_my_level";
mylevel.itemName = @"我的等级";
mylevel.itemImageName = @"mine_normal_my_level";
mylevel.type = XPMineItemType_My_Level;
XPMineItemModel *inviteFriend = [[XPMineItemModel alloc] init];
inviteFriend.itemName = @"推荐给好友";
inviteFriend.itemImageName = @"mine_normal_invite_friend";
inviteFriend.type = XPMineItemType_Invite_Friend;
XPMineItemModel * realNameItem = [[XPMineItemModel alloc] init];
realNameItem.itmeName = @"实名认证";
realNameItem.itmeImageName = @"mine_normal_real_name_authentic";
realNameItem.itemName = @"实名认证";
realNameItem.itemImageName = @"mine_normal_real_name_authentic";
realNameItem.type = XPMineItemType_Real_Name_Authentic;
realNameItem.cornerType = UIRectCornerBottomLeft | UIRectCornerBottomRight;
NSArray * array = @[myRoomItem,teenagerItem, myDressUp, realNameItem];
NSArray * array = @[myRoomItem,teenagerItem, myDressUp, inviteFriend, realNameItem];
[[self getView] onGetNormalItemsSuccess:array];
}

View File

@@ -17,6 +17,9 @@ NS_ASSUME_NONNULL_BEGIN
/// 获取普通的选项
/// @param matchItems 数据源
- (void)onGetNormalItemsSuccess:(NSArray<XPMineItemModel *> *)matchItems;
///获取卡片选项
///@param cardItems 数据源
- (void)onGetCardItemsSuccess:(NSArray<XPMineItemModel *> *)cardItems;
///获取用户信息成功
- (void)onGetUserInfoSuccess:(UserInfoModel *)userInfo;
@end

View File

@@ -9,7 +9,7 @@
NS_ASSUME_NONNULL_BEGIN
@class XPMineItemModel;
@interface XPMineMatchCollectionViewCell : UICollectionViewCell
@interface XPMineHeadItemCollectionViewCell : UICollectionViewCell
///
@property (nonatomic,strong) XPMineItemModel *itemModel;
@end

View File

@@ -5,7 +5,7 @@
// Created by on 2021/9/16.
//
#import "XPMineMatchCollectionViewCell.h"
#import "XPMineHeadItemCollectionViewCell.h"
///Third
#import <Masonry/Masonry.h>
///Tool
@@ -13,7 +13,7 @@
///Model
#import "XPMineItemModel.h"
@interface XPMineMatchCollectionViewCell ()
@interface XPMineHeadItemCollectionViewCell ()
///
@property (nonatomic,strong) UIImageView *logoImageView;
///
@@ -21,7 +21,7 @@
@end
@implementation XPMineMatchCollectionViewCell
@implementation XPMineHeadItemCollectionViewCell
- (instancetype)initWithFrame:(CGRect)frame
{
@@ -46,7 +46,7 @@
}];
[self.titleLabel mas_makeConstraints:^(MASConstraintMaker *make) {
make.top.mas_equalTo(self.logoImageView.mas_bottom).offset(5);
make.top.mas_equalTo(self.logoImageView.mas_bottom).offset(8);
make.centerX.mas_equalTo(self.contentView);
}];
}
@@ -55,8 +55,8 @@
- (void)setItemModel:(XPMineItemModel *)itemModel {
_itemModel = itemModel;
if (_itemModel) {
self.logoImageView.image = [UIImage imageNamed:_itemModel.itmeImageName];
self.titleLabel.text = _itemModel.itmeName;
self.logoImageView.image = [UIImage imageNamed:_itemModel.itemImageName];
self.titleLabel.text = _itemModel.itemName;
}
}

View File

@@ -0,0 +1,28 @@
//
// XPMineHeadItemTableViewCell.h
// xplan-ios
//
// Created by GreenLand on 2022/1/19.
//
#import <UIKit/UIKit.h>
NS_ASSUME_NONNULL_BEGIN
@class XPMineItemModel, XPMineHeadItemTableViewCell;
@protocol XPMineHeadItemTableViewCellDelegate <NSObject>
///选择了某个item
- (void)xPMineHeadItemTableViewCell:(XPMineHeadItemTableViewCell *)cell didSelectItem:(XPMineItemModel *)item;
@end
@interface XPMineHeadItemTableViewCell : UITableViewCell
///数据
@property (nonatomic,strong) NSArray<XPMineItemModel *> *datasource;
///代理
@property (nonatomic,weak) id<XPMineHeadItemTableViewCellDelegate> delegate;
@end
NS_ASSUME_NONNULL_END

View File

@@ -0,0 +1,105 @@
//
// XPMineHeadItemTableViewCell.m
// xplan-ios
//
// Created by GreenLand on 2022/1/19.
//
#import "XPMineHeadItemTableViewCell.h"
///Third
#import <Masonry/Masonry.h>
///Tool
#import "ThemeColor.h"
#import "XPMacro.h"
///View
#import "XPMineHeadItemCollectionViewCell.h"
@interface XPMineHeadItemTableViewCell ()<UICollectionViewDelegate, UICollectionViewDataSource, UICollectionViewDelegateFlowLayout>
///
@property (nonatomic,strong) UICollectionView *collectionView;
@end
@implementation XPMineHeadItemTableViewCell
- (instancetype)initWithStyle:(UITableViewCellStyle)style reuseIdentifier:(NSString *)reuseIdentifier {
if (self = [super initWithStyle:style reuseIdentifier:reuseIdentifier]) {
[self initSubViews];
[self initSubViewConstraints];
}
return self;
}
#pragma mark - Private Method
- (void)initSubViews {
self.backgroundColor = [UIColor clearColor];
[self.contentView addSubview:self.collectionView];
}
- (void)initSubViewConstraints {
[self.collectionView mas_makeConstraints:^(MASConstraintMaker *make) {
make.top.bottom.mas_equalTo(self.contentView);
make.left.right.mas_equalTo(self.contentView).inset(15);
}];
}
#pragma mark - UICollectionViewDatasource And UICollectionViewDelegate
- (NSInteger)collectionView:(UICollectionView *)collectionView numberOfItemsInSection:(NSInteger)section {
return self.datasource.count;
}
- (__kindof UICollectionViewCell *)collectionView:(UICollectionView *)collectionView cellForItemAtIndexPath:(NSIndexPath *)indexPath {
XPMineHeadItemCollectionViewCell * cell = [collectionView dequeueReusableCellWithReuseIdentifier:NSStringFromClass([XPMineHeadItemCollectionViewCell class]) forIndexPath:indexPath];
XPMineItemModel * item = [self.datasource objectAtIndex:indexPath.row];
cell.itemModel = item;
return cell;
}
- (void)collectionView:(UICollectionView *)collectionView didSelectItemAtIndexPath:(NSIndexPath *)indexPath {
[collectionView deselectItemAtIndexPath:indexPath animated:YES];
if (self.delegate && [self.delegate respondsToSelector:@selector(xPMineHeadItemTableViewCell:didSelectItem:)]) {
XPMineItemModel * model = [self.datasource objectAtIndex:indexPath.row];
[self.delegate xPMineHeadItemTableViewCell:self didSelectItem:model];
}
}
#pragma mark - UICollectionViewFlowlayout
- (UIEdgeInsets)collectionView:(UICollectionView *)collectionView layout:(UICollectionViewLayout *)collectionViewLayout insetForSectionAtIndex:(NSInteger)section {
return UIEdgeInsetsMake(14, 0, 0, 0);
}
- (CGFloat)collectionView:(UICollectionView *)collectionView layout:(UICollectionViewLayout *)collectionViewLayout minimumLineSpacingForSectionAtIndex:(NSInteger)section {
return 0;
}
- (CGSize)collectionView:(UICollectionView *)collectionView layout:(UICollectionViewLayout *)collectionViewLayout sizeForItemAtIndexPath:(NSIndexPath *)indexPath {
CGFloat width = (KScreenWidth - 30) / 3;
return CGSizeMake(width, 68);
}
- (CGFloat)collectionView:(UICollectionView *)collectionView layout:(UICollectionViewLayout *)collectionViewLayout minimumInteritemSpacingForSectionAtIndex:(NSInteger)section {
return 0;
}
#pragma mark - Getters And Setters
- (void)setDatasource:(NSArray<XPMineItemModel *> *)datasource {
_datasource = datasource;
[self.collectionView reloadData];
}
- (UICollectionView *)collectionView{
if (!_collectionView) {
UICollectionViewFlowLayout *layout = [[UICollectionViewFlowLayout alloc] init];
_collectionView = [[UICollectionView alloc] initWithFrame:CGRectZero collectionViewLayout:layout];
_collectionView.dataSource = self;
_collectionView.delegate = self;
_collectionView.backgroundColor = [ThemeColor appCellBackgroundColor];
[_collectionView registerClass:[XPMineHeadItemCollectionViewCell class] forCellWithReuseIdentifier:NSStringFromClass([XPMineHeadItemCollectionViewCell class])];
_collectionView.layer.masksToBounds = YES;
_collectionView.layer.cornerRadius = 10;
}
return _collectionView;
}
@end

View File

@@ -1,26 +0,0 @@
//
// XPMineMatchTableViewCell.h
// xplan-ios
//
// Created by 冯硕 on 2021/9/16.
//
#import <UIKit/UIKit.h>
NS_ASSUME_NONNULL_BEGIN
@class XPMineItemModel, XPMineMatchTableViewCell;
@protocol XPMineMatchTableViewCellDelegate <NSObject>
///选择了某个item
- (void)xPMineMatchTableViewCell:(XPMineMatchTableViewCell *)cell didSelectItem:(XPMineItemModel *)item;
@end
@interface XPMineMatchTableViewCell : UITableViewCell
///数据
@property (nonatomic,strong) NSArray<XPMineItemModel *> *datasource;
///代理
@property (nonatomic,weak) id<XPMineMatchTableViewCellDelegate> delegate;
@end
NS_ASSUME_NONNULL_END

View File

@@ -1,101 +0,0 @@
//
// XPMineMatchTableViewCell.m
// xplan-ios
//
// Created by on 2021/9/16.
//
#import "XPMineMatchTableViewCell.h"
///Third
#import <Masonry/Masonry.h>
///Tool
#import "ThemeColor.h"
#import "XPMacro.h"
///View
#import "XPMineMatchCollectionViewCell.h"
@interface XPMineMatchTableViewCell ()<UICollectionViewDelegate, UICollectionViewDataSource, UICollectionViewDelegateFlowLayout>
///
@property (nonatomic,strong) UICollectionView *collectionView;
@end
@implementation XPMineMatchTableViewCell
- (instancetype)initWithStyle:(UITableViewCellStyle)style reuseIdentifier:(NSString *)reuseIdentifier {
if (self = [super initWithStyle:style reuseIdentifier:reuseIdentifier]) {
[self initSubViews];
[self initSubViewConstraints];
}
return self;
}
#pragma mark - Private Method
- (void)initSubViews {
self.backgroundColor = [UIColor clearColor];
[self.contentView addSubview:self.collectionView];
}
- (void)initSubViewConstraints {
[self.collectionView mas_makeConstraints:^(MASConstraintMaker *make) {
make.top.bottom.mas_equalTo(self.contentView);
make.left.right.mas_equalTo(self.contentView).inset(15);
}];
}
#pragma mark - UICollectionViewDatasource And UICollectionViewDelegate
- (NSInteger)collectionView:(UICollectionView *)collectionView numberOfItemsInSection:(NSInteger)section {
return self.datasource.count;
}
- (__kindof UICollectionViewCell *)collectionView:(UICollectionView *)collectionView cellForItemAtIndexPath:(NSIndexPath *)indexPath {
XPMineMatchCollectionViewCell * cell = [collectionView dequeueReusableCellWithReuseIdentifier:NSStringFromClass([XPMineMatchCollectionViewCell class]) forIndexPath:indexPath];
XPMineItemModel * item = [self.datasource objectAtIndex:indexPath.row];
cell.itemModel = item;
return cell;
}
- (void)collectionView:(UICollectionView *)collectionView didSelectItemAtIndexPath:(NSIndexPath *)indexPath {
[collectionView deselectItemAtIndexPath:indexPath animated:YES];
if (self.delegate && [self.delegate respondsToSelector:@selector(xPMineMatchTableViewCell:didSelectItem:)]) {
XPMineItemModel * model = [self.datasource objectAtIndex:indexPath.row];
[self.delegate xPMineMatchTableViewCell:self didSelectItem:model];
}
}
#pragma mark - UICollectionViewFlowlayout
- (UIEdgeInsets)collectionView:(UICollectionView *)collectionView layout:(UICollectionViewLayout *)collectionViewLayout insetForSectionAtIndex:(NSInteger)section {
return UIEdgeInsetsMake(15, 22, 24, 22);
}
- (CGFloat)collectionView:(UICollectionView *)collectionView layout:(UICollectionViewLayout *)collectionViewLayout minimumLineSpacingForSectionAtIndex:(NSInteger)section {
return 24;
}
- (CGSize)collectionView:(UICollectionView *)collectionView layout:(UICollectionViewLayout *)collectionViewLayout sizeForItemAtIndexPath:(NSIndexPath *)indexPath {
return CGSizeMake(60, 60);
}
- (CGFloat)collectionView:(UICollectionView *)collectionView layout:(UICollectionViewLayout *)collectionViewLayout minimumInteritemSpacingForSectionAtIndex:(NSInteger)section {
return (KScreenWidth - 60 * 3 - 22 * 2 - 15 * 2) / 2;
}
#pragma mark - Getters And Setters
- (void)setDatasource:(NSArray<XPMineItemModel *> *)datasource {
_datasource = datasource;
[self.collectionView reloadData];
}
- (UICollectionView *)collectionView{
if (!_collectionView) {
UICollectionViewFlowLayout *layout = [[UICollectionViewFlowLayout alloc] init];
_collectionView = [[UICollectionView alloc] initWithFrame:CGRectZero collectionViewLayout:layout];
_collectionView.dataSource = self;
_collectionView.delegate = self;
_collectionView.backgroundColor = [ThemeColor appCellBackgroundColor];
[_collectionView registerClass:[XPMineMatchCollectionViewCell class] forCellWithReuseIdentifier:NSStringFromClass([XPMineMatchCollectionViewCell class])];
_collectionView.layer.masksToBounds = YES;
_collectionView.layer.cornerRadius = 10;
}
return _collectionView;
}
@end

View File

@@ -25,8 +25,7 @@
@property (nonatomic,strong) UILabel *titleLabel;
///
@property (nonatomic,strong) UIButton *arrowButton;
///线
@property (nonatomic,strong) UIView * partLineView;
@end
@implementation XPMineMenuTableViewCell
@@ -47,7 +46,6 @@
[self.contentView addSubview:self.backView];
[self.backView addSubview:self.stackView];
[self.backView addSubview:self.partLineView];
[self.stackView addArrangedSubview:self.logoImageView];
[self.stackView addArrangedSubview:self.titleLabel];
@@ -65,12 +63,6 @@
make.right.left.mas_equalTo(self.backView).inset(15);
}];
[self.partLineView mas_makeConstraints:^(MASConstraintMaker *make) {
make.left.right.mas_equalTo(self.stackView);
make.bottom.mas_equalTo(self.backView);
make.height.mas_equalTo(1);
}];
[self.logoImageView mas_makeConstraints:^(MASConstraintMaker *make) {
make.size.mas_equalTo(CGSizeMake(24, 24));
}];
@@ -88,8 +80,8 @@
- (void)setItemModel:(XPMineItemModel *)itemModel {
_itemModel = itemModel;
if (_itemModel) {
self.logoImageView.image = [UIImage imageNamed:_itemModel.itmeImageName];
self.titleLabel.text = _itemModel.itmeName;
self.logoImageView.image = [UIImage imageNamed:_itemModel.itemImageName];
self.titleLabel.text = _itemModel.itemName;
if (itemModel.cornerType) {
[self applyRoundCorners:itemModel.cornerType radius:10];
}
@@ -143,12 +135,4 @@
return _arrowButton;
}
- (UIView *)partLineView {
if (!_partLineView) {
_partLineView = [[UIView alloc] init];
_partLineView.backgroundColor = [ThemeColor dividerColor];
}
return _partLineView;
}
@end

View File

@@ -0,0 +1,19 @@
//
// XPMatchManagePresenter.h
// xplan-ios
//
// Created by GreenLand on 2022/1/19.
//
#import "BaseMvpPresenter.h"
NS_ASSUME_NONNULL_BEGIN
@interface XPMatchManagePresenter : BaseMvpPresenter
/// 获取赛事模块的items
- (void)getMatchItems;
@end
NS_ASSUME_NONNULL_END

View File

@@ -0,0 +1,50 @@
//
// XPMatchManagePresenter.m
// xplan-ios
//
// Created by GreenLand on 2022/1/19.
//
#import "XPMatchManagePresenter.h"
///Model
#import "XPMineItemModel.h"
///Protocol
#import "XPMatchManageProtocol.h"
@implementation XPMatchManagePresenter
- (id<XPMatchManageProtocol>)getView {
return ((id<XPMatchManageProtocol>) [super getView]);
}
///items
- (void)getMatchItems {
XPMineItemModel * applyRecordItem = [[XPMineItemModel alloc] init];
applyRecordItem.itemName = @"报名记录";
applyRecordItem.itemImageName = @"mine_match_apply_record";
applyRecordItem.type = XPMineItemType_Match_Apply_Record;
XPMineItemModel * standingsItem = [[XPMineItemModel alloc] init];
standingsItem.itemName = @"我的战绩";
standingsItem.itemImageName = @"mine_match_standings";
standingsItem.type = XPMineItemType_Match_Standings;
XPMineItemModel * cardBagItem = [[XPMineItemModel alloc] init];
cardBagItem.itemName = @"我的卡包";
cardBagItem.itemImageName = @"mine_match_card_bag";
cardBagItem.type = XPMineItemType_Match_Card_Bag;
XPMineItemModel * shoppingItem = [[XPMineItemModel alloc] init];
shoppingItem.itemName = @"赛事商城";
shoppingItem.itemImageName = @"mine_match_shopping";
shoppingItem.type = XPMineItemType_Match_Shopping;
XPMineItemModel * relevanceItem = [[XPMineItemModel alloc] init];
relevanceItem.itemName = @"关联账号";
relevanceItem.itemImageName = @"mine_match_relevance_account";
relevanceItem.type = XPMineItemType_Match_Relevance_Account;
NSArray * array = @[applyRecordItem, standingsItem, cardBagItem, shoppingItem, relevanceItem];
[[self getView] onGetMatchItemsSuccess:array];
}
@end

View File

@@ -0,0 +1,18 @@
//
// XPMatchManageProtocol.h
// xplan-ios
//
// Created by GreenLand on 2022/1/19.
//
#import <Foundation/Foundation.h>
@class XPMineItemModel;
@protocol XPMatchManageProtocol <NSObject>
/// 获取赛事模块的items
/// @param matchItems 数据源
- (void)onGetMatchItemsSuccess:(NSArray<XPMineItemModel *> *)matchItems;
@end

View File

@@ -0,0 +1,19 @@
//
// XPMatchManageTableViewCell.h
// xplan-ios
//
// Created by GreenLand on 2022/1/19.
//
#import <UIKit/UIKit.h>
NS_ASSUME_NONNULL_BEGIN
@class XPMineItemModel;
@interface XPMatchManageTableViewCell : UITableViewCell
@property (nonatomic,strong) XPMineItemModel *itemModel;
@end
NS_ASSUME_NONNULL_END

View File

@@ -0,0 +1,108 @@
//
// XPMatchManageTableViewCell.m
// xplan-ios
//
// Created by GreenLand on 2022/1/19.
//
#import "XPMatchManageTableViewCell.h"
///Third
#import <Masonry/Masonry.h>
///Tool
#import "ThemeColor.h"
#import "XPMacro.h"
///Model
#import "XPMineItemModel.h"
@interface XPMatchManageTableViewCell ()
///
@property (nonatomic,strong) UIStackView *stackView;
///
@property (nonatomic,strong) UIImageView *logoImageView;
///
@property (nonatomic,strong) UILabel *titleLabel;
///
@property (nonatomic,strong) UIButton *arrowButton;
@end
@implementation XPMatchManageTableViewCell
- (instancetype)initWithStyle:(UITableViewCellStyle)style reuseIdentifier:(NSString *)reuseIdentifier {
if (self = [super initWithStyle:style reuseIdentifier:reuseIdentifier]) {
[self initSubViews];
[self initSubViewConstraints];
}
return self;
}
#pragma mark - Private Method
- (void)initSubViews {
self.selectionStyle = UITableViewCellSelectionStyleNone;
self.backgroundColor = [UIColor clearColor];
[self.contentView addSubview:self.stackView];
[self.stackView addArrangedSubview:self.logoImageView];
[self.stackView addArrangedSubview:self.titleLabel];
[self.stackView addArrangedSubview:self.arrowButton];
}
- (void)initSubViewConstraints {
[self.stackView mas_makeConstraints:^(MASConstraintMaker *make) {
make.top.bottom.mas_equalTo(self.contentView);
make.right.left.mas_equalTo(self.contentView).inset(15);
}];
[self.logoImageView mas_makeConstraints:^(MASConstraintMaker *make) {
make.size.mas_equalTo(CGSizeMake(24, 24));
}];
}
#pragma mark - Getters And Setters
- (void)setItemModel:(XPMineItemModel *)itemModel {
_itemModel = itemModel;
if (_itemModel) {
self.logoImageView.image = [UIImage imageNamed:_itemModel.itemImageName];
self.titleLabel.text = _itemModel.itemName;
}
}
- (UIStackView *)stackView {
if (!_stackView) {
_stackView = [[UIStackView alloc] init];
_stackView.axis = UILayoutConstraintAxisHorizontal;
_stackView.distribution = UIStackViewDistributionFill;
_stackView.alignment = UIStackViewAlignmentCenter;
_stackView.spacing = 10;
}
return _stackView;
}
- (UIImageView *)logoImageView {
if (!_logoImageView) {
_logoImageView = [[UIImageView alloc] init];
_logoImageView.userInteractionEnabled = YES;
}
return _logoImageView;
}
- (UILabel *)titleLabel {
if (!_titleLabel) {
_titleLabel = [[UILabel alloc] init];
_titleLabel.font = [UIFont systemFontOfSize:14];
_titleLabel.textColor = [ThemeColor mainTextColor];
}
return _titleLabel;
}
- (UIButton *)arrowButton {
if (!_arrowButton) {
_arrowButton = [UIButton buttonWithType:UIButtonTypeCustom];
[_arrowButton setImage:[UIImage imageNamed:@"mine_item_arrow"] forState:UIControlStateNormal];
[_arrowButton setImage:[UIImage imageNamed:@"mine_item_arrow"] forState:UIControlStateSelected];
[_arrowButton setContentHuggingPriority:UILayoutPriorityRequired forAxis:UILayoutConstraintAxisHorizontal];
}
return _arrowButton;
}
@end

View File

@@ -0,0 +1,16 @@
//
// XPMatchManageViewController.h
// xplan-ios
//
// Created by GreenLand on 2022/1/19.
//
#import "MvpViewController.h"
NS_ASSUME_NONNULL_BEGIN
@interface XPMatchManageViewController : MvpViewController
@end
NS_ASSUME_NONNULL_END

View File

@@ -0,0 +1,140 @@
//
// XPMatchManageViewController.m
// xplan-ios
//
// Created by GreenLand on 2022/1/19.
//
#import "XPMatchManageViewController.h"
///Third
#import <Masonry/Masonry.h>
#import <flutter_boost/FlutterBoost.h>
///Tool
#import "XPMacro.h"
#import "XPHtmlUrl.h"
#import "StatisticsServiceHelper.h"
///Model
#import "XPMineItemModel.h"
///P
#import "XPMatchManageProtocol.h"
#import "XPMatchManagePresenter.h"
///View
#import "XPMatchManageTableViewCell.h"
#import "XPWebViewController.h"
@interface XPMatchManageViewController ()<UITableViewDelegate, UITableViewDataSource, XPMatchManageProtocol>
@property (nonatomic,strong) UITableView *tableView;
///
@property (nonatomic,strong) NSArray<XPMineItemModel *> *matchItemArray;
@end
@implementation XPMatchManageViewController
- (XPMatchManagePresenter *)createPresenter {
return [[XPMatchManagePresenter alloc] init];;
}
- (void)viewDidLoad {
[super viewDidLoad];
[self initSubViews];
[self initSubViewConstraints];
}
#pragma mark - Private Method
- (void)initSubViews {
self.title = @"赛程管理";
[self.view addSubview:self.tableView];
[self.presenter getMatchItems];
if (@available(iOS 15.0, *)) {//iOS1522
self.tableView.sectionHeaderTopPadding = 0;
}
}
- (void)initSubViewConstraints {
[self.tableView mas_makeConstraints:^(MASConstraintMaker *make) {
make.top.mas_equalTo(self.view);
make.left.right.bottom.mas_equalTo(self.view);
}];
}
#pragma mark - XPMatchManageProtocol
- (void)onGetMatchItemsSuccess:(NSArray<XPMineItemModel *> *)matchItems {
self.matchItemArray = matchItems;
[self.tableView reloadData];
}
#pragma mark - UITableViewDelegate And UITableViewDataSource
- (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section {
return self.matchItemArray.count;
}
- (CGFloat)tableView:(UITableView *)tableView heightForRowAtIndexPath:(NSIndexPath *)indexPath {
return 54;
}
- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath {
XPMatchManageTableViewCell * cell = [tableView dequeueReusableCellWithIdentifier:NSStringFromClass([XPMatchManageTableViewCell class])];
if (cell == nil) {
cell = [[XPMatchManageTableViewCell alloc] initWithStyle:UITableViewCellStyleDefault reuseIdentifier:NSStringFromClass([XPMatchManageTableViewCell class])];
}
XPMineItemModel * item = [self.matchItemArray objectAtIndex:indexPath.row];
cell.itemModel = item;
return cell;
}
- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath {
[tableView deselectRowAtIndexPath:indexPath animated:YES];
XPMineItemModel * model = [self.matchItemArray objectAtIndex:indexPath.row];
[self pushViewControllerWithType:model.type];
}
- (void)pushViewControllerWithType:(XPMineItemType)type {
switch (type) {
case XPMineItemType_Match_Apply_Record:
[self pushMatchVCWithKey:@"quotaRecord"];
break;
case XPMineItemType_Match_Standings:
[self pushMatchVCWithKey:@"performance"];
break;
case XPMineItemType_Match_Card_Bag:
[self pushMatchVCWithKey:@"bag"];
break;
case XPMineItemType_Match_Shopping:
[self pushMatchVCWithKey:@"mall"];
break;
case XPMineItemType_Match_Relevance_Account:
[self pushWebViewWIthUrl:URLWithType(kGameBindAccountURL)];
break;
default:
break;
}
}
- (void)pushWebViewWIthUrl:(NSString *)url {
XPWebViewController * webVC = [[XPWebViewController alloc] init];
webVC.url = url;
[self.navigationController pushViewController:webVC animated:YES];
}
- (void)pushMatchVCWithKey:(NSString *)key {
[[FlutterBoost instance] open:key arguments:@{@"animated":@(YES)} completion:^(BOOL success) {
}];
}
#pragma mark - Getters And Setters
- (UITableView *)tableView {
if (!_tableView) {
_tableView = [[UITableView alloc] initWithFrame:CGRectZero style:UITableViewStylePlain];
_tableView.delegate = self;
_tableView.dataSource = self;
_tableView.showsVerticalScrollIndicator = NO;
_tableView.separatorStyle = UITableViewCellSeparatorStyleNone;
[_tableView registerClass:[XPMatchManageTableViewCell class] forCellReuseIdentifier:NSStringFromClass([XPMatchManageTableViewCell class])];
_tableView.backgroundColor = [UIColor clearColor];
}
return _tableView;
}
@end

View File

@@ -1,27 +0,0 @@
//
// XPMineAccountView.h
// xplan-ios
//
// Created by 冯硕 on 2021/9/16.
//
#import <UIKit/UIKit.h>
NS_ASSUME_NONNULL_BEGIN
@interface XPMineAccountSubView: UIView
///显示名字
@property (nonatomic,strong) UILabel *titleLabel;
///背景图
@property (nonatomic,strong) UIImageView *backImageView;
///免费门票
@property (nonatomic,strong) UIButton *freeTicketButton;
@end
@interface XPMineAccountView : UIView
///我的账户
@property (nonatomic,strong, readonly) XPMineAccountSubView *accountView;
///推荐好友
@property (nonatomic,strong, readonly) XPMineAccountSubView *recommendView;
@end
NS_ASSUME_NONNULL_END

View File

@@ -14,7 +14,6 @@
#import "XPMacro.h"
#import "UIImage+Utils.h"
///View
#import "XPMineAccountView.h"
#import "NetImageView.h"
#import "UIImage+Utils.h"
#import "XPMineFriendNumberView.h"
@@ -41,8 +40,6 @@
@property (nonatomic,strong) UIImageView *sexImageView;
///
@property (nonatomic,strong) YYLabel *levelLabel;
///
@property (nonatomic,strong) XPMineAccountView *accountView;
///线
@property (nonatomic,strong) UIView * lineView;
///
@@ -73,18 +70,6 @@
}
}
- (void)tapAccountView {
if (self.delegate && [self.delegate respondsToSelector:@selector(xPMineHeadView:didClickAccount:)]) {
[self.delegate xPMineHeadView:self didClickAccount:self.userInfo];
}
}
- (void)tapRecommendView {
if (self.delegate && [self.delegate respondsToSelector:@selector(xPMineHeadView:didClickInviteFriend:)]) {
[self.delegate xPMineHeadView:self didClickInviteFriend:self.userInfo];
}
}
- (void)tapFansRecognizer {
if (self.delegate && [self.delegate respondsToSelector:@selector(xpMineHeadViewClickFans)]) {
[self.delegate xpMineHeadViewClickFans];
@@ -113,7 +98,6 @@
[self addSubview:self.lineView];
[self addSubview:self.attentionView];
[self addSubview:self.fansView];
[self addSubview:self.accountView];
[self addSubview:self.nobleEntranceView];
[self addSubview:self.nobleImageView];
@@ -125,12 +109,6 @@
UITapGestureRecognizer * tap = [[UITapGestureRecognizer alloc] initWithTarget:self action:@selector(tapAvatarImageView)];
[self.avatarImageView addGestureRecognizer:tap];
UITapGestureRecognizer * accountTap = [[UITapGestureRecognizer alloc] initWithTarget:self action:@selector(tapAccountView)];
[self.accountView.accountView addGestureRecognizer:accountTap];
UITapGestureRecognizer * recommendTap = [[UITapGestureRecognizer alloc] initWithTarget:self action:@selector(tapRecommendView)];
[self.accountView.recommendView addGestureRecognizer:recommendTap];
}
- (void)initSubViewConstraints {
@@ -159,7 +137,6 @@
make.left.mas_equalTo(self.nobleImageView);
make.top.mas_equalTo(self.idStackView.mas_bottom).offset(4);
}];
[self.lineView mas_makeConstraints:^(MASConstraintMaker *make) {
make.size.mas_equalTo(CGSizeMake(1, 30));
make.centerY.mas_equalTo(self.idLabel.mas_bottom).offset(2);
@@ -176,18 +153,12 @@
make.width.centerY.mas_equalTo(self.attentionView);
make.left.mas_equalTo(self.attentionView.mas_right);
}];
[self.accountView mas_makeConstraints:^(MASConstraintMaker *make) {
make.left.right.mas_equalTo(self);
make.height.mas_equalTo(60);
make.top.mas_equalTo(self.avatarImageView.mas_bottom).offset(30 + 20);
}];
CGFloat nobleH = (KScreenWidth - 30.0)/ 345.0 * 44;
[self.nobleEntranceView mas_makeConstraints:^(MASConstraintMaker *make) {
make.left.right.mas_equalTo(self);
make.height.mas_equalTo(nobleH);
make.top.mas_equalTo(self.accountView.mas_bottom).offset(12);
make.top.mas_equalTo(self.attentionView.mas_bottom).offset(12);
}];
}
@@ -490,13 +461,6 @@
return _levelLabel;
}
- (XPMineAccountView *)accountView {
if (!_accountView) {
_accountView = [[XPMineAccountView alloc] init];
}
return _accountView;
}
- (UIView *)lineView {
if (!_lineView) {
_lineView = [[UIView alloc] init];

View File

@@ -22,7 +22,7 @@
#import "XPMinePresent.h"
///View
#import "XPMineMenuTableViewCell.h"
#import "XPMineMatchTableViewCell.h"
#import "XPMineHeadItemTableViewCell.h"
#import "XPMineHeadView.h"
///VC
#import "XPMineSettingViewController.h"
@@ -35,14 +35,19 @@
#import "XPMineFansViewController.h"
#import "XPMineAttentionViewController.h"
#import "XPNobleCenterViewController.h"
#import "XPMatchManageViewController.h"
@interface XPMineViewController ()<UITableViewDelegate, UITableViewDataSource, XPMineProtocol, XPMineHeadItemTableViewCellDelegate, XPMineHeadViewDelegate>
///
@property (nonatomic, strong) UIView *bgImageView;
@interface XPMineViewController ()<UITableViewDelegate, UITableViewDataSource, XPMineProtocol, XPMineMatchTableViewCellDelegate, XPMineHeadViewDelegate>
///
@property (nonatomic,strong) UITableView *tableView;
///
@property (nonatomic,strong) NSArray<XPMineItemModel *> *datasource;
///
@property (nonatomic,strong) NSArray<XPMineItemModel *> *matchItemArray;
///item
@property (nonatomic, strong) NSArray<XPMineItemModel *> *cardItemArray;
///
@property (nonatomic,strong) XPMineHeadView *headView;
///
@@ -82,14 +87,18 @@
#pragma mark - Private Method
- (void)initSubViews {
[self.view addSubview:self.bgImageView];
[self.view addSubview:self.tableView];
[self.view addSubview:self.settingButton];
self.tableView.tableHeaderView = self.headView;
[self.presenter getMatchItems];
[self.presenter getNormalItems];
[self.presenter getCardItems];
}
- (void)initSubViewConstraints {
[self.bgImageView mas_makeConstraints:^(MASConstraintMaker *make) {
make.left.right.top.mas_equalTo(0);
}];
[self.settingButton mas_makeConstraints:^(MASConstraintMaker *make) {
make.size.mas_equalTo(CGSizeMake(18, 18));
make.right.mas_equalTo(self.view).offset(-14);
@@ -104,6 +113,11 @@
- (void)pushViewControllerWithType:(XPMineItemType)type {
switch (type) {
case XPMineItemType_Match_Manage: {
XPMatchManageViewController *vc = [[XPMatchManageViewController alloc] init];
[self.navigationController pushViewController:vc animated:YES];
}
break;
case XPMineItemType_Match_Apply_Record:
[self pushMatchVCWithKey:@"quotaRecord"];
break;
@@ -208,7 +222,7 @@
- (CGFloat)tableView:(UITableView *)tableView heightForRowAtIndexPath:(NSIndexPath *)indexPath {
if (indexPath.section == 0) {
return 180;
return 96;
};
return 53;
@@ -216,11 +230,11 @@
- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath {
if (indexPath.section == 0) {
XPMineMatchTableViewCell * cell = [tableView dequeueReusableCellWithIdentifier:NSStringFromClass([XPMineMatchTableViewCell class])];
XPMineHeadItemTableViewCell * cell = [tableView dequeueReusableCellWithIdentifier:NSStringFromClass([XPMineHeadItemTableViewCell class])];
if (cell == nil) {
cell = [[XPMineMatchTableViewCell alloc] initWithStyle:UITableViewCellStyleDefault reuseIdentifier:NSStringFromClass([XPMineMatchTableViewCell class])];
cell = [[XPMineHeadItemTableViewCell alloc] initWithStyle:UITableViewCellStyleDefault reuseIdentifier:NSStringFromClass([XPMineHeadItemTableViewCell class])];
}
cell.datasource = self.matchItemArray;
cell.datasource = self.cardItemArray;
cell.delegate = self;
return cell;
} else {
@@ -236,7 +250,7 @@
- (CGFloat)tableView:(UITableView *)tableView heightForHeaderInSection:(NSInteger)section {
if (section == 1) {
return 15;
return 0;
}
return 0;
}
@@ -285,19 +299,21 @@
[self.tableView reloadData];
}
- (void)onGetMatchItemsSuccess:(NSArray<XPMineItemModel *> *)matchItems {
self.matchItemArray = matchItems;
[self.tableView reloadData];
- (void)onGetCardItemsSuccess:(NSArray<XPMineItemModel *> *)cardItems {
self.cardItemArray = cardItems;
[self.tableView reloadData];
}
- (void)onGetUserInfoSuccess:(UserInfoModel *)userInfo {
self.userInfo = userInfo;
self.headView.userInfo = userInfo;
}
#pragma mark - XPMineMatchTableViewCellDelegate
- (void)xPMineMatchTableViewCell:(XPMineMatchTableViewCell *)cell didSelectItem:(XPMineItemModel *)item {
[self pushViewControllerWithType:item.type];
#pragma mark - XPMineHeadItemTableViewCellDelegate
- (void)xPMineHeadItemTableViewCell:(XPMineHeadItemTableViewCell *)cell didSelectItem:(XPMineItemModel *)item {
[self pushViewControllerWithType:item.type];
}
#pragma mark - Getters And Setters
- (UITableView *)tableView {
if (!_tableView) {
@@ -307,7 +323,7 @@
_tableView.showsVerticalScrollIndicator = NO;
_tableView.separatorStyle = UITableViewCellSeparatorStyleNone;
[_tableView registerClass:[XPMineMenuTableViewCell class] forCellReuseIdentifier:NSStringFromClass([XPMineMenuTableViewCell class])];
[_tableView registerClass:[XPMineMatchTableViewCell class] forCellReuseIdentifier:NSStringFromClass([XPMineMatchTableViewCell class])];
[_tableView registerClass:[XPMineHeadItemTableViewCell class] forCellReuseIdentifier:NSStringFromClass([XPMineHeadItemTableViewCell class])];
_tableView.backgroundColor = [UIColor clearColor];
}
return _tableView;
@@ -316,7 +332,7 @@
- (XPMineHeadView *)headView {
if (!_headView) {
CGFloat nobleH = (KScreenWidth - 30.0)/ 345.0 * 44;
_headView = [[XPMineHeadView alloc] initWithFrame:CGRectMake(0, 0,KScreenWidth , 203 + nobleH + kSafeAreaTopHeight)];
_headView = [[XPMineHeadView alloc] initWithFrame:CGRectMake(0, 0,KScreenWidth , 123 + nobleH + kSafeAreaTopHeight)];
_headView.delegate = self;
}
return _headView;
@@ -333,5 +349,12 @@
return _settingButton;
}
- (UIView *)bgImageView {
if (!_bgImageView) {
_bgImageView = [[UIImageView alloc] initWithImage:[UIImage imageNamed:@"mine_head_bg"]];
_bgImageView.contentMode = UIViewContentModeScaleAspectFill;
}
return _bgImageView;
}
@end