新增声音卡

This commit is contained in:
liyuhua
2023-08-10 18:44:46 +08:00
parent f44942dc72
commit cdfcfb33c7
50 changed files with 1930 additions and 1344 deletions

View File

@@ -274,6 +274,10 @@
23E9EB152A84D02400B792F2 /* XPMineUserInfoEditPickView.m in Sources */ = {isa = PBXBuildFile; fileRef = 23E9EB142A84D02400B792F2 /* XPMineUserInfoEditPickView.m */; };
23E9EB182A84D0E700B792F2 /* XPMineUserInfoEditMainTagView.m in Sources */ = {isa = PBXBuildFile; fileRef = 23E9EB162A84D0E700B792F2 /* XPMineUserInfoEditMainTagView.m */; };
23E9EB1B2A84D28A00B792F2 /* XPMineUserInfoEditTagView.m in Sources */ = {isa = PBXBuildFile; fileRef = 23E9EB1A2A84D28A00B792F2 /* XPMineUserInfoEditTagView.m */; };
23E9EB1E2A84DA5F00B792F2 /* XPMineUserInfoNavView.m in Sources */ = {isa = PBXBuildFile; fileRef = 23E9EB1C2A84DA5F00B792F2 /* XPMineUserInfoNavView.m */; };
23E9EB242A84E98300B792F2 /* pi_new_mine_info_sound_play.svga in Resources */ = {isa = PBXBuildFile; fileRef = 23E9EB222A84E98300B792F2 /* pi_new_mine_info_sound_play.svga */; };
23E9EB252A84E98300B792F2 /* pi_new_mine_info_online.svga in Resources */ = {isa = PBXBuildFile; fileRef = 23E9EB232A84E98300B792F2 /* pi_new_mine_info_online.svga */; };
23E9EB292A84F18000B792F2 /* pi_app_logo_bg.png in Resources */ = {isa = PBXBuildFile; fileRef = 23E9EB282A84F18000B792F2 /* pi_app_logo_bg.png */; };
73FFADDC93E195344047A2EC /* Pods_YuMi.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = CACF623970097D653132D69A /* Pods_YuMi.framework */; };
9B0086C627BA392B0032BD2B /* AnchorStageView.m in Sources */ = {isa = PBXBuildFile; fileRef = 9B0086C527BA392B0032BD2B /* AnchorStageView.m */; };
9B0086CA27BA4F570032BD2B /* AnchorMicroView.m in Sources */ = {isa = PBXBuildFile; fileRef = 9B0086C927BA4F570032BD2B /* AnchorMicroView.m */; };
@@ -790,7 +794,6 @@
E84A2EA82A5288FD00D6AF8A /* XPGoldDetailsChooseRoomCell.m in Sources */ = {isa = PBXBuildFile; fileRef = E84A2EA72A5288FD00D6AF8A /* XPGoldDetailsChooseRoomCell.m */; };
E84A2EAB2A528A4100D6AF8A /* XPIncomeRecordGoldDetailsPickViewView.m in Sources */ = {isa = PBXBuildFile; fileRef = E84A2EA92A528A4100D6AF8A /* XPIncomeRecordGoldDetailsPickViewView.m */; };
E84A2EAD2A52F20900D6AF8A /* Launch Screen.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = E84A2EAC2A52F20900D6AF8A /* Launch Screen.storyboard */; };
E84A2EAF2A52F27000D6AF8A /* 1242.png in Resources */ = {isa = PBXBuildFile; fileRef = E84A2EAE2A52F27000D6AF8A /* 1242.png */; };
E84B0E3F2727EDF6008818C6 /* XPRoomMessageTableViewCell.m in Sources */ = {isa = PBXBuildFile; fileRef = E84B0E3E2727EDF6008818C6 /* XPRoomMessageTableViewCell.m */; };
E84B0E422727EE0A008818C6 /* XPRoomMessageHeaderView.m in Sources */ = {isa = PBXBuildFile; fileRef = E84B0E412727EE0A008818C6 /* XPRoomMessageHeaderView.m */; };
E84B0E462727EF9D008818C6 /* XPRoomMessageParser.m in Sources */ = {isa = PBXBuildFile; fileRef = E84B0E452727EF9D008818C6 /* XPRoomMessageParser.m */; };
@@ -1283,7 +1286,6 @@
E8EEB8F326FC2050007C6EBA /* SDWaitingView.m in Sources */ = {isa = PBXBuildFile; fileRef = E8EEB8ED26FC2050007C6EBA /* SDWaitingView.m */; };
E8EEB8F426FC2050007C6EBA /* SDBrowserImageView.m in Sources */ = {isa = PBXBuildFile; fileRef = E8EEB8EE26FC2050007C6EBA /* SDBrowserImageView.m */; };
E8EEB8F726FC2673007C6EBA /* UserPhoto.m in Sources */ = {isa = PBXBuildFile; fileRef = E8EEB8F626FC2673007C6EBA /* UserPhoto.m */; };
E8EEB8FB26FC2874007C6EBA /* XPMineUserInfoTableViewCell.m in Sources */ = {isa = PBXBuildFile; fileRef = E8EEB8FA26FC2874007C6EBA /* XPMineUserInfoTableViewCell.m */; };
E8EEB8FE26FC2DF8007C6EBA /* XPMineUserInfoCustomNavView.m in Sources */ = {isa = PBXBuildFile; fileRef = E8EEB8FD26FC2DF8007C6EBA /* XPMineUserInfoCustomNavView.m */; };
E8EEB90126FC31B6007C6EBA /* XPMineUserInfoPresenter.m in Sources */ = {isa = PBXBuildFile; fileRef = E8EEB90026FC31B6007C6EBA /* XPMineUserInfoPresenter.m */; };
E8EEB90326FC31DC007C6EBA /* XPMineUserInfoProtocol.h in Sources */ = {isa = PBXBuildFile; fileRef = E8EEB90226FC31CE007C6EBA /* XPMineUserInfoProtocol.h */; };
@@ -1870,6 +1872,11 @@
23E9EB172A84D0E700B792F2 /* XPMineUserInfoEditMainTagView.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = XPMineUserInfoEditMainTagView.h; sourceTree = "<group>"; };
23E9EB192A84D28900B792F2 /* XPMineUserInfoEditTagView.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = XPMineUserInfoEditTagView.h; sourceTree = "<group>"; };
23E9EB1A2A84D28A00B792F2 /* XPMineUserInfoEditTagView.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = XPMineUserInfoEditTagView.m; sourceTree = "<group>"; };
23E9EB1C2A84DA5F00B792F2 /* XPMineUserInfoNavView.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = XPMineUserInfoNavView.m; sourceTree = "<group>"; };
23E9EB1D2A84DA5F00B792F2 /* XPMineUserInfoNavView.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = XPMineUserInfoNavView.h; sourceTree = "<group>"; };
23E9EB222A84E98300B792F2 /* pi_new_mine_info_sound_play.svga */ = {isa = PBXFileReference; lastKnownFileType = file; path = pi_new_mine_info_sound_play.svga; sourceTree = "<group>"; };
23E9EB232A84E98300B792F2 /* pi_new_mine_info_online.svga */ = {isa = PBXFileReference; lastKnownFileType = file; path = pi_new_mine_info_online.svga; sourceTree = "<group>"; };
23E9EB282A84F18000B792F2 /* pi_app_logo_bg.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = pi_app_logo_bg.png; sourceTree = "<group>"; };
7DB00EC07F1D0ADFF900B38D /* Pods-YuMi.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-YuMi.debug.xcconfig"; path = "Target Support Files/Pods-YuMi/Pods-YuMi.debug.xcconfig"; sourceTree = "<group>"; };
9B0086C427BA392B0032BD2B /* AnchorStageView.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = AnchorStageView.h; sourceTree = "<group>"; };
9B0086C527BA392B0032BD2B /* AnchorStageView.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = AnchorStageView.m; sourceTree = "<group>"; };
@@ -2747,7 +2754,6 @@
E84A2EA92A528A4100D6AF8A /* XPIncomeRecordGoldDetailsPickViewView.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = XPIncomeRecordGoldDetailsPickViewView.m; sourceTree = "<group>"; };
E84A2EAA2A528A4100D6AF8A /* XPIncomeRecordGoldDetailsPickViewView.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = XPIncomeRecordGoldDetailsPickViewView.h; sourceTree = "<group>"; };
E84A2EAC2A52F20900D6AF8A /* Launch Screen.storyboard */ = {isa = PBXFileReference; lastKnownFileType = file.storyboard; path = "Launch Screen.storyboard"; sourceTree = "<group>"; };
E84A2EAE2A52F27000D6AF8A /* 1242.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = 1242.png; sourceTree = "<group>"; };
E84B0E3D2727EDF6008818C6 /* XPRoomMessageTableViewCell.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = XPRoomMessageTableViewCell.h; sourceTree = "<group>"; };
E84B0E3E2727EDF6008818C6 /* XPRoomMessageTableViewCell.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = XPRoomMessageTableViewCell.m; sourceTree = "<group>"; };
E84B0E402727EE0A008818C6 /* XPRoomMessageHeaderView.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = XPRoomMessageHeaderView.h; sourceTree = "<group>"; };
@@ -3770,8 +3776,6 @@
E8EEB8F126FC2050007C6EBA /* SDBrowserImageView.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = SDBrowserImageView.h; sourceTree = "<group>"; };
E8EEB8F526FC2673007C6EBA /* UserPhoto.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = UserPhoto.h; sourceTree = "<group>"; };
E8EEB8F626FC2673007C6EBA /* UserPhoto.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = UserPhoto.m; sourceTree = "<group>"; };
E8EEB8F926FC2874007C6EBA /* XPMineUserInfoTableViewCell.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = XPMineUserInfoTableViewCell.h; sourceTree = "<group>"; };
E8EEB8FA26FC2874007C6EBA /* XPMineUserInfoTableViewCell.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = XPMineUserInfoTableViewCell.m; sourceTree = "<group>"; };
E8EEB8FC26FC2DF8007C6EBA /* XPMineUserInfoCustomNavView.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = XPMineUserInfoCustomNavView.h; sourceTree = "<group>"; };
E8EEB8FD26FC2DF8007C6EBA /* XPMineUserInfoCustomNavView.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = XPMineUserInfoCustomNavView.m; sourceTree = "<group>"; };
E8EEB8FF26FC31B6007C6EBA /* XPMineUserInfoPresenter.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = XPMineUserInfoPresenter.h; sourceTree = "<group>"; };
@@ -4006,7 +4010,6 @@
14D8768129A751E100E1DD7F /* Image */ = {
isa = PBXGroup;
children = (
E84A2EAE2A52F27000D6AF8A /* 1242.png */,
);
path = Image;
sourceTree = "<group>";
@@ -4240,6 +4243,7 @@
E81C27AF26EF39B00031E639 /* AppDelegate */,
189DD53826DE255600AB55B1 /* Assets.xcassets */,
E84A2EAC2A52F20900D6AF8A /* Launch Screen.storyboard */,
23E9EB282A84F18000B792F2 /* pi_app_logo_bg.png */,
189DD53D26DE255600AB55B1 /* Info.plist */,
E80E09AB2A40B70100CD2BE7 /* Localizable.strings */,
189DD53E26DE255600AB55B1 /* main.m */,
@@ -8280,6 +8284,8 @@
23E9EAA82A84C9B700B792F2 /* XPMineUserInfoTagItemView.m */,
23E9EAB42A84CB2600B792F2 /* XPMineUserInfoTagEmptyView.h */,
23E9EAB32A84CB2600B792F2 /* XPMineUserInfoTagEmptyView.m */,
23E9EB1D2A84DA5F00B792F2 /* XPMineUserInfoNavView.h */,
23E9EB1C2A84DA5F00B792F2 /* XPMineUserInfoNavView.m */,
23E9EAA92A84C9B700B792F2 /* XPMineUserInfoTagView.h */,
23E9EAAA2A84C9B700B792F2 /* XPMineUserInfoTagView.m */,
23E9EAB02A84C9DD00B792F2 /* XPMineUserInfoTagViewCell.h */,
@@ -8429,6 +8435,8 @@
E8A1E45C276220B100B294CA /* Resources */ = {
isa = PBXGroup;
children = (
23E9EB232A84E98300B792F2 /* pi_new_mine_info_online.svga */,
23E9EB222A84E98300B792F2 /* pi_new_mine_info_sound_play.svga */,
23E9EAA22A84C80300B792F2 /* pi_new_loading.svga */,
23E9EA6C2A83813000B792F2 /* fairy */,
14D8768129A751E100E1DD7F /* Image */,
@@ -9485,8 +9493,6 @@
E8EEB8F826FC285B007C6EBA /* MineInfo */ = {
isa = PBXGroup;
children = (
E8EEB8F926FC2874007C6EBA /* XPMineUserInfoTableViewCell.h */,
E8EEB8FA26FC2874007C6EBA /* XPMineUserInfoTableViewCell.m */,
E8EEB90726FC579A007C6EBA /* XPMineUserInfoEditTableViewCell.h */,
E8EEB90826FC579A007C6EBA /* XPMineUserInfoEditTableViewCell.m */,
23E9EB172A84D0E700B792F2 /* XPMineUserInfoEditMainTagView.h */,
@@ -9664,7 +9670,6 @@
E8729EF02A3B34D30076D80A /* js in Resources */,
E80EC88328ACD84000D133C5 /* emoji_70@2x.png in Resources */,
E80EC89528ACD84000D133C5 /* emoji_99@2x.png in Resources */,
E84A2EAF2A52F27000D6AF8A /* 1242.png in Resources */,
E80EC89128ACD84000D133C5 /* emoji_133@2x.png in Resources */,
E80EC87F28ACD84000D133C5 /* emoji_137@2x.png in Resources */,
E80EC8B028ACD84100D133C5 /* emoji_152@2x.png in Resources */,
@@ -9679,6 +9684,7 @@
E80EC8B428ACD84100D133C5 /* emoji_89@2x.png in Resources */,
E80EC89F28ACD84000D133C5 /* emoji_66@2x.png in Resources */,
E80EC87128ACD84000D133C5 /* emoji_160@2x.png in Resources */,
23E9EB252A84E98300B792F2 /* pi_new_mine_info_online.svga in Resources */,
E80EC86D28ACD84000D133C5 /* emoji_35@2x.png in Resources */,
E80EC86528ACD84000D133C5 /* emoji_03@2x.png in Resources */,
E80EC85B28ACD84000D133C5 /* emoji_69@2x.png in Resources */,
@@ -9697,6 +9703,7 @@
E80EC84128ACD84000D133C5 /* emoji_16@2x.png in Resources */,
E80EC83C28ACD84000D133C5 /* emoji_67@2x.png in Resources */,
E80EC8B928ACD84100D133C5 /* emoji_164@2x.png in Resources */,
23E9EB292A84F18000B792F2 /* pi_app_logo_bg.png in Resources */,
E80EC87028ACD84000D133C5 /* emoji_81@2x.png in Resources */,
E80EC8AA28ACD84100D133C5 /* emoji_15@2x.png in Resources */,
E80EC85628ACD84000D133C5 /* emoji_106@2x.png in Resources */,
@@ -9766,6 +9773,7 @@
E80EC84C28ACD84000D133C5 /* emoji_120@2x.png in Resources */,
23E9EAA32A84C80300B792F2 /* pi_new_loading.svga in Resources */,
E80EC83628ACD84000D133C5 /* emoji_147@2x.png in Resources */,
23E9EB242A84E98300B792F2 /* pi_new_mine_info_sound_play.svga in Resources */,
E80EC86B28ACD84000D133C5 /* emoji_200@2x.png in Resources */,
E80EC88F28ACD84000D133C5 /* emoji_121@2x.png in Resources */,
E80EC87C28ACD84000D133C5 /* emoji_162@2x.png in Resources */,
@@ -10644,6 +10652,7 @@
23B2AEC42A6516C200543D17 /* LoginForgetPasswordViewController.m in Sources */,
186A534C26FC6ED900D67B2C /* TTAlertView.m in Sources */,
E8A3540428FEB7100014A784 /* XPWishGiftHistoryViewController.m in Sources */,
23E9EB1E2A84DA5F00B792F2 /* XPMineUserInfoNavView.m in Sources */,
23E9EA342A837BE400B792F2 /* TreasureFairyLimitModel.m in Sources */,
E85E7B332A4EB0D300B6D00A /* XPGuildIncomeSectionView.m in Sources */,
E85E7B0F2A4EB0D200B6D00A /* GuildRoomInfoModel.m in Sources */,
@@ -10807,7 +10816,6 @@
2331C0DC2A5E9E9000E1D940 /* PIFullScreenBannerAnimation.m in Sources */,
E8232600274E48EA003A3332 /* XPUserCardItemCollectionViewCell.m in Sources */,
E88B5CC526FB42B000DA9178 /* XPMineUserInfoHeaderView.m in Sources */,
E8EEB8FB26FC2874007C6EBA /* XPMineUserInfoTableViewCell.m in Sources */,
E8AC721626F46B06007D6E91 /* XPMineSettingTableViewCell.m in Sources */,
18EE3FDF2750C1F700A452BF /* SessionListCell.m in Sources */,
9BD798B72926362F003E03E6 /* XPSessionListHeadItem.m in Sources */,

Binary file not shown.

Before

Width:  |  Height:  |  Size: 16 KiB

After

Width:  |  Height:  |  Size: 28 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 34 KiB

After

Width:  |  Height:  |  Size: 32 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 149 B

After

Width:  |  Height:  |  Size: 259 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 262 B

After

Width:  |  Height:  |  Size: 415 B

View File

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

Binary file not shown.

After

Width:  |  Height:  |  Size: 517 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 875 B

View File

@@ -19,7 +19,7 @@ UIKIT_EXTERN NSString * const kTuWenMessageHistory;///图文消息已读记录
UIKIT_EXTERN NSString * const kTeenagerStatusChange;
UIKIT_EXTERN NSString * const kRoomQuickMessageCloseCount;
UIKIT_EXTERN NSString * const kLoginMethod;
typedef NS_ENUM(NSUInteger, KeyType) {
typedef NS_ENUM(NSUInteger, Pi_KeyType) {
KeyType_PasswordEncode,///密码 des 加密的
KeyType_NTESQuickLoginBusinessId,///网易易盾 快捷登录 id
KeyType_Agora,///声网 key
@@ -38,7 +38,7 @@ typedef NS_ENUM(NSUInteger, KeyType) {
};
/// 获取当前项目中所用到的 type 所对应的 value 的值 type 类型
NSString * const KeyWithType(KeyType type);
NSString * const KeyWithType(Pi_KeyType type);
@end

View File

@@ -38,8 +38,10 @@ NSString * const kInviteMemeberSuccess = @"a0ludml0ZU1lbWViZXJTdWNjZXNz";
///
NSString * const kLoginMethod = @"a0xvZ2luTWV0aG9k";
NSString * const kRequestRicket = @"a1JlcXVlc3RSaWNrZXQ=";
NSString * const kUpdateSoundInfo = @"kUpdateSoundInfo";
NSString * const kMineInfoDelTag = @"kMineInfoDelTag";
///
NSString * const KeyWithType(KeyType type) {
NSString * const KeyWithType(Pi_KeyType type) {
BOOL isRelase = NO;
#ifdef DEBUG
isRelase = NO;

View File

@@ -1,9 +1,9 @@
<?xml version="1.0" encoding="UTF-8"?>
<document type="com.apple.InterfaceBuilder3.CocoaTouch.Storyboard.XIB" version="3.0" toolsVersion="21507" targetRuntime="iOS.CocoaTouch" propertyAccessControl="none" useAutolayout="YES" launchScreen="YES" useTraitCollections="YES" useSafeAreas="YES" colorMatched="YES" initialViewController="01J-lp-oVM">
<document type="com.apple.InterfaceBuilder3.CocoaTouch.Storyboard.XIB" version="3.0" toolsVersion="21701" targetRuntime="iOS.CocoaTouch" propertyAccessControl="none" useAutolayout="YES" launchScreen="YES" useTraitCollections="YES" useSafeAreas="YES" colorMatched="YES" initialViewController="01J-lp-oVM">
<device id="retina6_12" orientation="portrait" appearance="light"/>
<dependencies>
<deployment identifier="iOS"/>
<plugIn identifier="com.apple.InterfaceBuilder.IBCocoaTouchPlugin" version="21505"/>
<plugIn identifier="com.apple.InterfaceBuilder.IBCocoaTouchPlugin" version="21678"/>
<capability name="Safe area layout guides" minToolsVersion="9.0"/>
<capability name="documents saved in the Xcode 8 format" minToolsVersion="8.0"/>
</dependencies>
@@ -16,16 +16,41 @@
<rect key="frame" x="0.0" y="0.0" width="393" height="852"/>
<autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/>
<subviews>
<imageView clipsSubviews="YES" userInteractionEnabled="NO" contentMode="scaleAspectFill" horizontalHuggingPriority="251" verticalHuggingPriority="251" image="1242.png" translatesAutoresizingMaskIntoConstraints="NO" id="sON-N7-5Wv">
<imageView clipsSubviews="YES" userInteractionEnabled="NO" contentMode="scaleAspectFill" horizontalHuggingPriority="251" verticalHuggingPriority="251" image="pi_app_logo_bg.png" translatesAutoresizingMaskIntoConstraints="NO" id="sON-N7-5Wv">
<rect key="frame" x="0.0" y="0.0" width="393" height="852"/>
</imageView>
<label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="邂逅你的專屬聲音~" textAlignment="natural" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="o5T-sv-tDU">
<rect key="frame" x="117.66666666666669" y="410" width="158" height="22"/>
<fontDescription key="fontDescription" type="system" pointSize="18"/>
<color key="textColor" red="0.023529411760000001" green="0.043137254899999998" blue="0.090196078430000007" alpha="1" colorSpace="calibratedRGB"/>
<nil key="highlightedColor"/>
</label>
<imageView clipsSubviews="YES" userInteractionEnabled="NO" contentMode="scaleAspectFit" horizontalHuggingPriority="251" verticalHuggingPriority="251" image="ming_setting_about_us" translatesAutoresizingMaskIntoConstraints="NO" id="v2t-MR-31f">
<rect key="frame" x="147.66666666666666" y="246.66666666666666" width="97.666666666666657" height="97.333333333333343"/>
<constraints>
<constraint firstAttribute="width" secondItem="v2t-MR-31f" secondAttribute="height" multiplier="1:1" id="7Yl-KK-KgD"/>
</constraints>
</imageView>
<label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="Piko" textAlignment="natural" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="BLt-qv-lx2">
<rect key="frame" x="168.33333333333334" y="362.66666666666669" width="56.666666666666657" height="33"/>
<fontDescription key="fontDescription" type="system" weight="heavy" pointSize="27"/>
<color key="textColor" red="0.023529411760000001" green="0.043137254899999998" blue="0.090196078430000007" alpha="1" colorSpace="calibratedRGB"/>
<nil key="highlightedColor"/>
</label>
</subviews>
<viewLayoutGuide key="safeArea" id="r4O-Vu-IrR"/>
<color key="backgroundColor" red="1" green="1" blue="1" alpha="1" colorSpace="custom" customColorSpace="sRGB"/>
<constraints>
<constraint firstAttribute="bottom" secondItem="sON-N7-5Wv" secondAttribute="bottom" id="4Vv-qk-e25"/>
<constraint firstItem="v2t-MR-31f" firstAttribute="centerX" secondItem="Ze5-6b-2t3" secondAttribute="centerX" id="4gc-t8-g81"/>
<constraint firstItem="v2t-MR-31f" firstAttribute="top" secondItem="Ze5-6b-2t3" secondAttribute="bottom" multiplier="193/667" id="BdJ-dM-Fdd"/>
<constraint firstItem="BLt-qv-lx2" firstAttribute="top" secondItem="Ze5-6b-2t3" secondAttribute="bottom" multiplier="284/667" id="GUO-Sj-fzX"/>
<constraint firstItem="o5T-sv-tDU" firstAttribute="top" secondItem="Ze5-6b-2t3" secondAttribute="bottom" multiplier="321/667" id="Hca-mS-0vk"/>
<constraint firstItem="BLt-qv-lx2" firstAttribute="centerX" secondItem="Ze5-6b-2t3" secondAttribute="centerX" id="JbL-ge-b1e"/>
<constraint firstItem="sON-N7-5Wv" firstAttribute="top" secondItem="Ze5-6b-2t3" secondAttribute="top" id="Ki6-l8-8JM"/>
<constraint firstItem="v2t-MR-31f" firstAttribute="width" secondItem="Ze5-6b-2t3" secondAttribute="width" multiplier="93/375" id="LgX-Hp-VwW"/>
<constraint firstItem="sON-N7-5Wv" firstAttribute="trailing" secondItem="r4O-Vu-IrR" secondAttribute="trailing" id="Y7p-jQ-Nff"/>
<constraint firstItem="o5T-sv-tDU" firstAttribute="centerX" secondItem="Ze5-6b-2t3" secondAttribute="centerX" id="Yej-IY-emP"/>
<constraint firstItem="sON-N7-5Wv" firstAttribute="leading" secondItem="r4O-Vu-IrR" secondAttribute="leading" id="rva-mD-Vhe"/>
</constraints>
</view>
@@ -36,6 +61,7 @@
</scene>
</scenes>
<resources>
<image name="1242.png" width="1242" height="2690"/>
<image name="ming_setting_about_us" width="96" height="96"/>
<image name="pi_app_logo_bg.png" width="428" height="761"/>
</resources>
</document>

View File

@@ -287,7 +287,7 @@
nick = [NSString stringWithFormat:@"%@...", nick];
}
self.nickLabel.text = nick;
self.signLabel.text = _userInfo.userDesc.length > 0 ? _userInfo.userDesc : YMLocalizedString(@"SessionUserInfoTableViewCell5");
self.signLabel.text = _userInfo.userDesc.length > 0 ? _userInfo.userDesc : YMLocalizedString(@"XPTreasureFairyFriendCell0");
self.nobleImageView.imageUrl = _userInfo.userVipInfoVO.vipIcon;
self.nobleImageView.hidden = _userInfo.userVipInfoVO.vipIcon.length > 0 ? NO : YES;
NSString * headurl = userInfo.headwearEffect.length > 0 ? userInfo.headwearEffect : userInfo.headwearPic;

View File

@@ -21,6 +21,19 @@ NS_ASSUME_NONNULL_BEGIN
- (void)memberApplyHall:(NSString *)hallId;
- (void)getUserInfo:(NSString *)uid success:(void(^)(UserInfoModel * info))success;
/// 动态点赞
/// @param dynamicId 动态id
/// @param status yes 点赞 NO 取消
/// @param likedUid 点赞人的uid
/// @param worldId 话题的id
- (void)likeMonent:(NSString *)dynamicId status:(BOOL)status likedUid:(NSString *)likedUid worldId:(NSString *)worldId;
/// 删除动态
/// @param dynamicId 动态id
/// @param worldId 话题id
- (void)deleteMonents:(NSString *)dynamicId worldId:(NSString *)worldId;
///屏蔽
- (void)requesstShieldingWtihType:(NSString *)type objId:(NSString *)objId;
@end
NS_ASSUME_NONNULL_END

View File

@@ -13,6 +13,9 @@
#import "MineSkillCardListInfoModel.h"
#import "XPMineUserDataProtocol.h"
#import "UserInfoModel.h"
#import "Api+Monents.h"
#import "Api+Room.h"
#import "XPMonentsMineProtocol.h"
@implementation XPMineUserDataPresenter
///
@@ -65,5 +68,31 @@
}
}] uid:uid];
}
///
/// @param dynamicId id
/// @param status yes NO
/// @param likedUid uid
/// @param worldId id
- (void)likeMonent:(NSString *)dynamicId status:(BOOL)status likedUid:(NSString *)likedUid worldId:(NSString *)worldId {
NSString * uid = [AccountInfoStorage instance].getUid;
NSString * statusStr = status ? @"1" : @"0";
[Api monentsLike:[self createHttpCompletion:^(BaseModel * _Nonnull data) {
[[self getView] likeMonentsSuccess:dynamicId status:status];
} showLoading:YES] dynamicId:dynamicId uid:uid status:statusStr likedUid:likedUid worldId:worldId];
}
///
/// @param dynamicId id
/// @param worldId id
- (void)deleteMonents:(NSString *)dynamicId worldId:(NSString *)worldId {
NSString * uid = [AccountInfoStorage instance].getUid;
[Api monentsDelete:^(BaseModel * _Nullable data, NSInteger code, NSString * _Nullable msg) {
[[self getView] deleteMonentsSuccess:dynamicId];
} uid:uid dynamicId:dynamicId worldId:worldId];
}
- (void)requesstShieldingWtihType:(NSString *)type objId:(NSString *)objId{
[Api requesstShielding:[self createHttpCompletion:^(BaseModel * _Nonnull data) {
[[self getView] requesstShieldingSuccess:objId];
}] type:type objId:objId];
}
@end

View File

@@ -1,11 +1,12 @@
//
// YMMineDataClanTableViewCell.h
// YUMI
// XPMineDataClanTableViewCell.h
// xplan-ios
//
// Created by YUMI on 2022/4/14.
// Created by 冯硕 on 2022/4/14.
//
#import <UIKit/UIKit.h>
#import "UserInfoModel.h"
NS_ASSUME_NONNULL_BEGIN
@class ClanDetailInfoModel, XPMineDataClanTableViewCell;
@@ -18,12 +19,16 @@ NS_ASSUME_NONNULL_BEGIN
- (void)xPMineDataClanTableViewCell:(XPMineDataClanTableViewCell *)view didClickClanView:(ClanDetailInfoModel *)clanInfo;
///点击了公会房间
- (void)xPMineDataClanTableViewCell:(XPMineDataClanTableViewCell *)view didClickHallView:(ClanDetailInfoModel *)clanInfo;
///点击了展开
- (void)xPMineDataClanTableViewCell:(XPMineDataClanTableViewCell *)view didClickOpen:(ClanDetailInfoModel *)clanInfo;
@end
@interface XPMineDataClanTableViewCell : UITableViewCell
///是否展示加入公会
@property (nonatomic,assign) BOOL isShowEnterHall;
@property (nonatomic,strong) ClanDetailInfoModel *clanInfo;
@property (nonatomic,strong) UserInfoModel *userInfo;
@property (nonatomic,assign) BOOL isOpne;
///代理
@property (nonatomic,weak) id<XPMineDataClanTableViewCellDelegate> delegate;
@end

View File

@@ -1,357 +1,447 @@
//
// YMMineDataClanTableViewCell.m
// YUMI
// XPMineDataClanTableViewCell.m
// xplan-ios
//
// Created by YUMI on 2022/4/14.
// Created by on 2022/4/14.
//
#import "XPMineDataClanTableViewCell.h"
///Third
#import <Masonry/Masonry.h>
#import <YYText/YYText.h>
///Tool
#import "DJDKMIMOMColor.h"
#import "NetImageView.h"
#import "UIButton+EnlargeTouchArea.h"
///Model
#import "ClanDetailInfoModel.h"
@interface XPMineDataClanTableViewCell ()
///
/////
@property (nonatomic,strong) UIView *backView;
///
/////
@property (nonatomic,strong) UILabel *titleLabel;
///
@property (nonatomic,strong) UIStackView *stackView;
///
@property (nonatomic,strong) UIView * clanView;
///
@property (nonatomic,strong) NetImageView *clanImageView;
///
@property (nonatomic,strong) UILabel *clanNickLabel;
///
@property (nonatomic,strong) UIButton *foldButton;
///线
@property (nonatomic,strong) UIView * lineView;
///
@property (nonatomic,strong) UILabel *starView;
///
@property (nonatomic,strong) UIImageView *starIconView;
///
@property (nonatomic,strong) UILabel *starTitleView;
///
@property (nonatomic,strong) UILabel *birthdayHeadView;
@property (nonatomic,strong) UILabel *birthdayView;
///
@property (nonatomic,strong) UILabel *areaHeadView;
@property (nonatomic,strong) UILabel *areaView;
@property (nonatomic,strong) UIButton *areaMornBnt;
@property (nonatomic,strong) UIButton *areaIconView;
///
@property (nonatomic,strong) UILabel *roomHeadView;
@property (nonatomic,strong) UILabel *roomView;
@property (nonatomic,strong) UIButton *roomIconView;
///
@property (nonatomic,strong) UIView * hallView;
///
@property (nonatomic,strong) NetImageView *hallImageView;
///
@property (nonatomic,strong) UILabel *hallNickLabel;
///
@property (nonatomic,strong) UIButton *enterButton;
///
@property (nonatomic,assign) BOOL isfold;
@property (nonatomic,strong) UILabel *clanHeadView;
@property (nonatomic,strong) UILabel *clanView;
@property (nonatomic,strong) UIButton *clanIconView;
@end
@implementation XPMineDataClanTableViewCell
- (instancetype)initWithStyle:(UITableViewCellStyle)style reuseIdentifier:(NSString *)reuseIdentifier {
if (self = [super initWithStyle:style reuseIdentifier:reuseIdentifier]) {
[self initSubViews];
[self initSubViewConstraints];
}
return self;
if (self = [super initWithStyle:style reuseIdentifier:reuseIdentifier]) {
[self initSubViews];
[self initSubViewConstraints];
}
return self;
}
#pragma mark - Private Method
- (void)initSubViews {
self.isfold = YES;
self.backgroundColor = [UIColor clearColor];
self.selectionStyle = UITableViewCellSelectionStyleNone;
[self.contentView addSubview:self.backView];
[self.backView addSubview:self.titleLabel];
[self.backView addSubview:self.stackView];
[self.stackView addArrangedSubview:self.clanView];
[self.stackView addArrangedSubview:self.hallView];
[self.clanView addSubview:self.clanImageView];
[self.clanView addSubview:self.clanNickLabel];
[self.clanView addSubview:self.foldButton];
[self.clanView addSubview:self.lineView];
[self.hallView addSubview:self.hallImageView];
[self.hallView addSubview:self.hallNickLabel];
[self.hallView addSubview:self.enterButton];
self.backgroundColor = [UIColor clearColor];
self.selectionStyle = UITableViewCellSelectionStyleNone;
[self.contentView addSubview:self.backView];
[self.backView addSubview:self.titleLabel];
[self.backView addSubview:self.starView];
[self.backView addSubview:self.starIconView];
[self.starIconView addSubview:self.starTitleView];
[self.backView addSubview:self.birthdayHeadView];
[self.backView addSubview:self.birthdayView];
[self.backView addSubview:self.areaHeadView];
[self.backView addSubview:self.areaView];
[self.backView addSubview:self.areaMornBnt];
[self.backView addSubview:self.areaIconView];
[self.backView addSubview:self.roomHeadView];
[self.backView addSubview:self.roomView];
[self.backView addSubview:self.roomIconView];
[self.backView addSubview:self.clanHeadView];
[self.backView addSubview:self.clanView];
[self.backView addSubview:self.clanIconView];
}
- (void)initSubViewConstraints {
[self.backView mas_makeConstraints:^(MASConstraintMaker *make) {
make.left.right.mas_equalTo(self.contentView).inset(15);
make.top.mas_equalTo(self.contentView);
make.bottom.mas_equalTo(self.contentView).offset(-15);
}];
[self.titleLabel mas_makeConstraints:^(MASConstraintMaker *make) {
make.left.mas_equalTo(self.backView).offset(12);
make.top.mas_equalTo(self.backView).offset(10);
}];
[self.stackView mas_makeConstraints:^(MASConstraintMaker *make) {
make.left.mas_equalTo(self.backView).offset(10);
make.top.mas_equalTo(self.titleLabel.mas_bottom).offset(5);
make.right.mas_equalTo(self.backView).offset(-10);
}];
[self.clanView mas_makeConstraints:^(MASConstraintMaker *make) {
make.height.mas_equalTo(68);
}];
[self.clanImageView mas_makeConstraints:^(MASConstraintMaker *make) {
make.size.mas_equalTo(CGSizeMake(48, 48));
make.left.centerY.mas_equalTo(self.clanView);
}];
[self.clanNickLabel mas_makeConstraints:^(MASConstraintMaker *make) {
make.left.mas_equalTo(self.clanImageView.mas_right).offset(10);
make.centerY.mas_equalTo(self.clanImageView.mas_centerY);
}];
[self.foldButton mas_makeConstraints:^(MASConstraintMaker *make) {
make.size.mas_equalTo(CGSizeMake(13, 22));
make.right.mas_equalTo(self.clanView);
make.centerY.mas_equalTo(self.clanView);
}];
[self.lineView mas_makeConstraints:^(MASConstraintMaker *make) {
make.bottom.left.right.mas_equalTo(self.clanView);
make.height.mas_equalTo(1);
}];
[self.hallView mas_makeConstraints:^(MASConstraintMaker *make) {
make.height.mas_equalTo(60);
}];
[self.hallImageView mas_makeConstraints:^(MASConstraintMaker *make) {
make.size.mas_equalTo(CGSizeMake(40, 40));
make.centerY.mas_equalTo(self.hallView);
make.left.mas_equalTo(self.hallView);
}];
[self.hallNickLabel mas_makeConstraints:^(MASConstraintMaker *make) {
make.centerY.mas_equalTo(self.hallView);
make.left.mas_equalTo(self.hallImageView.mas_right).offset(10);
make.right.mas_lessThanOrEqualTo(self.enterButton.mas_left).offset(-5);
}];
[self.enterButton mas_makeConstraints:^(MASConstraintMaker *make) {
make.size.mas_equalTo(CGSizeMake(56, 20));
make.centerY.mas_equalTo(self.hallView);
make.right.mas_equalTo(self.hallView);
}];
[self.backView mas_makeConstraints:^(MASConstraintMaker *make) {
make.left.right.mas_equalTo(self.contentView).inset(kGetScaleWidth(15));
make.top.mas_equalTo(self.contentView);
make.bottom.mas_equalTo(self.contentView).mas_offset(-kGetScaleWidth(12));
}];
[self.titleLabel mas_makeConstraints:^(MASConstraintMaker *make) {
make.left.mas_equalTo(self.backView).offset(kGetScaleWidth(12));
make.top.mas_equalTo(self.backView).offset(kGetScaleWidth(10));
make.height.mas_equalTo(kGetScaleWidth(17));
}];
[self.starView mas_makeConstraints:^(MASConstraintMaker *make) {
make.left.height.equalTo(self.titleLabel);
make.top.equalTo(self.titleLabel.mas_bottom).mas_offset(kGetScaleWidth(12));
}];
[self.starIconView mas_makeConstraints:^(MASConstraintMaker *make) {
make.height.mas_equalTo(kGetScaleWidth(13));
make.width.mas_equalTo(kGetScaleWidth(38));
make.centerY.equalTo(self.starView);
make.left.equalTo(self.starView.mas_right).mas_offset(kGetScaleWidth(10));
}];
[self.starTitleView mas_makeConstraints:^(MASConstraintMaker *make) {
make.left.mas_equalTo(kGetScaleWidth(5));
make.right.mas_equalTo(-kGetScaleWidth(5));
make.top.bottom.equalTo(self.starIconView);
}];
[self.birthdayHeadView mas_makeConstraints:^(MASConstraintMaker *make) {
make.left.height.equalTo(self.titleLabel);
make.top.equalTo(self.starView.mas_bottom).mas_offset(kGetScaleWidth(5));
}];
[self.birthdayView mas_makeConstraints:^(MASConstraintMaker *make) {
make.centerY.equalTo(self.birthdayHeadView);
make.left.equalTo(self.starIconView);
}];
[self.areaHeadView mas_makeConstraints:^(MASConstraintMaker *make) {
make.left.height.equalTo(self.titleLabel);
make.top.mas_equalTo(kGetScaleWidth(84));
}];
[self.areaView mas_makeConstraints:^(MASConstraintMaker *make) {
make.height.centerY.equalTo(self.areaHeadView);
make.left.equalTo(self.starIconView);
}];
[self.areaMornBnt mas_makeConstraints:^(MASConstraintMaker *make) {
make.width.mas_equalTo(kGetScaleWidth(25));
make.height.mas_equalTo(kGetScaleWidth(17));
make.left.equalTo(self.areaView.mas_right).mas_offset(kGetScaleWidth(8));
make.centerY.equalTo(self.areaView);
}];
[self.areaIconView mas_makeConstraints:^(MASConstraintMaker *make) {
make.width.height.mas_equalTo(kGetScaleWidth(20));
make.centerY.equalTo(self.areaView);
make.left.equalTo(self.areaMornBnt.mas_right);
}];
[self.roomHeadView mas_makeConstraints:^(MASConstraintMaker *make) {
make.left.height.equalTo(self.titleLabel);
make.top.mas_equalTo(kGetScaleWidth(106));
}];
[self.roomView mas_makeConstraints:^(MASConstraintMaker *make) {
make.height.centerY.equalTo(self.roomHeadView);
make.left.equalTo(self.starIconView);
}];
[self.roomIconView mas_makeConstraints:^(MASConstraintMaker *make) {
make.width.height.mas_equalTo(kGetScaleWidth(20));
make.centerY.equalTo(self.roomHeadView);
make.left.equalTo(self.roomView.mas_right);
}];
[self.clanHeadView mas_makeConstraints:^(MASConstraintMaker *make) {
make.left.height.equalTo(self.titleLabel);
make.top.mas_equalTo(kGetScaleWidth(130));
}];
[self.clanView mas_makeConstraints:^(MASConstraintMaker *make) {
make.centerY.equalTo(self.clanHeadView);
make.left.equalTo(self.starIconView);
}];
[self.clanIconView mas_makeConstraints:^(MASConstraintMaker *make) {
make.width.height.mas_equalTo(kGetScaleWidth(20));
make.centerY.equalTo(self.clanHeadView);
make.left.equalTo(self.clanView.mas_right);
}];
}
#pragma mark - Event Response
- (void)enterButtonAction:(UIButton *)sender {
if (self.delegate && [self.delegate respondsToSelector:@selector(xPMineDataClanTableViewCell:didClickEnter:)]) {
[self.delegate xPMineDataClanTableViewCell:self didClickEnter:self.clanInfo];
}
if (self.delegate && [self.delegate respondsToSelector:@selector(xPMineDataClanTableViewCell:didClickEnter:)]) {
[self.delegate xPMineDataClanTableViewCell:self didClickEnter:self.clanInfo];
}
}
- (void)foldButtonAction:(UIButton *)sender{
sender.selected = !sender.selected;
self.hallView.hidden = !self.hallView.hidden;
[UIView animateWithDuration:0.2 animations:^{
if (self.foldButton.selected) {
self.foldButton.transform = CGAffineTransformIdentity;
} else {
self.foldButton.transform = CGAffineTransformMakeRotation(M_PI / 2);
}
}];
if (self.delegate && [self.delegate respondsToSelector:@selector(xPMineDataClanTableViewCell:didClickFold:)]) {
[self.delegate xPMineDataClanTableViewCell:self didClickFold:sender];
}
sender.selected = !sender.selected;
if (self.delegate && [self.delegate respondsToSelector:@selector(xPMineDataClanTableViewCell:didClickFold:)]) {
[self.delegate xPMineDataClanTableViewCell:self didClickFold:sender];
}
}
- (void)didTapClanView {
if (self.delegate && [self.delegate respondsToSelector:@selector(xPMineDataClanTableViewCell:didClickClanView:)]) {
[self.delegate xPMineDataClanTableViewCell:self didClickClanView:self.clanInfo];
}
if (_clanInfo.clan.elderUid.length <= 0) return;
if (self.delegate && [self.delegate respondsToSelector:@selector(xPMineDataClanTableViewCell:didClickClanView:)]) {
[self.delegate xPMineDataClanTableViewCell:self didClickClanView:self.clanInfo];
}
}
- (void)didTapHallView {
if (self.delegate && [self.delegate respondsToSelector:@selector(xPMineDataClanTableViewCell:didClickHallView:)]) {
[self.delegate xPMineDataClanTableViewCell:self didClickHallView:self.clanInfo];
}
if(_clanInfo.hall.hallName.length <= 0)return;
if (self.delegate && [self.delegate respondsToSelector:@selector(xPMineDataClanTableViewCell:didClickHallView:)]) {
[self.delegate xPMineDataClanTableViewCell:self didClickHallView:self.clanInfo];
}
}
- (void)didTapAreaView {
if(self.delegate && [self.delegate respondsToSelector:@selector(xPMineDataClanTableViewCell:didClickOpen:)]){
[self.delegate xPMineDataClanTableViewCell:self didClickOpen:self.clanInfo];
}
}
#pragma mark - Getters And Setters
- (void)setClanInfo:(ClanDetailInfoModel *)clanInfo {
_clanInfo = clanInfo;
if (_clanInfo) {
self.clanView.hidden = _clanInfo.clan.elderUid.length <= 0;
if (self.clanInfo.clan.elderUid.length > 0) {
if (self.clanInfo.hall.ownerUid.length > 0) {
self.titleLabel.text = YMLocalizedString(@"XPMineDataClanTableViewCell0");
self.foldButton.hidden = NO;
self.clanView.hidden = NO;
self.hallView.hidden = self.isfold ? YES : NO;
} else {
self.titleLabel.text = YMLocalizedString(@"XPMineDataClanTableViewCell1");
self.foldButton.hidden = YES;
self.clanView.hidden = NO;
self.hallView.hidden = YES;
}
} else {
if (self.clanInfo.hall.ownerUid.length > 0) {
self.titleLabel.text = YMLocalizedString(@"XPMineDataClanTableViewCell2");
self.clanView.hidden = YES;
self.hallView.hidden = NO;
} else {
self.clanView.hidden = YES;
self.hallView.hidden = YES;
}
}
self.foldButton.hidden = YES;
self.clanImageView.imageUrl = _clanInfo.clan.avatar;
self.clanNickLabel.text = _clanInfo.clan.name;
self.hallImageView.imageUrl = _clanInfo.hall.ownerAvatar;
self.hallNickLabel.text = _clanInfo.hall.hallName;
}
_clanInfo = clanInfo;
if (_clanInfo) {
_clanView.text = _clanInfo.clan.name;
_roomView.text = _clanInfo.hall.hallName.length > 0 ? _clanInfo.hall.hallName :([[AccountInfoStorage instance] getUid].integerValue == self.userInfo.uid ? YMLocalizedString(@"XPMineDataClanTableViewCell12") : YMLocalizedString(@"XPMineDataClanTableViewCell11")) ;
_roomIconView.hidden = !(_clanInfo.hall.hallName.length > 0);
_roomView.textColor = _clanInfo.hall.hallName.length > 0 ? UIColorFromRGB(0xFFBC51):[DJDKMIMOMColor inputTextColor];
if(self.isOpne == YES){
self.areaMornBnt.hidden = YES;
self.areaIconView.hidden = YES;
self.roomHeadView.hidden = NO;
self.roomView.hidden = NO;
self.clanView.hidden = YES;
self.clanHeadView.hidden = YES;
self.clanIconView.hidden = YES;
if (self.clanInfo.clan.elderUid.length > 0) {
self.clanView.hidden = NO;
self.clanHeadView.hidden = NO;
self.clanIconView.hidden = NO;
}
}else{
self.roomHeadView.hidden = YES;
self.roomView.hidden = YES;
self.roomIconView.hidden = YES;
self.clanView.hidden = YES;
self.clanHeadView.hidden = YES;
self.clanIconView.hidden = YES;
self.areaMornBnt.hidden = NO;
self.areaIconView.hidden = NO;
}
}
}
-(void)setUserInfo:(UserInfoModel *)userInfo{
_userInfo = userInfo;
_starIconView.hidden = NO;
NSString *dateStr = [NSString stringWithFormat:@"%@",[self calculateConstellationWithMonth:_userInfo.birth]];
_starTitleView.text = dateStr;
_birthdayView.text = [NSDate timestampSwitchTime:_userInfo.birth / 1000 andFormatter:@"yyyy-MM-dd"];
_areaView.text = _userInfo.region;
}
- (NSString *)calculateConstellationWithMonth:(long)time
{
NSString *astroString = YMLocalizedString(@"XPMineHeadView0");
NSString *astroFormat = @"102123444543";
NSString *result;
NSInteger month = [self getMonth:time];
NSInteger day = [self getDay:time];
if (month<1 || month>12 || day<1 || day>31){
return YMLocalizedString(@"XPMineHeadView1");
}
if(month==2 && day>29)
{
return YMLocalizedString(@"XPMineHeadView2");
}else if(month==4 || month==6 || month==9 || month==11) {
if (day>30) {
return YMLocalizedString(@"XPMineHeadView3");
}
}
result=[NSString stringWithFormat:@"%@",[astroString substringWithRange:NSMakeRange(month*2-(day < [[astroFormat substringWithRange:NSMakeRange((month-1), 1)] intValue] - (-19))*2,2)]];
return [NSString stringWithFormat:YMLocalizedString(@"XPMineHeadView6"),result];
}
-(NSInteger) getMonth:(long )time
{
NSDate *date = [NSDate dateWithTimeIntervalSince1970:time/1000];
NSCalendar* calendar = [NSCalendar currentCalendar];
NSDateComponents* components = [calendar components:NSCalendarUnitMonth fromDate:date];
NSInteger month = components.month;
return month;
}
- (NSInteger) getDay:(long) time
{
NSDate *date = [NSDate dateWithTimeIntervalSince1970:time/1000];
NSCalendar* calendar = [NSCalendar currentCalendar];
NSDateComponents* components = [calendar components:NSCalendarUnitDay fromDate:date];
NSInteger day = components.day;
return day;
}
- (void)setIsShowEnterHall:(BOOL)isShowEnterHall {
_isShowEnterHall = isShowEnterHall;
_isShowEnterHall = isShowEnterHall;
}
- (UIView *)backView {
if (!_backView) {
_backView = [[UIView alloc] init];
_backView.userInteractionEnabled = YES;
_backView.layer.cornerRadius = 10;
_backView.backgroundColor =[DJDKMIMOMColor appCellBackgroundColor];
_backView.layer.shadowColor = UIColorFromRGB(0xE4E4E4).CGColor;
_backView.layer.shadowOffset = CGSizeMake(0, 2);
_backView.layer.shadowRadius = 8;
}
return _backView;
if (!_backView) {
_backView = [[UIView alloc] init];
_backView.userInteractionEnabled = YES;
_backView.layer.cornerRadius = kGetScaleWidth(8);
_backView.backgroundColor =[UIColor whiteColor];
}
return _backView;
}
- (UILabel *)titleLabel {
if (!_titleLabel) {
_titleLabel = [[UILabel alloc] init];
_titleLabel.text = YMLocalizedString(@"XPMineDataClanTableViewCell3");
_titleLabel.font = [UIFont systemFontOfSize:14 weight:UIFontWeightMedium];
_titleLabel.textColor = [DJDKMIMOMColor mainTextColor];
}
return _titleLabel;
if (!_titleLabel) {
_titleLabel = [[UILabel alloc] init];
_titleLabel.text = YMLocalizedString(@"XPMineDataClanTableViewCell6");
_titleLabel.font = kFontMedium(15);
_titleLabel.textColor = UIColorFromRGB(0x1F1A4E);
}
return _titleLabel;
}
- (UIStackView *)stackView {
if (!_stackView) {
_stackView = [[UIStackView alloc] init];
_stackView.axis = UILayoutConstraintAxisVertical;
_stackView.distribution = UIStackViewDistributionFill;
_stackView.alignment = UIStackViewAlignmentFill;
_stackView.spacing = 0;
}
return _stackView;
-(UILabel *)starView{
if (!_starView){
_starView = [UILabel labelInitWithText:YMLocalizedString(@"XPMineDataClanTableViewCell7") font:kFontRegular(12) textColor:[DJDKMIMOMColor inputTextColor]];
}
return _starView;
}
- (UIView *)clanView {
if (!_clanView) {
_clanView = [[UIView alloc] init];
_clanView.backgroundColor = [UIColor clearColor];
}
return _clanView;
-(UIImageView *)starIconView{
if (!_starIconView){
_starIconView = [[UIImageView alloc]init];
UIImage *image = [UIImage gradientColorImageFromColors:@[UIColorFromRGB(0xA486FF),UIColorFromRGB(0xD3ACFE)] gradientType:GradientTypeLeftToRight imgSize:CGSizeMake(kGetScaleWidth(38), kGetScaleWidth(13))];
_starIconView.layer.cornerRadius = kGetScaleWidth(6.5);
_starIconView.layer.masksToBounds = YES;
_starIconView.image = image;
_starIconView.hidden = YES;
}
return _starIconView;
}
- (NetImageView *)clanImageView {
if (!_clanImageView) {
NetImageConfig * config = [[NetImageConfig alloc]init];
config.imageType = ImageTypeUserIcon;
config.placeHolder = [UIImageConstant defaultAvatarPlaceholder];
_clanImageView = [[NetImageView alloc] initWithConfig:config];
_clanImageView.layer.masksToBounds = YES;
_clanImageView.layer.cornerRadius = 8;
_clanImageView.userInteractionEnabled = YES;
UITapGestureRecognizer * tap = [[UITapGestureRecognizer alloc] initWithTarget:self action:@selector(didTapClanView)];
[_clanImageView addGestureRecognizer:tap];
}
return _clanImageView;
-(UILabel *)starTitleView{
if (!_starTitleView){
_starTitleView = [UILabel labelInitWithText:@"" font:kFontRegular(8.5) textColor:[UIColor whiteColor]];
_starTitleView.textAlignment = NSTextAlignmentCenter;
}
return _starTitleView;
}
- (UILabel *)clanNickLabel {
if (!_clanNickLabel) {
_clanNickLabel = [[UILabel alloc] init];
_clanNickLabel.font = [UIFont systemFontOfSize:14 weight:UIFontWeightMedium];
_clanNickLabel.textColor = [DJDKMIMOMColor mainTextColor];
}
return _clanNickLabel;
- (UILabel *)birthdayHeadView{
if (!_birthdayHeadView){
_birthdayHeadView = [UILabel labelInitWithText:YMLocalizedString(@"XPMineDataClanTableViewCell8") font:kFontRegular(12) textColor:[DJDKMIMOMColor inputTextColor]];
}
return _birthdayHeadView;
}
- (UIButton *)foldButton {
if (!_foldButton) {
_foldButton = [UIButton buttonWithType:UIButtonTypeCustom];
[_foldButton setImage:[UIImage imageNamed:@"room_setting_arrow"] forState:UIControlStateNormal];
[_foldButton setImage:[UIImage imageNamed:@"room_setting_arrow"] forState:UIControlStateSelected];
[_foldButton addTarget:self action:@selector(foldButtonAction:) forControlEvents:UIControlEventTouchUpInside];
_foldButton.transform = CGAffineTransformMakeRotation(M_PI / 2);
_foldButton.hidden = YES;
[_foldButton setEnlargeEdgeWithTop:10 right:10 bottom:10 left:10];
}
return _foldButton;
- (UILabel *)birthdayView{
if (!_birthdayView){
_birthdayView = [UILabel labelInitWithText:@"" font:kFontRegular(12) textColor:[DJDKMIMOMColor inputTextColor]];
}
return _birthdayView;
}
- (UIView *)lineView {
if (!_lineView) {
_lineView = [[UIView alloc] init];
_lineView.backgroundColor = [UIColor clearColor];
}
return _lineView;
-(UILabel *)areaHeadView{
if (!_areaHeadView){
_areaHeadView = [UILabel labelInitWithText:YMLocalizedString(@"XPMineDataClanTableViewCell13") font:kFontRegular(12) textColor:[DJDKMIMOMColor inputTextColor]];
}
return _areaHeadView;
}
- (UIView *)hallView {
if (!_hallView) {
_hallView = [[UIView alloc] init];
_hallView.backgroundColor = [UIColor clearColor];
_hallView.hidden = NO;
}
return _hallView;
-(UILabel *)areaView{
if (!_areaView){
_areaView = [UILabel labelInitWithText:@"" font:kFontRegular(12) textColor:[DJDKMIMOMColor inputTextColor]];
}
return _areaView;
}
- (NetImageView *)hallImageView {
if (!_hallImageView) {
NetImageConfig * config = [[NetImageConfig alloc]init];
config.imageType = ImageTypeUserIcon;
config.placeHolder = [UIImageConstant defaultAvatarPlaceholder];
_hallImageView = [[NetImageView alloc] initWithConfig:config];
_hallImageView.layer.masksToBounds = YES;
_hallImageView.layer.cornerRadius = 8;
_hallImageView.userInteractionEnabled = YES;
UITapGestureRecognizer * tap = [[UITapGestureRecognizer alloc] initWithTarget:self action:@selector(didTapHallView)];
[_hallImageView addGestureRecognizer:tap];
}
return _hallImageView;
-(UIButton *)areaMornBnt{
if (!_areaMornBnt){
_areaMornBnt = [UIButton new];
[_areaMornBnt setTitle:YMLocalizedString(@"XPMineDataClanTableViewCell14") forState:UIControlStateNormal];
[_areaMornBnt setTitleColor:UIColorFromRGB(0xFFBC51) forState:UIControlStateNormal];
_areaMornBnt.titleLabel.font = kFontRegular(11);
[_areaMornBnt addTarget:self action:@selector(didTapAreaView) forControlEvents:UIControlEventTouchUpInside];
}
return _areaMornBnt;
}
- (UILabel *)hallNickLabel {
if (!_hallNickLabel) {
_hallNickLabel = [[UILabel alloc] init];
_hallNickLabel.font = [UIFont systemFontOfSize:12 weight:UIFontWeightMedium];
_hallNickLabel.textColor = [DJDKMIMOMColor mainTextColor];
}
return _hallNickLabel;
-(UIButton *)areaIconView{
if (!_areaIconView){
_areaIconView = [UIButton new];
[_areaIconView setEnlargeEdgeWithTop:10 right:10 bottom:10 left:10];
[_areaIconView addTarget:self action:@selector(didTapAreaView) forControlEvents:UIControlEventTouchUpInside];
[_areaIconView setBackgroundImage:kImage(@"mine_clan_arrow") forState:UIControlStateNormal];
}
return _areaIconView;
}
- (UIButton *)enterButton {
if (!_enterButton) {
_enterButton = [UIButton buttonWithType:UIButtonTypeCustom];
[_enterButton setTitle:YMLocalizedString(@"XPMineDataClanTableViewCell4") forState:UIControlStateNormal];
[_enterButton setTitleColor:UIColorFromRGB(0xFFC000) forState:UIControlStateNormal];
_enterButton.titleLabel.font = [UIFont systemFontOfSize:10];
_enterButton.backgroundColor = UIColorRGBAlpha(0xFFC000, 0.2);
_enterButton.layer.masksToBounds = YES;
_enterButton.layer.cornerRadius = 10;
[_enterButton addTarget:self action:@selector(enterButtonAction:) forControlEvents:UIControlEventTouchUpInside];
}
return _enterButton;
-(UILabel *)roomHeadView{
if (!_roomHeadView){
_roomHeadView = [UILabel labelInitWithText:YMLocalizedString(@"XPMineDataClanTableViewCell9") font:kFontRegular(12) textColor:[DJDKMIMOMColor inputTextColor]];
_roomHeadView.hidden = YES;
}
return _roomHeadView;
}
- (UILabel *)roomView{
if (!_roomView){
_roomView = [UILabel labelInitWithText:@"" font:kFontRegular(12) textColor:UIColorFromRGB(0xFFBC51)];
_roomView.userInteractionEnabled = YES;
UITapGestureRecognizer * tap = [[UITapGestureRecognizer alloc]initWithTarget:self action:@selector(didTapHallView)];
[_roomView addGestureRecognizer:tap];
_roomView.hidden = YES;
}
return _roomView;
}
-(UIButton *)roomIconView{
if (!_roomIconView){
_roomIconView = [UIButton new];
[_roomIconView setEnlargeEdgeWithTop:10 right:10 bottom:10 left:10];
[_roomIconView addTarget:self action:@selector(didTapHallView) forControlEvents:UIControlEventTouchUpInside];
[_roomIconView setBackgroundImage:kImage(@"mine_clan_arrow") forState:UIControlStateNormal];
_roomIconView.hidden = YES;
}
return _roomIconView;
}
- (UILabel *)clanHeadView{
if (!_clanHeadView){
_clanHeadView = [UILabel labelInitWithText:YMLocalizedString(@"XPMineDataClanTableViewCell10") font:kFontRegular(12) textColor:[DJDKMIMOMColor inputTextColor]];
_clanHeadView.hidden = YES;
}
return _clanHeadView;
}
-(UILabel *)clanView{
if (!_clanView){
_clanView = [UILabel labelInitWithText:@"" font:kFontRegular(12) textColor:UIColorFromRGB(0xFFBC51)];
_clanView.userInteractionEnabled = YES;
UITapGestureRecognizer *tap = [[UITapGestureRecognizer alloc]initWithTarget:self action:@selector(didTapClanView)];
[_clanView addGestureRecognizer:tap];
_clanView.hidden = YES;
}
return _clanView;
}
-(UIButton *)clanIconView{
if (!_clanIconView){
_clanIconView = [UIButton new];
[_clanIconView setEnlargeEdgeWithTop:10 right:10 bottom:10 left:10];
[_clanIconView addTarget:self action:@selector(didTapClanView) forControlEvents:UIControlEventTouchUpInside];
[_clanIconView setBackgroundImage:kImage(@"mine_clan_arrow") forState:UIControlStateNormal];
_clanIconView.hidden = YES;
}
return _clanIconView;
}
@end

View File

@@ -30,7 +30,7 @@
///
@property (nonatomic, strong) JXCategoryTitleView *titleView;
///lineView
@property (nonatomic, strong) JXCategoryListContainerView *containerView;
@property (nonatomic, strong) JXCategoryListContainerView *pi_containerView;
///
@property (nonatomic,strong) XPMineUserInfoGiftView *normalGiftView;
///
@@ -56,7 +56,7 @@
// [self.backImageView addSubview:self.titleLabel];
[self.backImageView addSubview:self.arrowButton];
[self.backImageView addSubview:self.titleView];
[self.backImageView addSubview:self.containerView];
[self.backImageView addSubview:self.pi_containerView];
}
- (void)initSubViewConstraints {
@@ -84,7 +84,7 @@
make.top.mas_equalTo(kGetScaleWidth(14));
}];
[self.containerView mas_makeConstraints:^(MASConstraintMaker *make) {
[self.pi_containerView mas_makeConstraints:^(MASConstraintMaker *make) {
make.left.right.bottom.mas_equalTo(self.backImageView);
make.top.mas_equalTo(self.titleView.mas_bottom).offset(kGetScaleWidth(20));
}];
@@ -181,7 +181,7 @@
_titleView.cellSpacing = 20;
_titleView.cellWidthIncrement = 5;
_titleView.cellWidth = 60;
_titleView.listContainer = self.containerView;
_titleView.listContainer = self.pi_containerView;
JXCategoryIndicatorImageView *lineView = [[JXCategoryIndicatorImageView alloc] init];
lineView.indicatorImageViewSize = CGSizeMake(15, 3);
@@ -194,13 +194,13 @@
return _titleView;
}
- (JXCategoryListContainerView *)containerView {
if (!_containerView) {
_containerView = [[JXCategoryListContainerView alloc] initWithType:JXCategoryListContainerType_ScrollView delegate:self];
_containerView.defaultSelectedIndex = 0;
_containerView.scrollView.tag = 1009;
- (JXCategoryListContainerView *)pi_containerView {
if (!_pi_containerView) {
_pi_containerView = [[JXCategoryListContainerView alloc] initWithType:JXCategoryListContainerType_ScrollView delegate:self];
_pi_containerView.defaultSelectedIndex = 0;
_pi_containerView.scrollView.tag = 1009;
}
return _containerView;
return _pi_containerView;
}
- (NSArray<NSString *> *)titles {

View File

@@ -1,8 +1,8 @@
//
// YMMineUserInfoGiftWallCollectionViewCell.h
// YUMI
// XPMineUserInfoGiftWallCollectionViewCell.h
// xplan-ios
//
// Created by YUMI on 2022/4/14.
// Created by 冯硕 on 2022/4/14.
//
#import <UIKit/UIKit.h>
@@ -11,6 +11,7 @@ NS_ASSUME_NONNULL_BEGIN
@class UserGiftWallInfoModel;
@interface XPMineUserInfoGiftWallCollectionViewCell : UICollectionViewCell
@property (nonatomic,strong) UserGiftWallInfoModel *giftInfo;
-(void)setLevel:(int)level;
@end
NS_ASSUME_NONNULL_END

View File

@@ -1,158 +1,160 @@
//
// YMMineUserInfoGiftWallCollectionViewCell.m
// YUMI
// XPMineUserInfoGiftWallCollectionViewCell.m
// xplan-ios
//
// Created by YUMI on 2022/4/14.
// Created by on 2022/4/14.
//
#import "XPMineUserInfoGiftWallCollectionViewCell.h"
///Third
#import <Masonry/Masonry.h>
///Tool
#import "DJDKMIMOMColor.h"
#import "NetImageView.h"
#import "UIView+Corner.h"
///Model
#import "UserGiftWallInfoModel.h"
@interface XPMineUserInfoGiftWallCollectionViewCell ()
///
///
@property (nonatomic,strong) UIView *bgView;
///
@property (nonatomic,strong) UIImageView *levelImageView;
///
@property (nonatomic,strong) NetImageView *giftImageView;
///
@property (nonatomic,strong) UIButton *numberButton;
///
@property (nonatomic,strong) UILabel *giftNameLabel;
///
@property (nonatomic,strong) UIStackView *stackView;
///
@property (nonatomic,strong) UIImageView *diamondImageView;
///
@property (nonatomic,strong) UILabel *giftPriceLabel;
///
@property (nonatomic,strong) UILabel *giftNumberLabel;
@property (nonatomic,strong) UILabel *priceView;
@end
@implementation XPMineUserInfoGiftWallCollectionViewCell
- (instancetype)initWithFrame:(CGRect)frame {
self = [super initWithFrame:frame];
if (self) {
[self initSubViews];
[self initSubViewConstraints];
}
return self;
self = [super initWithFrame:frame];
if (self) {
[self initSubViews];
[self initSubViewConstraints];
}
return self;
}
#pragma mark - Private Method
- (void)initSubViews {
self.backgroundColor = [UIColor clearColor];
[self.contentView addSubview:self.giftImageView];
[self.contentView addSubview:self.numberButton];
[self.contentView addSubview:self.giftNameLabel];
[self.contentView addSubview:self.stackView];
[self.stackView addArrangedSubview:self.diamondImageView];
[self.stackView addArrangedSubview:self.giftPriceLabel];
self.backgroundColor = [UIColor clearColor];
[self.contentView addSubview:self.bgView];
[self.bgView addSubview:self.giftImageView];
[self.bgView addSubview:self.priceView];
[self.bgView addSubview:self.giftNumberLabel];
[self.bgView addSubview:self.levelImageView];
}
- (void)initSubViewConstraints {
[self.giftImageView mas_makeConstraints:^(MASConstraintMaker *make) {
make.left.right.mas_equalTo(self.contentView).inset(5);
make.top.mas_equalTo(self.contentView);
make.height.mas_equalTo(self.giftImageView.mas_width);
}];
[self.numberButton mas_makeConstraints:^(MASConstraintMaker *make) {
make.size.mas_equalTo(CGSizeMake(55, 15));
make.centerX.mas_equalTo(self.contentView);
make.top.mas_equalTo(self.giftImageView.mas_bottom).offset(2);
}];
[self.giftNameLabel mas_makeConstraints:^(MASConstraintMaker *make) {
make.left.right.mas_equalTo(self.contentView);
make.top.mas_equalTo(self.numberButton.mas_bottom).offset(10);
}];
[self.stackView mas_makeConstraints:^(MASConstraintMaker *make) {
make.centerX.mas_equalTo(self.contentView);
make.top.mas_equalTo(self.giftNameLabel.mas_bottom).offset(3);
}];
[self.diamondImageView mas_makeConstraints:^(MASConstraintMaker *make) {
make.size.mas_equalTo(CGSizeMake(13, 13));
}];
[self.bgView mas_makeConstraints:^(MASConstraintMaker *make) {
make.edges.equalTo(self.contentView);
}];
[self.giftImageView mas_makeConstraints:^(MASConstraintMaker *make) {
make.size.mas_equalTo(CGSizeMake(kGetScaleWidth(60.16), kGetScaleWidth(55.58)));
make.centerX.mas_equalTo(self.contentView);
make.top.mas_equalTo(kGetScaleWidth(5));
}];
[self.giftNumberLabel mas_makeConstraints:^(MASConstraintMaker *make) {
make.centerX.mas_equalTo(self.contentView);
make.top.mas_equalTo(self.giftImageView.mas_bottom).offset(kGetScaleWidth(5));
make.height.mas_equalTo(kGetScaleWidth(14));
}];
[self.priceView mas_makeConstraints:^(MASConstraintMaker *make) {
make.centerX.equalTo(self.bgView);
make.top.equalTo(self.giftNumberLabel.mas_bottom).mas_offset(kGetScaleWidth(5));
make.left.right.equalTo(self.bgView).inset(kGetScaleWidth(0));
}];
[self.levelImageView mas_makeConstraints:^(MASConstraintMaker *make) {
make.left.top.mas_equalTo(kGetScaleWidth(3));
make.width.height.mas_equalTo(kGetScaleWidth(19));
}];
}
#pragma mark - Getters And Setters
-(void)setLevel:(int)level{
self.levelImageView.hidden = YES;
if(level == 1){
self.levelImageView.hidden = NO;
_levelImageView.image = [UIImage imageNamed:@"gift_list_one"];
}else if(level == 2){
self.levelImageView.hidden = NO;
_levelImageView.image = [UIImage imageNamed:@"gift_list_two"];
}else if(level == 3){
self.levelImageView.hidden = NO;
_levelImageView.image = [UIImage imageNamed:@"gift_list_three"];
}else{
self.levelImageView.hidden = YES;
}
}
- (void)setGiftInfo:(UserGiftWallInfoModel *)giftInfo {
_giftInfo = giftInfo;
if (_giftInfo) {
self.giftImageView.imageUrl = _giftInfo.picUrl;
self.giftNameLabel.text = _giftInfo.giftName;
self.giftPriceLabel.text = [NSString stringWithFormat:@"%ld", _giftInfo.giftPrice];
[self.numberButton setTitle:[NSString stringWithFormat:@"X%ld", _giftInfo.reciveCount] forState:UIControlStateNormal];
}
_giftInfo = giftInfo;
if (_giftInfo) {
_giftImageView.imageUrl = _giftInfo.picUrl;
_giftNumberLabel.text = [NSString stringWithFormat:@"X%ld", _giftInfo.reciveCount];
NSMutableAttributedString *textAtt = [[NSMutableAttributedString alloc]initWithString:[NSString stringWithFormat:@" %ld",_giftInfo.giftPrice] attributes:@{NSForegroundColorAttributeName:UIColorFromRGB(0x6D6B89)}];
NSTextAttachment * attachment = [[NSTextAttachment alloc] init];
UIImage *iconImage = [UIImage imageNamed:@"exchange_diamonds_icon"];;
attachment.bounds = CGRectMake(0, roundf(_priceView.font.capHeight - iconImage.size.height)/2.f, iconImage.size.width, iconImage.size.height);
attachment.image = iconImage;
[textAtt insertAttributedString:[NSMutableAttributedString attributedStringWithAttachment:attachment] atIndex:0];
_priceView.attributedText = textAtt;
}
}
- (NetImageView *)giftImageView {
if (!_giftImageView) {
NetImageConfig * config = [[NetImageConfig alloc]init];
config.imageType = ImageTypeUserIcon;
config.placeHolder = [UIImageConstant defaultAvatarPlaceholder];
_giftImageView = [[NetImageView alloc] initWithConfig:config];
_giftImageView.contentMode = UIViewContentModeScaleAspectFill;
_giftImageView.layer.masksToBounds = YES;
}
return _giftImageView;
}
- (UIButton *)numberButton {
if (!_numberButton) {
_numberButton = [UIButton buttonWithType:UIButtonTypeCustom];
[_numberButton setBackgroundColor:[DJDKMIMOMColor appCellBackgroundColor]];
[_numberButton setTitleColor:[DJDKMIMOMColor mainTextColor] forState:UIControlStateNormal];
_numberButton.titleLabel.font = [UIFont systemFontOfSize:10];
_numberButton.layer.masksToBounds = YES;
[_numberButton setCornerWithLeftTopCorner:2 rightTopCorner:6 bottomLeftCorner:6 bottomRightCorner:2 size:CGSizeMake(55, 15)];
}
return _numberButton;
}
- (UILabel *)giftNameLabel {
if (!_giftNameLabel) {
_giftNameLabel = [[UILabel alloc] init];
_giftNameLabel.font = [UIFont systemFontOfSize:13];
_giftNameLabel.textColor = [DJDKMIMOMColor mainTextColor];
_giftNameLabel.textAlignment = NSTextAlignmentCenter;
}
return _giftNameLabel;
}
- (UIStackView *)stackView {
if (!_stackView) {
_stackView = [[UIStackView alloc] init];
_stackView.axis = UILayoutConstraintAxisHorizontal;
_stackView.distribution = UIStackViewDistributionFill;
_stackView.alignment = UIStackViewAlignmentFill;
_stackView.spacing = 3;
}
return _stackView;
}
- (UIImageView *)diamondImageView {
if (!_diamondImageView) {
_diamondImageView = [[UIImageView alloc] init];
_diamondImageView.userInteractionEnabled = YES;
_diamondImageView.image = [UIImage imageNamed:@"common_diamond"];
}
return _diamondImageView;
}
- (UILabel *)giftPriceLabel {
if (!_giftPriceLabel) {
_giftPriceLabel = [[UILabel alloc] init];
_giftPriceLabel.font = [UIFont systemFontOfSize:11];
_giftPriceLabel.textColor = [DJDKMIMOMColor secondTextColor];
}
return _giftPriceLabel;
if (!_giftImageView) {
NetImageConfig * config = [[NetImageConfig alloc]init];
config.imageType = ImageTypeUserIcon;
config.placeHolder = [UIImageConstant defaultAvatarPlaceholder];
_giftImageView = [[NetImageView alloc] initWithConfig:config];
}
return _giftImageView;
}
- (UILabel *)giftNumberLabel {
if (!_giftNumberLabel) {
_giftNumberLabel = [[UILabel alloc] init];
_giftNumberLabel.font = [UIFont systemFontOfSize:kGetScaleWidth(10) weight:UIFontWeightRegular];
_giftNumberLabel.textColor = UIColorFromRGB(0x6D6B89);
_giftNumberLabel.textAlignment = NSTextAlignmentCenter;
}
return _giftNumberLabel;
}
- (UIView *)bgView{
if (!_bgView){
_bgView = [UIView new];
_bgView.backgroundColor = UIColorFromRGB(0xF3F5FA);
_bgView.layer.cornerRadius = kGetScaleWidth(8);
_bgView.layer.masksToBounds = YES;
}
return _bgView;
}
- (UIImageView *)levelImageView{
if (!_levelImageView){
_levelImageView = [UIImageView new];
_levelImageView.hidden = NO;
}
return _levelImageView;
}
- (UILabel *)priceView{
if (!_priceView){
_priceView = [UILabel new];
_priceView.textAlignment = NSTextAlignmentCenter;
_priceView.font = [UIFont systemFontOfSize:kGetScaleWidth(10) weight:UIFontWeightRegular];
}
return _priceView;
}
@end

View File

@@ -1,17 +0,0 @@
//
// YMMineInfoTableViewCell.h
// YUMI
//
// Created by YUMI on 2021/9/23.
//
#import <UIKit/UIKit.h>
NS_ASSUME_NONNULL_BEGIN
@class UserInfoModel;
@interface XPMineUserInfoTableViewCell : UITableViewCell
///用户信息
@property (nonatomic,strong) UserInfoModel *userInfo;
@end
NS_ASSUME_NONNULL_END

View File

@@ -1,167 +0,0 @@
//
// YMMineInfoTableViewCell.m
// YUMI
//
// Created by YUMI on 2021/9/23.
//
#import "XPMineUserInfoTableViewCell.h"
///Third
#import <Masonry/Masonry.h>
///Tool
#import "DJDKMIMOMColor.h"
///Model
#import "UserInfoModel.h"
@interface XPMineUserInfoTableViewCell ()
///
@property (nonatomic,strong) UIView * backView;
///
@property (nonatomic,strong) UILabel *nameLabel;
///sex
@property (nonatomic,strong) UIImageView *sexImageView;
///id
@property (nonatomic,strong) UILabel *idLabel;
///
@property (nonatomic,strong) UILabel *signLabel;
///
@property (nonatomic,strong) UIButton *onlineButton;
@end
@implementation XPMineUserInfoTableViewCell
- (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.selectionStyle = UITableViewCellSelectionStyleNone;
[self.contentView addSubview:self.backView];
[self.backView addSubview:self.nameLabel];
[self.backView addSubview:self.sexImageView];
[self.backView addSubview:self.idLabel];
[self.backView addSubview:self.signLabel];
[self.backView addSubview:self.onlineButton];
}
- (void)initSubViewConstraints {
[self.backView mas_makeConstraints:^(MASConstraintMaker *make) {
make.left.right.mas_equalTo(self.contentView).inset(15);
make.top.bottom.mas_equalTo(self.contentView);
}];
[self.nameLabel mas_makeConstraints:^(MASConstraintMaker *make) {
make.left.mas_equalTo(self.backView).offset(15);
make.top.mas_equalTo(self.backView).offset(15);
}];
[self.sexImageView mas_makeConstraints:^(MASConstraintMaker *make) {
make.left.mas_equalTo(self.nameLabel.mas_right).offset(5);
make.centerY.mas_equalTo(self.nameLabel);
}];
[self.idLabel mas_makeConstraints:^(MASConstraintMaker *make) {
make.left.mas_equalTo(self.nameLabel);
make.top.mas_equalTo(self.nameLabel.mas_bottom).offset(10);
}];
[self.signLabel mas_makeConstraints:^(MASConstraintMaker *make) {
make.left.mas_equalTo(self.nameLabel);
make.top.mas_equalTo(self.idLabel.mas_bottom).offset(18);
}];
[self.onlineButton mas_makeConstraints:^(MASConstraintMaker *make) {
make.size.mas_equalTo(CGSizeMake(55, 18));
make.right.mas_equalTo(self.backView).offset(-15);
make.top.mas_equalTo(self.backView).offset(10);
}];
}
#pragma mark - Getters And Setters
- (void)setUserInfo:(UserInfoModel *)userInfo {
_userInfo = userInfo;
if (_userInfo) {
self.nameLabel.text = _userInfo.nick;
self.idLabel.text = [NSString stringWithFormat:@"%@%@%ld",AppName,YMLocalizedString(@"App_Common_hao"), (long)_userInfo.erbanNo];
self.signLabel.text = _userInfo.userDesc.length > 0 ? _userInfo.userDesc : YMLocalizedString(@"XPMineUserInfoTableViewCell1");
NSString * sexStr;
if (_userInfo.gender == GenderType_Male) {
sexStr = @"common_male";
} else {
sexStr = @"common_female";
}
self.sexImageView.image = [UIImage imageNamed:sexStr];
}
}
- (UIView *)backView {
if (!_backView) {
_backView = [[UIView alloc] init];
_backView.backgroundColor = [DJDKMIMOMColor appCellBackgroundColor];
_backView.layer.masksToBounds = YES;
_backView.layer.cornerRadius = 12;
}
return _backView;
}
- (UILabel *)nameLabel {
if (!_nameLabel) {
_nameLabel = [[UILabel alloc] init];
_nameLabel.font = [UIFont fontWithName:@"PingFang-SC-Medium" size:15];
_nameLabel.textColor = [DJDKMIMOMColor mainTextColor];
}
return _nameLabel;
}
- (UIImageView *)sexImageView {
if (!_sexImageView) {
_sexImageView = [[UIImageView alloc] init];
_sexImageView.userInteractionEnabled = YES;
}
return _sexImageView;
}
- (UILabel *)idLabel {
if (!_idLabel) {
_idLabel = [[UILabel alloc] init];
_idLabel.font = [UIFont systemFontOfSize:11];
_idLabel.textColor = [DJDKMIMOMColor textThirdColor];
}
return _idLabel;
}
- (UILabel *)signLabel {
if (!_signLabel) {
_signLabel = [[UILabel alloc] init];
_signLabel.font = [UIFont systemFontOfSize:11];;
_signLabel.textColor = [DJDKMIMOMColor secondTextColor];
}
return _signLabel;
}
- (UIButton *)onlineButton {
if (!_onlineButton) {
_onlineButton = [UIButton buttonWithType:UIButtonTypeCustom];
[_onlineButton setTitle:YMLocalizedString(@"XPMineUserInfoTableViewCell2") forState:UIControlStateNormal];
[_onlineButton setImage:[UIImage imageNamed:@"home_search_user_online"] forState:UIControlStateNormal];
[_onlineButton setTitleColor:[DJDKMIMOMColor appEmphasizeColor] forState:UIControlStateNormal];
_onlineButton.backgroundColor = [UIColor clearColor];
_onlineButton.titleLabel.font = [UIFont systemFontOfSize:10];
_onlineButton.layer.masksToBounds = YES;
_onlineButton.layer.cornerRadius = 18/2;
_onlineButton.layer.borderColor = [DJDKMIMOMColor appEmphasizeColor].CGColor;
_onlineButton.layer.borderWidth = 1;
[_onlineButton addTarget:self action:@selector(onlineButtonAction:) forControlEvents:UIControlEventTouchUpInside];
}
return _onlineButton;
}
@end

View File

@@ -27,7 +27,7 @@
///
@property (nonatomic, strong) JXCategoryTitleView *titleView;
///lineView
@property (nonatomic, strong) JXCategoryListContainerView *containerView;
@property (nonatomic, strong) JXCategoryListContainerView *pi_containerView;
///
@property (nonatomic,strong) XPMineGiveDiamondDetailsView *diamondView;
///
@@ -87,7 +87,7 @@
}else{
self.type = 0;
[self.view addSubview:self.titleView];
[self.view addSubview:self.containerView];
[self.view addSubview:self.pi_containerView];
}
@@ -107,7 +107,7 @@
make.height.mas_equalTo(30);
}];
[self.containerView mas_makeConstraints:^(MASConstraintMaker *make) {
[self.pi_containerView mas_makeConstraints:^(MASConstraintMaker *make) {
make.left.right.bottom.mas_equalTo(self.view);
make.top.mas_equalTo(self.titleView.mas_bottom).offset(10);
}];
@@ -285,7 +285,7 @@
_titleView.cellSpacing = 20;
_titleView.cellWidthIncrement = 5;
_titleView.cellWidth = 60;
_titleView.listContainer = self.containerView;
_titleView.listContainer = self.pi_containerView;
JXCategoryIndicatorImageView *lineView = [[JXCategoryIndicatorImageView alloc] init];
lineView.indicatorImageViewSize = CGSizeMake(16, 3);
@@ -298,14 +298,14 @@
return _titleView;
}
- (JXCategoryListContainerView *)containerView {
if (!_containerView) {
_containerView = [[JXCategoryListContainerView alloc] initWithType:JXCategoryListContainerType_ScrollView delegate:self];
_containerView.defaultSelectedIndex = 0;
[_containerView.scrollView.panGestureRecognizer requireGestureRecognizerToFail:self.navigationController.interactivePopGestureRecognizer];
- (JXCategoryListContainerView *)pi_containerView {
if (!_pi_containerView) {
_pi_containerView = [[JXCategoryListContainerView alloc] initWithType:JXCategoryListContainerType_ScrollView delegate:self];
_pi_containerView.defaultSelectedIndex = 0;
[_pi_containerView.scrollView.panGestureRecognizer requireGestureRecognizerToFail:self.navigationController.interactivePopGestureRecognizer];
}
return _containerView;
return _pi_containerView;
}
- (NSArray<NSString *> *)titles {

View File

@@ -61,7 +61,7 @@
///
@property (nonatomic, strong) JXCategoryTitleView *titleView;
///lineView
@property (nonatomic, strong) JXCategoryListContainerView *containerView;
@property (nonatomic, strong) JXCategoryListContainerView *pi_containerView;
///
@property (nonatomic,strong) XPMineUserInfoGiftView *normalGiftView;
///
@@ -142,7 +142,7 @@
[self.backImageView addSubview:self.giftBgView];
[self.backImageView addSubview:self.arrowButton];
[self.giftBgView addSubview:self.titleView];
[self.giftBgView addSubview:self.containerView];
[self.giftBgView addSubview:self.pi_containerView];
[self.backImageView addSubview:self.dynamicLabel];
CGFloat itemHeight = 65;
@@ -181,7 +181,7 @@
make.top.mas_equalTo(0);
}];
[self.containerView mas_makeConstraints:^(MASConstraintMaker *make) {
[self.pi_containerView mas_makeConstraints:^(MASConstraintMaker *make) {
make.left.right.mas_equalTo(0);
make.top.mas_equalTo(self.titleView.mas_bottom).offset(8);
make.bottom.mas_equalTo(0);
@@ -409,7 +409,7 @@
_titleView.cellSpacing = 20;
_titleView.cellWidthIncrement = 5;
_titleView.cellWidth = 60;
_titleView.listContainer = self.containerView;
_titleView.listContainer = self.pi_containerView;
// JXCategoryIndicatorImageView *lineView = [[JXCategoryIndicatorImageView alloc] init];
// lineView.indicatorImageViewSize = CGSizeMake(60, 8);
@@ -422,13 +422,13 @@
return _titleView;
}
- (JXCategoryListContainerView *)containerView {
if (!_containerView) {
_containerView = [[JXCategoryListContainerView alloc] initWithType:JXCategoryListContainerType_ScrollView delegate:self];
_containerView.defaultSelectedIndex = 0;
_containerView.scrollView.tag = 1009;
- (JXCategoryListContainerView *)pi_containerView {
if (!_pi_containerView) {
_pi_containerView = [[JXCategoryListContainerView alloc] initWithType:JXCategoryListContainerType_ScrollView delegate:self];
_pi_containerView.defaultSelectedIndex = 0;
_pi_containerView.scrollView.tag = 1009;
}
return _containerView;
return _pi_containerView;
}
- (NSArray<NSString *> *)titles {

View File

@@ -340,12 +340,7 @@
[self.navigationController pushViewController:giftWallVC animated:YES];
}
#pragma mark - XPMineDataSkillCardTableViewCell
- (void)xPMineDataSkillCardTableViewCell:(XPMineDataSkillCardTableViewCell *)view didSelectItem:(MineSkillCardListInfoModel *)skillInfo {
XPSkillCardViewController *skillCardVC = [[XPSkillCardViewController alloc] init];
skillCardVC.uid = self.userUid.integerValue;
[self.navigationController pushViewController:skillCardVC animated:YES];
}
#pragma mark - JXPagingViewListViewDelegate
- (UIView *)listView {

View File

@@ -1,8 +1,8 @@
//
// YMMineUserInfoGiftWalllSubViewController.h
// YUMI
// XPMineUserInfoGiftWalllSubViewController.h
// xplan-ios
//
// Created by YUMI on 2022/6/15.
// Created by 冯硕 on 2022/6/15.
//
#import "MvpViewController.h"
@@ -10,10 +10,10 @@
NS_ASSUME_NONNULL_BEGIN
typedef NS_ENUM(NSInteger, GiftWallViewType) {
///普通礼物
GiftWallViewType_Normal = 1,
///幸运礼物
GiftWallViewType_Lucky = 2,
///普通礼物
GiftWallViewType_Normal = 1,
///幸运礼物
GiftWallViewType_Lucky = 2,
};
@interface XPMineUserInfoGiftWallSubViewController : MvpViewController<JXCategoryListContentViewDelegate>

View File

@@ -1,17 +1,14 @@
//
// YMMineUserInfoGiftWalllSubViewController.m
// YUMI
// XPMineUserInfoGiftWalllSubViewController.m
// xplan-ios
//
// Created by YUMI on 2022/6/15.
// Created by on 2022/6/15.
//
#import "XPMineUserInfoGiftWallSubViewController.h"
///Third
#import <Masonry/Masonry.h>
///Tool
#import "DJDKMIMOMColor.h"
#import "YUMIMacroUitls.h"
#import "NSArray+Safe.h"
///View
#import "XPMineUserInfoGiftWallCollectionViewCell.h"
#import "XPGuildEmptyCollectionViewCell.h"
@@ -23,79 +20,140 @@
///
@property (nonatomic,strong) UICollectionView *collectionView;
@property (nonatomic,strong) NSArray *datasource;
@property (nonatomic,assign) NSInteger giftNum;
@end
@implementation XPMineUserInfoGiftWallSubViewController
- (__kindof id)createPresenter {
return [[XPMineUserInfoGiftWallPresenter alloc] init];
return [[XPMineUserInfoGiftWallPresenter alloc] init];
}
- (void)viewDidLoad {
[super viewDidLoad];
[self.presenter getUserGiftWall:self.userUid giftType:self.type];
[self initSubViews];
[self initSubViewConstraints];
[super viewDidLoad];
[self.presenter getUserGiftWall:self.userUid giftType:self.type];
[self initSubViews];
[self initSubViewConstraints];
}
#pragma mark - Private Method
- (void)initSubViews {
[self.view addSubview:self.collectionView];
self.view.backgroundColor = [UIColor whiteColor];
[self.view addSubview:self.collectionView];
}
- (void)initSubViewConstraints {
[self.collectionView mas_makeConstraints:^(MASConstraintMaker *make) {
make.edges.mas_equalTo(self.view);
}];
[self.collectionView mas_makeConstraints:^(MASConstraintMaker *make) {
make.edges.mas_equalTo(self.view);
}];
}
#pragma mark - UICollectionViewDelegate And UICollectionViewDatasource
- (NSInteger)collectionView:(UICollectionView *)collectionView numberOfItemsInSection:(NSInteger)section {
return self.datasource.count > 0 ? self.datasource.count : 1;
-(NSInteger)numberOfSectionsInCollectionView:(UICollectionView *)collectionView{
if (self.giftNum == 0)return 1;
return 2;
}
- (CGSize)collectionView:(UICollectionView *)collectionView layout:(UICollectionViewLayout *)collectionViewLayout sizeForItemAtIndexPath:(NSIndexPath *)indexPath {
return self.datasource.count > 0 ? CGSizeMake(74, 120) : CGSizeMake(KScreenWidth, 500);
if(self.giftNum > 0){
CGFloat width = KScreenWidth - kGetScaleWidth(60);
return indexPath.section == 0 ? CGSizeMake(width / 3 , kGetScaleWidth(110)): CGSizeMake((width - kGetScaleWidth(15))/4 , kGetScaleWidth(105));
}
return CGSizeMake(KScreenWidth - 30, 65 * 3 + 30);
}
- (UIEdgeInsets)collectionView:(UICollectionView *)collectionView layout:(UICollectionViewLayout*)collectionViewLayout insetForSectionAtIndex:(NSInteger)section{
if(self.giftNum > 0){
return section == 0 ? UIEdgeInsetsMake(0, kGetScaleWidth(15), kGetScaleWidth(15), kGetScaleWidth(15)):UIEdgeInsetsMake(0, kGetScaleWidth(15), 0, kGetScaleWidth(15));
}
return UIEdgeInsetsMake(0, 0, 0, 0);
}
- (NSInteger)collectionView:(UICollectionView *)collectionView numberOfItemsInSection:(NSInteger)section {
if (self.giftNum == 0)return 1;
return [self.datasource[section] count];
}
- (__kindof UICollectionViewCell *)collectionView:(UICollectionView *)collectionView cellForItemAtIndexPath:(NSIndexPath *)indexPath {
if (self.datasource.count > 0) {
XPMineUserInfoGiftWallCollectionViewCell * cell = [collectionView dequeueReusableCellWithReuseIdentifier:NSStringFromClass([XPMineUserInfoGiftWallCollectionViewCell class]) forIndexPath:indexPath];
UserGiftWallInfoModel * giftInfo = [self.datasource safeObjectAtIndex1:indexPath.row];
cell.giftInfo = giftInfo;
return cell;
}
XPGuildEmptyCollectionViewCell * cell = [collectionView dequeueReusableCellWithReuseIdentifier:NSStringFromClass([XPGuildEmptyCollectionViewCell class]) forIndexPath:indexPath];
return cell;
if (self.giftNum > 0) {
XPMineUserInfoGiftWallCollectionViewCell * cell = [collectionView dequeueReusableCellWithReuseIdentifier:NSStringFromClass([XPMineUserInfoGiftWallCollectionViewCell class]) forIndexPath:indexPath];
if (indexPath.section == 0 && self.datasource.count > 0){
NSArray *dataList = self.datasource[indexPath.section];
if(indexPath.row < dataList.count){
cell.giftInfo = [dataList safeObjectAtIndex1:indexPath.row];
[cell setLevel:((int)indexPath.row + 1)];
}else{
UICollectionViewCell *cell = [collectionView dequeueReusableCellWithReuseIdentifier:NSStringFromClass([UICollectionViewCell class]) forIndexPath:indexPath];
return cell;
}
}
if (indexPath.section == 1 && self.datasource.count > 1){
NSArray *dataList = self.datasource[indexPath.section];
if(indexPath.row < dataList.count){
cell.giftInfo = [dataList safeObjectAtIndex1:indexPath.row];
}else{
UICollectionViewCell *cell = [collectionView dequeueReusableCellWithReuseIdentifier:NSStringFromClass([UICollectionViewCell class]) forIndexPath:indexPath];
return cell;
}
[cell setLevel:4];
}
return cell;
}
XPGuildEmptyCollectionViewCell * cell = [collectionView dequeueReusableCellWithReuseIdentifier:NSStringFromClass([XPGuildEmptyCollectionViewCell class]) forIndexPath:indexPath];
return cell;
}
#pragma mark - JXCategoryListContentViewDelegate
- (UIView *)listView {
return self.view;
return self.view;
}
#pragma mark - XPMineUserInfoGiftWallProtocol
- (void)getUserGiftWallSuccess:(NSArray *)giftList {
self.datasource = giftList;
[self.collectionView reloadData];
_giftNum = giftList.count ;
NSMutableArray *firstDataSource = [NSMutableArray array];
NSMutableArray *secondDataSource = [NSMutableArray array];
for (int i = 0; i < giftList.count; i++) {
UserGiftWallInfoModel *obj = giftList[i];
if(i < 3){
[firstDataSource addObject:obj];
}else{
[secondDataSource addObject:obj];
}
}
_datasource = @[firstDataSource,secondDataSource];
[self.collectionView reloadData];
}
#pragma mark - Getters And Setters
- (UICollectionView *)collectionView{
if (!_collectionView) {
UICollectionViewFlowLayout *layout = [[UICollectionViewFlowLayout alloc] init];
layout.sectionInset = UIEdgeInsetsMake(15, 15, 15, 15);
layout.minimumInteritemSpacing = (CGFloat)(KScreenWidth - 15 * 2 -74* 4 - 5) / 3.0;
layout.minimumLineSpacing = 30;
_collectionView = [[UICollectionView alloc] initWithFrame:CGRectZero collectionViewLayout:layout];
_collectionView.dataSource = self;
_collectionView.delegate = self;
_collectionView.backgroundColor = [UIColor clearColor];
[_collectionView registerClass:[XPMineUserInfoGiftWallCollectionViewCell class] forCellWithReuseIdentifier:NSStringFromClass([XPMineUserInfoGiftWallCollectionViewCell class])];
[_collectionView registerClass:[XPGuildEmptyCollectionViewCell class] forCellWithReuseIdentifier:NSStringFromClass([XPGuildEmptyCollectionViewCell class])];
}
return _collectionView;
if (!_collectionView) {
UICollectionViewFlowLayout *layout = [[UICollectionViewFlowLayout alloc] init];
layout.minimumLineSpacing = kGetScaleWidth(15);
layout.minimumInteritemSpacing = 0;
_collectionView = [[UICollectionView alloc] initWithFrame:CGRectZero collectionViewLayout:layout];
_collectionView.dataSource = self;
_collectionView.delegate = self;
_collectionView.pagingEnabled = NO;
_collectionView.backgroundColor = [UIColor clearColor];
[_collectionView registerClass:[XPMineUserInfoGiftWallCollectionViewCell class] forCellWithReuseIdentifier:NSStringFromClass([XPMineUserInfoGiftWallCollectionViewCell class])];
[_collectionView registerClass:[XPGuildEmptyCollectionViewCell class] forCellWithReuseIdentifier:NSStringFromClass([XPGuildEmptyCollectionViewCell class])];
[_collectionView registerClass:[UICollectionViewCell class] forCellWithReuseIdentifier:NSStringFromClass([UICollectionViewCell class])];
}
return _collectionView;
}
@end

View File

@@ -1,8 +1,8 @@
//
// YMMineGiftWallViewController.m
// YUMI
// XPMineGiftWallViewController.m
// xplan-ios
//
// Created by YUMI on 2022/4/14.
// Created by on 2022/4/14.
//
#import "XPMineUserInfoGiftWallViewController.h"
@@ -12,8 +12,7 @@
#import <JXCategoryView/JXCategoryIndicatorBackgroundView.h>
#import <JXCategoryView/JXCategoryListContainerView.h>
///Tool
#import "DJDKMIMOMColor.h"
#import "YUMIMacroUitls.h"
#import "UIImage+Utils.h"
///View
#import "XPMineUserInfoGiftWallSubViewController.h"
@@ -25,7 +24,7 @@
///
@property (nonatomic, strong) JXCategoryTitleView *titleView;
///lineView
@property (nonatomic, strong) JXCategoryListContainerView *containerView;
@property (nonatomic, strong) JXCategoryListContainerView *pi_containerView;
///
@property (nonatomic,strong) XPMineUserInfoGiftWallSubViewController *normalGiftVC;
///
@@ -35,113 +34,114 @@
@implementation XPMineUserInfoGiftWallViewController
- (void)viewDidLoad {
[super viewDidLoad];
[self initSubViews];
[self initSubViewConstraints];
[self initSubViews];
[self initSubViewConstraints];
}
#pragma mark - Private Method
- (void)initSubViews {
self.title = YMLocalizedString(@"XPMineUserInfoGiftWallViewController0");
[self.view addSubview:self.titleView];
[self.view addSubview:self.containerView];
self.view.backgroundColor = [UIColor whiteColor];
self.title = YMLocalizedString(@"XPMineUserInfoGiftWallViewController0");
[self.view addSubview:self.titleView];
[self.view addSubview:self.pi_containerView];
}
- (void)initSubViewConstraints {
[self.titleView mas_makeConstraints:^(MASConstraintMaker *make) {
make.centerX.mas_equalTo(self.view);
make.width.mas_equalTo(100 * 2 + 20);
make.height.mas_equalTo(30);
make.top.mas_equalTo(self.view).offset(10);
}];
[self.containerView mas_makeConstraints:^(MASConstraintMaker *make) {
make.left.right.bottom.mas_equalTo(self.view);
make.top.mas_equalTo(self.titleView.mas_bottom).offset(10);
}];
[self.titleView mas_makeConstraints:^(MASConstraintMaker *make) {
make.centerX.mas_equalTo(self.view);
make.width.mas_equalTo(100 * 2 + 20);
make.height.mas_equalTo(30);
make.top.mas_equalTo(self.view).offset(10);
}];
[self.pi_containerView mas_makeConstraints:^(MASConstraintMaker *make) {
make.left.right.bottom.mas_equalTo(self.view);
make.top.mas_equalTo(self.titleView.mas_bottom).offset(10);
}];
}
#pragma mark - JXCategoryViewDelegate
- (NSInteger)numberOfListsInlistContainerView:(JXCategoryListContainerView *)listContainerView {
return self.titles.count;
return self.titles.count;
}
- (id<JXCategoryListContentViewDelegate>)listContainerView:(JXCategoryListContainerView *)listContainerView initListForIndex:(NSInteger)index {
if (index == 0) {
return self.normalGiftVC;
} else {
return self.luckyGiftVC;
}
if (index == 0) {
return self.normalGiftVC;
} else {
return self.luckyGiftVC;
}
}
- (void)categoryView:(JXCategoryBaseView *)categoryView didSelectedItemAtIndex:(NSInteger)index {
//
self.navigationController.interactivePopGestureRecognizer.enabled = (index == 0);
//
self.navigationController.interactivePopGestureRecognizer.enabled = (index == 0);
}
#pragma mark - Getters And Setters
- (void)setUserUid:(NSString *)userUid {
_userUid = userUid;
self.normalGiftVC.userUid = _userUid;
self.luckyGiftVC.userUid = _userUid;
_userUid = userUid;
self.normalGiftVC.userUid = _userUid;
self.luckyGiftVC.userUid = _userUid;
}
- (JXCategoryTitleView *)titleView {
if (!_titleView) {
_titleView = [[JXCategoryTitleView alloc] init];
_titleView.delegate = self;
_titleView.titles = self.titles;
_titleView.backgroundColor = [UIColor clearColor];
_titleView.titleColor = [DJDKMIMOMColor secondTextColor];
_titleView.titleSelectedColor = [DJDKMIMOMColor mainTextColor];
_titleView.titleFont = [UIFont systemFontOfSize:12];
_titleView.titleSelectedFont = [UIFont systemFontOfSize:12 weight:UIFontWeightMedium];
_titleView.titleLabelAnchorPointStyle = JXCategoryTitleLabelAnchorPointStyleCenter;
_titleView.contentScrollViewClickTransitionAnimationEnabled = NO;
_titleView.defaultSelectedIndex = 0;
_titleView.cellSpacing = 20;
_titleView.cellWidthIncrement = 5;
_titleView.cellWidth = 60;
_titleView.listContainer = self.containerView;
JXCategoryIndicatorImageView *lineView = [[JXCategoryIndicatorImageView alloc] init];
lineView.indicatorImageViewSize = CGSizeMake(60, 8);
lineView.verticalMargin = 6;
lineView.indicatorImageView.image = [UIImage gradientColorImageFromColors:@[UIColorFromRGB(0xFFC000), UIColorFromRGB(0xFFD15A)] gradientType:GradientTypeLeftToRight imgSize:CGSizeMake(60, 8)];
lineView.indicatorImageView.layer.masksToBounds = YES;
lineView.indicatorImageView.layer.cornerRadius = 4;
_titleView.indicators = @[lineView];
}
return _titleView;
if (!_titleView) {
_titleView = [[JXCategoryTitleView alloc] init];
_titleView.delegate = self;
_titleView.titles = self.titles;
_titleView.backgroundColor = [UIColor clearColor];
_titleView.titleColor = UIColorFromRGB(0xB3B3C3);
_titleView.titleSelectedColor = UIColorFromRGB(0x1F1A4E);
_titleView.titleFont = [UIFont systemFontOfSize:14 weight:UIFontWeightMedium];
_titleView.titleSelectedFont = [UIFont systemFontOfSize:14 weight:UIFontWeightMedium];
_titleView.titleLabelAnchorPointStyle = JXCategoryTitleLabelAnchorPointStyleCenter;
_titleView.contentScrollViewClickTransitionAnimationEnabled = NO;
_titleView.defaultSelectedIndex = 0;
_titleView.cellSpacing = 20;
_titleView.cellWidthIncrement = 5;
_titleView.cellWidth = 60;
_titleView.listContainer = self.pi_containerView;
JXCategoryIndicatorImageView *lineView = [[JXCategoryIndicatorImageView alloc] init];
lineView.indicatorImageViewSize = CGSizeMake(15, 3);
lineView.verticalMargin = 0;
lineView.indicatorImageView.image = [UIImage gradientColorImageFromColors:@[[DJDKMIMOMColor confirmButtonGradientStartColor], [DJDKMIMOMColor confirmButtonGradientMiddleColor],[DJDKMIMOMColor confirmButtonGradientEndColor]] gradientType:GradientTypeLeftToRight imgSize:CGSizeMake(15, 3)];
lineView.indicatorImageView.layer.masksToBounds = YES;
lineView.indicatorImageView.layer.cornerRadius = 1.5;
_titleView.indicators = @[lineView];
}
return _titleView;
}
- (JXCategoryListContainerView *)containerView {
if (!_containerView) {
_containerView = [[JXCategoryListContainerView alloc] initWithType:JXCategoryListContainerType_ScrollView delegate:self];
_containerView.defaultSelectedIndex = 0;
}
return _containerView;
- (JXCategoryListContainerView *)pi_containerView {
if (!_pi_containerView) {
_pi_containerView = [[JXCategoryListContainerView alloc] initWithType:JXCategoryListContainerType_ScrollView delegate:self];
_pi_containerView.defaultSelectedIndex = 0;
}
return _pi_containerView;
}
- (NSArray<NSString *> *)titles {
if (!_titles) {
_titles = @[YMLocalizedString(@"XPWishGiftCreateItemViewController0"), YMLocalizedString(@"XPMineUserInfoGiftWallViewController2")];
}
return _titles;
if (!_titles) {
_titles = @[YMLocalizedString(@"XPMineUserInfoGiftWallViewController1"), YMLocalizedString(@"XPMineUserInfoGiftWallViewController2")];
}
return _titles;
}
- (XPMineUserInfoGiftWallSubViewController *)normalGiftVC {
if (!_normalGiftVC) {
_normalGiftVC = [[XPMineUserInfoGiftWallSubViewController alloc] init];
_normalGiftVC.type = GiftWallViewType_Normal;
}
return _normalGiftVC;
if (!_normalGiftVC) {
_normalGiftVC = [[XPMineUserInfoGiftWallSubViewController alloc] init];
_normalGiftVC.type = GiftWallViewType_Normal;
}
return _normalGiftVC;
}
- (XPMineUserInfoGiftWallSubViewController *)luckyGiftVC {
if (!_luckyGiftVC) {
_luckyGiftVC = [[XPMineUserInfoGiftWallSubViewController alloc] init];
_luckyGiftVC.type = GiftWallViewType_Lucky;
}
return _luckyGiftVC;
if (!_luckyGiftVC) {
_luckyGiftVC = [[XPMineUserInfoGiftWallSubViewController alloc] init];
_luckyGiftVC.type = GiftWallViewType_Lucky;
}
return _luckyGiftVC;
}
@end

View File

@@ -28,7 +28,6 @@
#import "XPMineUserInfoTagModel.h"
#import "UploadFile.h"
///View
#import "XPMineUserInfoTableViewCell.h"
#import "XPMineUserInfoHeaderView.h"
#import "XPMineUserInfoCustomNavView.h"
#import "XPMineUserInfoVoiceCardView.h"

View File

@@ -190,7 +190,7 @@
@kWeakify(self);
SVGAParser * parser = [[SVGAParser alloc]init];
[parser parseWithNamed:@"mine_info_online" inBundle:[NSBundle mainBundle] completionBlock:^(SVGAVideoEntity * _Nonnull videoItem) {
[parser parseWithNamed:@"pi_new_mine_info_online" inBundle:[NSBundle mainBundle] completionBlock:^(SVGAVideoEntity * _Nonnull videoItem) {
@kStrongify(self);
self.onlineIconView.loops = 0;
self.onlineIconView.clearsAfterStop = NO;
@@ -201,7 +201,7 @@
}];
SVGAParser *soundParser = [SVGAParser new];
[soundParser parseWithNamed:@"mine_info_sound_play" inBundle:[NSBundle mainBundle] completionBlock:^(SVGAVideoEntity * _Nonnull videoItem) {
[soundParser parseWithNamed:@"pi_new_mine_info_sound_play" inBundle:[NSBundle mainBundle] completionBlock:^(SVGAVideoEntity * _Nonnull videoItem) {
@kStrongify(self);
self.soundSVGAView.loops = 0;
self.soundSVGAView.clearsAfterStop = NO;
@@ -564,7 +564,7 @@
self.idLabel.attributedText = textAtt;
self.signLabel.text = _userInfo.userDesc.length > 0 ? _userInfo.userDesc : YMLocalizedString(@"XPMineUserInfoHeaderView0");
self.signLabel.text = _userInfo.userDesc.length > 0 ? _userInfo.userDesc : YMLocalizedString(@"XPTreasureFairyFriendCell0");
self.fansNumLabel.text =[NSString stringWithFormat:YMLocalizedString(@"XPMineUserInfoHeaderView2"), _userInfo.fansNum];
self.sexImageView.image = userInfo.gender == GenderType_Female ? [UIImage imageNamed:@"common_female"] : [UIImage imageNamed:@"common_male"];
self.officalImageView.hidden = userInfo.defUser != UserLevelType_Offical;

View File

@@ -0,0 +1,26 @@
//
// XPMineUserInfoNavView.h
// xplan-ios
//
// Created by duoban on 2023/2/15.
//
#import <UIKit/UIKit.h>
NS_ASSUME_NONNULL_BEGIN
@class XPMineUserInfoNavView;
@protocol XPMineUserInfoNavViewDelegate <NSObject>
//点击了返回
- (void)xPMineUserInfoNavView:(XPMineUserInfoNavView *)view didClickBack:(UIButton *)sender;
///点击了搜索
- (void)xPMineUserInfoNavView:(XPMineUserInfoNavView *)view didClickComplete:(UIButton *)sender;
@end
@interface XPMineUserInfoNavView : UIView
///
@property (nonatomic,weak) id<XPMineUserInfoNavViewDelegate> delegate;
@end
NS_ASSUME_NONNULL_END

View File

@@ -0,0 +1,88 @@
//
// XPMineUserInfoNavView.m
// xplan-ios
//
// Created by duoban on 2023/2/15.
//
#import "XPMineUserInfoNavView.h"
@interface XPMineUserInfoNavView()
///
@property (nonatomic,strong) UIButton *backButton;
///
@property (nonatomic,strong) UILabel *titleView;
///
@property (nonatomic,strong) UIButton *completeBtn;
@end
@implementation XPMineUserInfoNavView
-(instancetype)initWithFrame:(CGRect)frame{
self = [super initWithFrame:frame];
if(self){
[self initSubViews];
[self initSubViewConstraints];
}
return self;
}
#pragma mark - Private Method
- (void)initSubViews {
[self addSubview:self.backButton];
[self addSubview:self.titleView];
[self addSubview:self.completeBtn];
}
- (void)initSubViewConstraints {
[self.backButton mas_makeConstraints:^(MASConstraintMaker *make) {
make.width.height.mas_equalTo(kGetScaleWidth(28));
make.left.mas_equalTo(0);
make.bottom.mas_equalTo(-kGetScaleWidth(8));
}];
[self.titleView mas_makeConstraints:^(MASConstraintMaker *make) {
make.centerY.equalTo(self.backButton);
make.centerX.equalTo(self);
}];
[self.completeBtn mas_makeConstraints:^(MASConstraintMaker *make) {
make.right.mas_equalTo(-kGetScaleWidth(15));
make.width.mas_equalTo(kGetScaleWidth(40));
make.height.mas_equalTo(kGetScaleWidth(24));
make.centerY.equalTo(self.backButton);
}];
}
-(void)backButtonAction{
if(self.delegate && [self.delegate respondsToSelector:@selector(xPMineUserInfoNavView:didClickBack:)]){
[self.delegate xPMineUserInfoNavView:self didClickBack:self.backButton];
}
}
-(void)completeAction{
if(self.delegate && [self.delegate respondsToSelector:@selector(xPMineUserInfoNavView:didClickComplete:)]){
[self.delegate xPMineUserInfoNavView:self didClickComplete:self.completeBtn];
}
}
#pragma mark -
- (UIButton *)backButton {
if (!_backButton) {
_backButton = [UIButton buttonWithType:UIButtonTypeCustom];
[_backButton setImage:[UIImage imageNamed:@"common_nav_back"] forState:UIControlStateNormal];
[_backButton setImage:[UIImage imageNamed:@"common_nav_back"] forState:UIControlStateSelected];
[_backButton addTarget:self action:@selector(backButtonAction) forControlEvents:UIControlEventTouchUpInside];
[_backButton setEnlargeEdgeWithTop:10 right:5 bottom:10 left:8];
}
return _backButton;
}
- (UILabel *)titleView{
if (!_titleView){
_titleView = [UILabel labelInitWithText:YMLocalizedString(@"XPMineUserInfoTagVC0") font:kFontSemibold(17) textColor:UIColorFromRGB(0x1F1B4F)];
}
return _titleView;
}
- (UIButton *)completeBtn{
if (!_completeBtn){
_completeBtn = [UIButton new];
[_completeBtn setTitleColor:[UIColor whiteColor] forState:UIControlStateNormal];
[_completeBtn setEnlargeEdgeWithTop:10 right:10 bottom:10 left:10];
[_completeBtn setTitle:YMLocalizedString(@"XPMineUserInfoTagVC1") forState:UIControlStateNormal];
[_completeBtn addTarget:self action:@selector(completeAction) forControlEvents:UIControlEventTouchUpInside];
}
return _completeBtn;
}
@end

View File

@@ -1,24 +1,23 @@
//
// XPMonentsLayoutConfig.h
// xplan-ios
// YMMonentsLayoutConfig.h
// YUMI
//
// Created by 冯硕 on 2022/5/12.
// Created by YUMI on 2022/5/12.
//
#import <Foundation/Foundation.h>
#import "YUMIMacroUitls.h"
NS_ASSUME_NONNULL_BEGIN
#define kMONENTS_CONTENT_LEFT_PADDING 18
#define kMONENTS_CONTENT_RIGHT_PADDING 18
#define kMONENTS_CONTENT_LEFT_PADDING 67
#define kMONENTS_CONTENT_RIGHT_PADDING 36
#define kMONENTS_CONTENT_MAX_WIDTH (KScreenWidth - kMONENTS_CONTENT_LEFT_PADDING - kMONENTS_CONTENT_RIGHT_PADDING)
#define kMONENTS_PIC_ONE_WIDTH 109 ///只有一个动态图片的高度
#define kMONENTS_PIC_ONE_WIDTH 200 ///只有一个动态图片的高度
#define kMONENTS_PIC_SPACE 4 ///图片之间的间隙的宽度或者高度
#define kMONENTS_USER_INFO_HEIGHT 50 ///用户信息的高度
#define kMONENTS_USER_INFO_HEIGHT 60 ///用户信息的高度
#define kMONENTS_TOOL_BAR_HEIGHT 58 ///底部操作栏的高度
#define kMONENTS_CONTENT_SPACAE_HEIGHT 12 /// 每个内容之间下面的间隙的高度
#define kMONENTS_TEXT_TOPIC_HEIGHT 15 /// 话题的高度
#define kMONENTS_TEXT_TOPIC_HEIGHT 20 /// 话题的高度
#define kMONENTS_FOLD_HEIGHT 20 /// 展开 关闭的高度
#define kMONENTS_Time_HEIGHT 14 /// 时间
#define kMONENTS_Content_Text_Space 5 /// 内容 展开按钮 时间的间隙
#pragma mark - 评论的配置
#define kMONENTS_COMMENT_LEFT_PADDING 15 ///评论左的间隙
#define kMONENTS_COMMENT_RIGHT_PADDING 25 ///评论右的间隙
@@ -30,8 +29,16 @@ NS_ASSUME_NONNULL_BEGIN
#define kMONENTS_COMMENT_REPLY_LEFT_PADDING (kMONENTS_COMMENT_LEFT_PADDING + kMONENTS_COMMENT_RIGHT_PADDING + kMONENTS_COMMENT_AVATAR_NICK_PADDING) ///回复这左边的间隙
#define KMONENTS_COMMENT_REPLY_MAX_WIDTH (KMONENTS_COMMENT_MAX_WIDTH - KMONENTS_COMMENT_REPLY_AVATAR_WIDTH - kMONENTS_COMMENT_AVATAR_NICK_PADDING) ///评论回复内容的最大宽度
#pragma mark - 审核UI配置
#define kSIMPLE_MONENTS_CONTENT_LEFT_PADDING 16 ///动态内容左边间距
#define kSIMPLE_MONENTS_CONTENT_RIGHT_PADDING 16 ///动态内容右边间距
#define kSIMPLE_MONENTS_CONTENT_MAX_WIDTH (KScreenWidth - kSIMPLE_MONENTS_CONTENT_LEFT_PADDING - kSIMPLE_MONENTS_CONTENT_RIGHT_PADDING) ///动态内容最大宽度
#define KSIMPLE_MONENTS_COMMENT_AVATAR_WIDTH 40 ///评论的头像大小
@class MonentsInfoModel, MonentsCommentModel;
@interface XPMonentsLayoutConfig : NSObject
+ (void)layoutSimpleMonentsModel:(MonentsInfoModel *)monents;
+ (void)layoutMonentsModel:(MonentsInfoModel *)monents;
+ (CGFloat)monentsPicHeight:(MonentsInfoModel *)monents;
+ (CGFloat)monentsContentHeight:(MonentsInfoModel *)monents;

View File

@@ -1,19 +1,21 @@
//
// XPMonentsLayoutConfig.m
// xplan-ios
// YMMonentsLayoutConfig.m
// YUMI
//
// Created by on 2022/5/12.
// Created by YUMI on 2022/5/12.
//
#import "XPMonentsLayoutConfig.h"
#import <YYText/YYText.h>
#import "DJDKMIMOMColor.h"
///Model
#import "MonentsInfoModel.h"
#import "MonentsCommentModel.h"
#import "QEmotionHelper.h"
@implementation XPMonentsLayoutConfig
#pragma mark -
+ (void)getNewlayoutMonentsModelWithDynamic:(MonentsInfoModel *)monents {
CGFloat rowHeight = 10;
///
@@ -34,52 +36,6 @@
rowHeight += kMONENTS_TOOL_BAR_HEIGHT;
monents.rowHeight = rowHeight;
}
+ (void)layoutMonentsModelWithDynamic:(MonentsInfoModel *)monents {
CGFloat rowHeight = 10;
///
rowHeight += kMONENTS_CONTENT_SPACAE_HEIGHT;
///
rowHeight += [self monentsContentHeight:monents];
///
rowHeight += [self monentsPicHeight:monents];
///
if (monents.type == MonentsContentType_Picture && monents.content.length > 0) {
rowHeight += (kMONENTS_CONTENT_SPACAE_HEIGHT);
}
///
if (monents.worldId > 0) {
rowHeight += kMONENTS_TEXT_TOPIC_HEIGHT;
}
///
rowHeight += kMONENTS_TOOL_BAR_HEIGHT;
monents.rowHeight = rowHeight;
}
+ (void)layoutMonentsModel:(MonentsInfoModel *)monents {
CGFloat rowHeight = kMONENTS_USER_INFO_HEIGHT;
///
rowHeight += kMONENTS_CONTENT_SPACAE_HEIGHT;
///
rowHeight += [self monentsContentHeight:monents];
///
rowHeight += [self monentsPicHeight:monents];
///
if (monents.type == MonentsContentType_Picture) {
rowHeight += 8; //stackViewspace=8
}
///
if (monents.worldId > 0) {
rowHeight += kMONENTS_TEXT_TOPIC_HEIGHT;
rowHeight += (kMONENTS_CONTENT_SPACAE_HEIGHT);
}
///
rowHeight += kMONENTS_TOOL_BAR_HEIGHT;
///cellstackView24
rowHeight += 24;
monents.rowHeight = rowHeight;
}
+ (CGFloat)getNewMonentsPicHeight:(MonentsInfoModel *)monents {
///
NSInteger picCount = monents.dynamicResList.count;
@@ -107,6 +63,131 @@
monents.picHeight = picHeight;
return picHeight;
}
+ (void)layoutMonentsModelWithDynamic:(MonentsInfoModel *)monents {
CGFloat rowHeight = 10;
///
rowHeight += kMONENTS_CONTENT_SPACAE_HEIGHT;
///
rowHeight += [self monentsContentHeight:monents];
///
rowHeight += [self monentsPicHeight:monents];
///
if (monents.type == MonentsContentType_Picture && monents.content.length > 0) {
rowHeight += (kMONENTS_CONTENT_SPACAE_HEIGHT);
}
///
if (monents.worldId > 0) {
rowHeight += kMONENTS_TEXT_TOPIC_HEIGHT;
}
///
rowHeight += kMONENTS_TOOL_BAR_HEIGHT;
monents.rowHeight = rowHeight;
}
+ (void)layoutSimpleMonentsModel:(MonentsInfoModel *)monents {
CGFloat rowHeight = kMONENTS_CONTENT_SPACAE_HEIGHT;
///
rowHeight += [self simpleMonentsContentHeight:monents];
///
rowHeight += [self monentsPicHeight:monents];
///
if (monents.type == MonentsContentType_Picture && monents.content.length > 0) {
rowHeight += (kMONENTS_CONTENT_SPACAE_HEIGHT * 2);
}else {
rowHeight += kMONENTS_CONTENT_SPACAE_HEIGHT;
}
///
rowHeight += kMONENTS_TEXT_TOPIC_HEIGHT;
monents.rowHeight = rowHeight;
}
+ (CGFloat)simpleMonentsContentHeight:(MonentsInfoModel *)monents {
if (monents.content.length <= 0) {
monents.contentHeight = 0;
return 0;
}
///
if (!monents.contentAttribute) {
NSMutableAttributedString *attributedString = [[NSMutableAttributedString alloc] init];
if (monents.squareTop ) {///广
NSTextAttachment * attachment = [[NSTextAttachment alloc] init];
attachment.bounds = CGRectMake(0, 0, 25 * 1.3 ,10 * 1.3);
attachment.image = [UIImage imageNamed:@"monents_info_top"];
NSAttributedString * starAttribute = [NSMutableAttributedString attributedStringWithAttachment:(NSTextAttachment *)attachment];
[attributedString insertAttributedString:starAttribute atIndex:0];
}
[attributedString appendAttributedString:[self creatStrAttrByStr:monents.content attributed:@{NSFontAttributeName : [UIFont systemFontOfSize:15]}]];
attributedString.yy_lineSpacing = 5;
attributedString.yy_lineBreakMode = NSLineBreakByWordWrapping;
monents.contentAttribute = attributedString;
}
YYTextContainer *container = [YYTextContainer new];
container.size = CGSizeMake(kSIMPLE_MONENTS_CONTENT_MAX_WIDTH, CGFLOAT_MAX);
container.maximumNumberOfRows = 0;
YYTextLayout *layout = [YYTextLayout layoutWithContainer:container text:monents.contentAttribute];
monents.numberOfText = layout.rowCount;
CGFloat foldHeight = 0;
if (layout.rowCount > 6) {
foldHeight = kMONENTS_FOLD_HEIGHT;
NSInteger numberOfLines = monents.isFold ? 6 : 0;
container.maximumNumberOfRows = numberOfLines;
}
YYTextLayout *realLayout = [YYTextLayout layoutWithContainer:container text:monents.contentAttribute];
CGFloat contentHeight = realLayout.textBoundingSize.height;
monents.contentHeight =contentHeight;
return contentHeight + foldHeight;
}
+ (CGFloat)simpleMonentsPicHeight:(MonentsInfoModel *)monents {
///
NSInteger picCount = monents.dynamicResList.count;
CGFloat picHeight = 0;
if (picCount == 0) {
picHeight = 0;
} else if(picCount == 1) {
picHeight = kMONENTS_PIC_ONE_WIDTH;
} else if(picCount == 2) {
picHeight = (kSIMPLE_MONENTS_CONTENT_MAX_WIDTH - kMONENTS_PIC_SPACE) / 2;
} else {
if (picCount > 9) {
picCount = 9;
}
CGFloat itemWidth = (kSIMPLE_MONENTS_CONTENT_MAX_WIDTH - kMONENTS_PIC_SPACE * 2) / 3;
NSInteger page = picCount % 3;
NSInteger line = picCount / 3;
if (page == 0) {
picHeight = itemWidth * line + (line -1)* kMONENTS_PIC_SPACE;
} else {
picHeight = itemWidth * (line +1) + line * kMONENTS_PIC_SPACE;
}
}
monents.picHeight = picHeight;
return picHeight;
}
#pragma mark -
+ (void)layoutMonentsModel:(MonentsInfoModel *)monents {
CGFloat rowHeight = kMONENTS_USER_INFO_HEIGHT;
///
rowHeight += kMONENTS_CONTENT_SPACAE_HEIGHT;
///
rowHeight += [self monentsContentHeight:monents];
///
rowHeight += [self monentsPicHeight:monents];
///
if (monents.type == MonentsContentType_Picture && monents.content.length > 0) {
rowHeight += (kMONENTS_CONTENT_SPACAE_HEIGHT * 2);
}else {
rowHeight += kMONENTS_CONTENT_SPACAE_HEIGHT;
}
///
rowHeight += kMONENTS_TEXT_TOPIC_HEIGHT;
///
rowHeight += kMONENTS_TOOL_BAR_HEIGHT;
monents.rowHeight = rowHeight;
}
+ (CGFloat)monentsPicHeight:(MonentsInfoModel *)monents {
///
NSInteger picCount = monents.dynamicResList.count;
@@ -144,12 +225,10 @@
NSMutableAttributedString *attributedString = [[NSMutableAttributedString alloc] init];
if (monents.squareTop ) {///广
NSTextAttachment * attachment = [[NSTextAttachment alloc] init];
attachment.bounds = CGRectMake(0, 0, 10, 12);
attachment.bounds = CGRectMake(0, 0, 25 * 1.3 ,10 * 1.3);
attachment.image = [UIImage imageNamed:@"monents_info_top"];
NSAttributedString * starAttribute = [NSMutableAttributedString attributedStringWithAttachment:(NSTextAttachment *)attachment];
[attributedString insertAttributedString:starAttribute atIndex:0];
//
[attributedString appendAttributedString:[self creatStrAttrByStr:YMLocalizedString(@"XPMonentsLayoutConfig0") attributed:@{NSFontAttributeName : [UIFont systemFontOfSize:15], NSForegroundColorAttributeName: UIColorFromRGB(0xE84C46)}]];
}
[attributedString appendAttributedString:[self creatStrAttrByStr:monents.content attributed:@{NSFontAttributeName : [UIFont systemFontOfSize:15]}]];
attributedString.yy_lineSpacing = 5;
@@ -164,13 +243,13 @@
monents.numberOfText = layout.rowCount;
CGFloat foldHeight = 0;
if (layout.rowCount > 6) {
foldHeight = kMONENTS_FOLD_HEIGHT + kMONENTS_Content_Text_Space;
foldHeight = kMONENTS_FOLD_HEIGHT;
NSInteger numberOfLines = monents.isFold ? 6 : 0;
container.maximumNumberOfRows = numberOfLines;
}
YYTextLayout *realLayout = [YYTextLayout layoutWithContainer:container text:monents.contentAttribute];
CGFloat contentHeight = realLayout.textBoundingSize.height ;
monents.contentHeight = contentHeight + kMONENTS_Time_HEIGHT + kMONENTS_Content_Text_Space;
CGFloat contentHeight = realLayout.textBoundingSize.height;
monents.contentHeight =contentHeight;
return contentHeight + foldHeight;
}

View File

@@ -15,6 +15,8 @@ NS_ASSUME_NONNULL_BEGIN
///删除话题成功
- (void)deleteMonentsSuccess:(NSString *)monentsInfo;
///屏蔽
- (void)requesstShieldingSuccess:(NSString *)monentsInfo;
@end
NS_ASSUME_NONNULL_END

View File

@@ -1,8 +1,8 @@
//
// YMMonentsTableViewCell.h
// YUMI
// XPMonentsTableViewCell.h
// xplan-ios
//
// Created by YUMI on 2022/5/11.
// Created by 冯硕 on 2022/5/11.
//
#import <UIKit/UIKit.h>
@@ -20,12 +20,20 @@ NS_ASSUME_NONNULL_BEGIN
- (void)xPMonentsTableViewCell:(XPMonentsTableViewCell *)view didClicCommon:(MonentsInfoModel *)monentsInfo;
///点击了展开
- (void)xPMonentsTableViewCell:(XPMonentsTableViewCell *)view didClicFold:(MonentsInfoModel *)monentsInfo;
///屏蔽
- (void)xPMonentsTableViewCell:(XPMonentsTableViewCell *)view didClicShielding:(MonentsInfoModel *)monentsInfo;
@end
@interface XPMonentsTableViewCell : UITableViewCell
@property (nonatomic,strong) MonentsInfoModel *mineMonentsInfo;
@property (nonatomic,strong) MonentsInfoModel *monentsInfo;
@property (nonatomic,assign) BOOL isFillet;
///代理
@property (nonatomic,weak) id<XPMonentsTableViewCellDelegate> delegate;
@end
NS_ASSUME_NONNULL_END

View File

@@ -1,8 +1,8 @@
//
// YMMonentsTableViewCell.m
// YUMI
// XPMonentsTableViewCell.m
// xplan-ios
//
// Created by YUMI on 2022/5/11.
// Created by on 2022/5/11.
//
#import "XPMonentsTableViewCell.h"
@@ -10,13 +10,11 @@
#import <Masonry/Masonry.h>
///Tool
#import "DJDKMIMOMColor.h"
#import "NetImageView.h"
#import "XPMonentsLayoutConfig.h"
#import "SDPhotoBrowser.h"
#import "XCCurrentVCStackManager.h"
#import "NSArray+Safe.h"
#import "ClientConfig.h"
///Model
#import "MonentsInfoModel.h"
///View
@@ -28,7 +26,6 @@
#import "XPMonentsLayoutConfig.h"
#import "XPMonentTopicContainerViewController.h"
#import "XPMineUserInfoViewController.h"
#import "XPMineSimpleUserInfoViewController.h"
#import "XPRoomViewController.h"
@interface XPMonentsTableViewCell ()<XPMonentsTooBarViewDelegate, XPMonentsTooBarViewDelegate, XPMonentsPhotoViewDelegate, SDPhotoBrowserDelegate, XPMonentsUserInfoViewDelegate, XPMonentsContentViewDelegate>
/// stackView
@@ -45,271 +42,374 @@
@property (nonatomic,strong) XPMonentsTooBarView *toolBarView;
///
@property (nonatomic,strong) XPMoentsTopicView *topicView;
/// UIUI
@property (nonatomic,strong) NSString *identifier;
@property (nonatomic,strong) UIView *lineView;
@end
@implementation XPMonentsTableViewCell
- (instancetype)initWithStyle:(UITableViewCellStyle)style reuseIdentifier:(NSString *)reuseIdentifier {
if (self = [super initWithStyle:style reuseIdentifier:reuseIdentifier]) {
[self initSubViews];
[self initSubViewConstraints];
}
return self;
if (self = [super initWithStyle:style reuseIdentifier:reuseIdentifier]) {
if ([reuseIdentifier isEqualToString:@"XPMonentsDynamicTableViewCell"]) {
[self initDynamicSubViews];
[self initDynamicSubViewConstraints];
}else{
[self initSubViews];
[self initSubViewConstraints];
}
}
return self;
}
#pragma mark - Private Method
- (void)initSubViews {
self.backgroundColor = [UIColor clearColor];
self.selectionStyle = UITableViewCellSelectionStyleNone;
[self.contentView addSubview:self.backView];
- (void)initDynamicSubViews {
self.backgroundColor = [UIColor clearColor];
self.selectionStyle = UITableViewCellSelectionStyleNone;
[self.contentView addSubview:self.backView];
/// UI
if ([self.reuseIdentifier isEqualToString:NSStringFromClass([XPMonentsTableViewCell class])]){
[self.backView addSubview:self.userInfoView];
[self.backView addSubview:self.stackView];
[self.backView addSubview:self.toolBarView];
[self.stackView addArrangedSubview:self.textView];
[self.stackView addArrangedSubview:self.photoView];
[self.stackView addArrangedSubview:self.topicView];
}else{
/// UI
[self.backView addSubview:self.stackView];
[self.stackView addArrangedSubview:self.textView];
[self.stackView addArrangedSubview:self.photoView];
[self.stackView addArrangedSubview:self.topicView];
}
[self.backView addSubview:self.stackView];
[self.backView addSubview:self.toolBarView];
[self.stackView addArrangedSubview:self.textView];
[self.stackView addArrangedSubview:self.photoView];
[self.stackView addArrangedSubview:self.topicView];
[self.contentView addSubview:self.lineView];
}
- (void)initDynamicSubViewConstraints {
[self.backView mas_makeConstraints:^(MASConstraintMaker *make) {
make.left.mas_equalTo(15);
make.right.mas_equalTo(-15);
make.top.bottom.equalTo(self.contentView);
}];
[self.textView mas_makeConstraints:^(MASConstraintMaker *make) {
make.height.mas_equalTo(20);
}];
[self.stackView mas_makeConstraints:^(MASConstraintMaker *make) {
make.left.mas_equalTo(self.backView).offset(12);
make.right.mas_equalTo(self.backView).offset(-12);
make.top.mas_equalTo(13);
}];
[self.topicView mas_makeConstraints:^(MASConstraintMaker *make) {
make.height.mas_equalTo(kMONENTS_TEXT_TOPIC_HEIGHT);
}];
[self.photoView mas_makeConstraints:^(MASConstraintMaker *make) {
make.width.mas_equalTo(KScreenWidth-30);
}];
[self.toolBarView mas_makeConstraints:^(MASConstraintMaker *make) {
make.left.right.mas_equalTo(self.backView);
make.top.mas_equalTo(self.stackView.mas_bottom).mas_offset(10);
make.height.mas_equalTo(18);
}];
[self.lineView mas_makeConstraints:^(MASConstraintMaker *make) {
make.height.mas_equalTo(kGetScaleWidth(1));
make.left.right.equalTo(self.toolBarView).inset(12);
make.bottom.equalTo(self.contentView);
}];
}
- (void)initSubViews {
self.backgroundColor = [UIColor clearColor];
self.selectionStyle = UITableViewCellSelectionStyleNone;
[self.contentView addSubview:self.backView];
[self.backView addSubview:self.userInfoView];
[self.backView addSubview:self.stackView];
[self.backView addSubview:self.toolBarView];
[self.stackView addArrangedSubview:self.textView];
[self.stackView addArrangedSubview:self.photoView];
[self.stackView addArrangedSubview:self.topicView];
}
- (void)initSubViewConstraints {
/// UI
if ([self.reuseIdentifier isEqualToString:NSStringFromClass([XPMonentsTableViewCell class])]){
[self.backView mas_makeConstraints:^(MASConstraintMaker *make) {
make.edges.mas_equalTo(self.contentView);
}];
[self.userInfoView mas_makeConstraints:^(MASConstraintMaker *make) {
make.left.right.top.mas_equalTo(self.backView);
make.height.mas_equalTo(kMONENTS_USER_INFO_HEIGHT);
}];
[self.textView mas_makeConstraints:^(MASConstraintMaker *make) {
make.height.mas_equalTo(20);
}];
[self.stackView mas_makeConstraints:^(MASConstraintMaker *make) {
make.left.mas_equalTo(self.backView).offset(kMONENTS_CONTENT_LEFT_PADDING);
make.right.mas_equalTo(self.backView).offset(-kMONENTS_CONTENT_RIGHT_PADDING);
make.top.mas_equalTo(self.userInfoView.mas_bottom).offset(kMONENTS_CONTENT_SPACAE_HEIGHT);
}];
[self.topicView mas_makeConstraints:^(MASConstraintMaker *make) {
make.height.mas_equalTo(kMONENTS_TEXT_TOPIC_HEIGHT);
}];
[self.toolBarView mas_makeConstraints:^(MASConstraintMaker *make) {
make.left.right.mas_equalTo(self.backView);
make.top.mas_equalTo(self.stackView.mas_bottom);
make.height.mas_equalTo(kMONENTS_TOOL_BAR_HEIGHT);
}];
}else{
[self.backView mas_makeConstraints:^(MASConstraintMaker *make) {
make.edges.mas_equalTo(self.contentView);
}];
// UI
[self.textView mas_makeConstraints:^(MASConstraintMaker *make) {
make.height.mas_equalTo(20);
}];
[self.stackView mas_makeConstraints:^(MASConstraintMaker *make) {
make.left.mas_equalTo(self.backView).offset(12);
make.right.mas_equalTo(self.backView).offset(-12);
make.top.mas_equalTo(self.backView.mas_top).offset(kMONENTS_CONTENT_SPACAE_HEIGHT);
}];
[self.topicView mas_makeConstraints:^(MASConstraintMaker *make) {
make.height.mas_equalTo(kMONENTS_TEXT_TOPIC_HEIGHT);
}];
}
[self.backView mas_makeConstraints:^(MASConstraintMaker *make) {
make.edges.mas_equalTo(self.contentView);
}];
[self.userInfoView mas_makeConstraints:^(MASConstraintMaker *make) {
make.left.right.top.mas_equalTo(self.backView);
make.height.mas_equalTo(kMONENTS_USER_INFO_HEIGHT);
}];
[self.textView mas_makeConstraints:^(MASConstraintMaker *make) {
make.height.mas_equalTo(20);
}];
[self.stackView mas_makeConstraints:^(MASConstraintMaker *make) {
make.left.mas_equalTo(self.backView).offset(kMONENTS_CONTENT_LEFT_PADDING);
make.right.mas_equalTo(self.backView).offset(-kMONENTS_CONTENT_RIGHT_PADDING);
make.top.mas_equalTo(self.userInfoView.mas_bottom).offset(kMONENTS_CONTENT_SPACAE_HEIGHT);
}];
[self.topicView mas_makeConstraints:^(MASConstraintMaker *make) {
make.height.mas_equalTo(kMONENTS_TEXT_TOPIC_HEIGHT);
}];
[self.toolBarView mas_makeConstraints:^(MASConstraintMaker *make) {
make.left.right.mas_equalTo(self.backView);
make.top.mas_equalTo(self.stackView.mas_bottom);
make.height.mas_equalTo(kMONENTS_TOOL_BAR_HEIGHT);
}];
}
#pragma mark - XPMonentsUserInfoViewDelegate
- (void)xPMonentsUserInfoView:(XPMonentsUserInfoView *)view didClickEnterRoom:(MonentsInfoModel *)monents {
if (monents.inRoomUid.integerValue > 0) {
[XPRoomViewController openRoom:monents.inRoomUid viewController:[XCCurrentVCStackManager shareManager].getCurrentVC];
}
if (monents.inRoomUid.integerValue > 0) {
[XPRoomViewController openRoom:monents.inRoomUid viewController:[XCCurrentVCStackManager shareManager].getCurrentVC];
}
}
- (void)xPMonentsUserInfoView:(XPMonentsUserInfoView *)view didClickAvatar:(MonentsInfoModel *)monents {
if ([ClientConfig shareConfig].canOpen) {
XPMineUserInfoViewController * userInfoVC = [[XPMineUserInfoViewController alloc] init];
userInfoVC.uid = monents.uid.integerValue;
[[XCCurrentVCStackManager shareManager].getCurrentVC.navigationController pushViewController:userInfoVC animated:YES];
}else{
XPMineSimpleUserInfoViewController * userInfoVC = [[XPMineSimpleUserInfoViewController alloc] init];
userInfoVC.uid = monents.uid.integerValue;
[[XCCurrentVCStackManager shareManager].getCurrentVC.navigationController pushViewController:userInfoVC animated:YES];
XPMineUserInfoViewController * userInfoVC = [[XPMineUserInfoViewController alloc] init];
userInfoVC.uid = monents.uid.integerValue;
[[XCCurrentVCStackManager shareManager].getCurrentVC.navigationController pushViewController:userInfoVC animated:YES];
}
- (void)xPMonentsTooBarView:(XPMonentsUserInfoView *)view didClickDelete:(MonentsInfoModel *)monentsInfo {
if (self.delegate && [self.delegate respondsToSelector:@selector(xPMonentsTableViewCell:didClicDelete:)]) {
[self.delegate xPMonentsTableViewCell:self didClicDelete:monentsInfo];
}
}
#pragma mark - XPMonentsTooBarViewDelegate
- (void)xPMonentsTooBarView:(XPMonentsTooBarView *)view didClickLike:(MonentsInfoModel *)monentsInfo {
if (self.delegate && [self.delegate respondsToSelector:@selector(xPMonentsTableViewCell:didClickLike:)]) {
[self.delegate xPMonentsTableViewCell:self didClickLike:monentsInfo];
}
}
- (void)xPMonentsTooBarView:(XPMonentsTooBarView *)view didClickDelete:(MonentsInfoModel *)monentsInfo {
if (self.delegate && [self.delegate respondsToSelector:@selector(xPMonentsTableViewCell:didClicDelete:)]) {
[self.delegate xPMonentsTableViewCell:self didClicDelete:self.monentsInfo];
}
if (self.delegate && [self.delegate respondsToSelector:@selector(xPMonentsTableViewCell:didClickLike:)]) {
[self.delegate xPMonentsTableViewCell:self didClickLike:monentsInfo];
}
}
- (void)xPMonentsTooBarView:(XPMonentsTooBarView *)view didClickCommon:(MonentsInfoModel *)monentsInfo {
if (self.delegate && [self.delegate respondsToSelector:@selector(xPMonentsTableViewCell:didClicCommon:)]) {
[self.delegate xPMonentsTableViewCell:self didClicCommon:self.monentsInfo];
}
if (self.delegate && [self.delegate respondsToSelector:@selector(xPMonentsTableViewCell:didClicCommon:)]) {
[self.delegate xPMonentsTableViewCell:self didClicCommon:monentsInfo];
}
}
- (void)xPMonentsTooBarView:(XPMonentsTooBarView *)view didClickShielding:(MonentsInfoModel *)monentsInfo{
if (self.delegate && [self.delegate respondsToSelector:@selector(xPMonentsTableViewCell:didClicShielding:)]) {
[self.delegate xPMonentsTableViewCell:self didClicShielding:monentsInfo];
}
}
#pragma mark - XPMonentsContentViewDelegate
- (void)xPMonentsContentView:(XPMonentsContentView *)view didClickFold:(MonentsInfoModel *)monentsInfo {
if (self.delegate && [self.delegate respondsToSelector:@selector(xPMonentsTableViewCell:didClicFold:)]) {
[self.delegate xPMonentsTableViewCell:self didClicFold:monentsInfo];
}
if (self.delegate && [self.delegate respondsToSelector:@selector(xPMonentsTableViewCell:didClicFold:)]) {
[self.delegate xPMonentsTableViewCell:self didClicFold:monentsInfo];
}
}
#pragma mark - SDPhotoBrowserDelegate
- (NSURL *)photoBrowser:(SDPhotoBrowser *)browser highQualityImageURLForIndex:(NSInteger)index {
MonentsPicInfoModel *picinfo = [self.monentsInfo.dynamicResList safeObjectAtIndex1:index];
return [NSURL URLWithString:picinfo.resUrl];
NSArray *list = self.monentsInfo != nil ? self.monentsInfo.dynamicResList : self.mineMonentsInfo.dynamicResList;
if(index < list.count){
MonentsPicInfoModel *picinfo = [list safeObjectAtIndex1:index];
return [NSURL URLWithString:picinfo.resUrl];
}
return [NSURL URLWithString:@""];;
}
- (UIImage *)photoBrowser:(SDPhotoBrowser *)browser placeholderImageForIndex:(NSInteger)index {
return [UIImageConstant defalutBannerPlaceholder];
return [UIImageConstant defalutBannerPlaceholder];
}
#pragma mark - XPMonentsPhotoViewDelegate
- (void)xPMonentsPhotoView:(XPMonentsPhotoView *)view didClickImage:(NSInteger)index {
NSInteger count = self.monentsInfo.dynamicResList.count;
SDPhotoBrowser *browser = [[SDPhotoBrowser alloc]init];
browser.sourceImagesContainerView = self;
browser.delegate = self;
browser.imageCount = count;
browser.currentImageIndex = index;
browser.isMe = NO;
[browser show];
NSInteger count = self.monentsInfo != nil ? self.monentsInfo.dynamicResList.count : self.mineMonentsInfo.dynamicResList.count;
SDPhotoBrowser *browser = [[SDPhotoBrowser alloc]init];
browser.sourceImagesContainerView = self;
browser.delegate = self;
browser.imageCount = count;
browser.currentImageIndex = index;
browser.isMe = NO;
[browser show];
}
#pragma mark - Event Response
- (void)didTapTopicRecognizer {
if (self.monentsInfo.worldId > 0) {
XPMonentTopicContainerViewController * topicListVC = [[XPMonentTopicContainerViewController alloc] init];
topicListVC.worldId = [NSString stringWithFormat:@"%ld", self.monentsInfo.worldId];
[[XCCurrentVCStackManager shareManager].getCurrentVC.navigationController pushViewController:topicListVC animated:YES];
}
long worldId = self.monentsInfo != nil ? self.monentsInfo.worldId : self.mineMonentsInfo.worldId;
if (worldId > 0) {
XPMonentTopicContainerViewController * topicListVC = [[XPMonentTopicContainerViewController alloc] init];
topicListVC.worldId = [NSString stringWithFormat:@"%ld", worldId];
[[XCCurrentVCStackManager shareManager].getCurrentVC.navigationController pushViewController:topicListVC animated:YES];
}
}
#pragma mark - Getters And Setters
- (void)setMonentsInfo:(MonentsInfoModel *)monentsInfo {
_monentsInfo = monentsInfo;
if (_monentsInfo) {
self.userInfoView.monentsInfo = _monentsInfo;
self.textView.monentsInfo = _monentsInfo;
self.photoView.dynamicResList = _monentsInfo.dynamicResList;
self.topicView.monentsInfo = _monentsInfo;
self.toolBarView.monentsInfo = _monentsInfo;
if (_monentsInfo.type == MonentsContentType_Picture) {
self.photoView.hidden = NO;
CGFloat picHeight = _monentsInfo.picHeight <=0 ? [XPMonentsLayoutConfig monentsPicHeight:_monentsInfo] : _monentsInfo.picHeight;
[self.photoView mas_updateConstraints:^(MASConstraintMaker *make) {
make.height.mas_equalTo(picHeight);
}];
} else {
self.photoView.hidden = YES;
[self.photoView mas_updateConstraints:^(MASConstraintMaker *make) {
make.height.mas_equalTo(0);
}];
}
- (void)setIsFillet:(BOOL)isFillet{
_isFillet = isFillet;
CGFloat contentHeight = [XPMonentsLayoutConfig monentsContentHeight:_monentsInfo];
[self.textView mas_updateConstraints:^(MASConstraintMaker *make) {
make.height.mas_equalTo(contentHeight);
}];
}
if(_isFillet == YES){
_lineView.hidden = YES;
[_backView setCornerWithLeftTopCorner:0 rightTopCorner:0 bottomLeftCorner:8 bottomRightCorner:8 size:CGSizeMake(KScreenWidth-30, self.frame.size.height)];
}else{
_lineView.hidden = NO;
if(_backView.layer.mask != nil){
_backView.layer.mask = nil;
}
}
}
-(void)setMineMonentsInfo:(MonentsInfoModel *)mineMonentsInfo{
_mineMonentsInfo = mineMonentsInfo;
if (_mineMonentsInfo) {
self.userInfoView.monentsInfo = _mineMonentsInfo;
self.textView.monentsInfo = _mineMonentsInfo;
self.photoView.mineDynamicResList = _mineMonentsInfo.dynamicResList;
self.topicView.monentsInfo = _mineMonentsInfo;
self.toolBarView.monentsInfo = _mineMonentsInfo;
if (_mineMonentsInfo.type == MonentsContentType_Picture) {
self.photoView.hidden = NO;
CGFloat picHeight = _mineMonentsInfo.picHeight <=0 ? [XPMonentsLayoutConfig monentsPicHeight:_mineMonentsInfo] : _mineMonentsInfo.picHeight;
[self.photoView mas_updateConstraints:^(MASConstraintMaker *make) {
make.height.mas_equalTo(picHeight);
}];
} else {
self.photoView.hidden = YES;
[self.photoView mas_updateConstraints:^(MASConstraintMaker *make) {
make.height.mas_equalTo(0);
}];
}
CGFloat contentHeight = [XPMonentsLayoutConfig monentsContentHeight:_mineMonentsInfo] + 24;
self.topicView.hidden = _mineMonentsInfo.worldId <= 0;
if(_mineMonentsInfo.squareTop && _mineMonentsInfo.content.length == 0){
[self.textView mas_updateConstraints:^(MASConstraintMaker *make) {
make.height.mas_equalTo(contentHeight + 20);
}];
}else{
[self.textView mas_updateConstraints:^(MASConstraintMaker *make) {
make.height.mas_equalTo(contentHeight);
}];
}
}
}
- (void)setMonentsInfo:(MonentsInfoModel *)monentsInfo {
_monentsInfo = monentsInfo;
if (_monentsInfo) {
self.userInfoView.monentsInfo = _monentsInfo;
self.textView.monentsInfo = _monentsInfo;
self.photoView.dynamicResList = _monentsInfo.dynamicResList;
self.topicView.monentsInfo = _monentsInfo;
self.toolBarView.monentsInfo = _monentsInfo;
if (_monentsInfo.type == MonentsContentType_Picture) {
self.photoView.hidden = NO;
CGFloat picHeight = _monentsInfo.picHeight <=0 ? [XPMonentsLayoutConfig monentsPicHeight:_monentsInfo] : _monentsInfo.picHeight;
[self.photoView mas_updateConstraints:^(MASConstraintMaker *make) {
make.height.mas_equalTo(picHeight);
}];
} else {
self.photoView.hidden = YES;
[self.photoView mas_updateConstraints:^(MASConstraintMaker *make) {
make.height.mas_equalTo(0);
}];
}
CGFloat contentHeight = [XPMonentsLayoutConfig monentsContentHeight:_monentsInfo] + 24;
self.topicView.hidden = monentsInfo.worldId <= 0;
if(_monentsInfo.squareTop && _monentsInfo.content.length == 0){
[self.textView mas_updateConstraints:^(MASConstraintMaker *make) {
make.height.mas_equalTo(contentHeight + 20);
}];
}else{
[self.textView mas_updateConstraints:^(MASConstraintMaker *make) {
make.height.mas_equalTo(contentHeight);
}];
}
}
}
- (UIView *)backView {
if (!_backView) {
_backView = [[UIView alloc] init];
_backView.backgroundColor = [DJDKMIMOMColor appCellBackgroundColor];
}
return _backView;
if (!_backView) {
_backView = [[UIView alloc] init];
_backView.backgroundColor = [DJDKMIMOMColor appCellBackgroundColor];
}
return _backView;
}
- (XPMonentsUserInfoView *)userInfoView {
if (!_userInfoView) {
_userInfoView = [[XPMonentsUserInfoView alloc] init];
_userInfoView.delegate = self;
}
return _userInfoView;
if (!_userInfoView) {
_userInfoView = [[XPMonentsUserInfoView alloc] init];
_userInfoView.delegate = self;
}
return _userInfoView;
}
- (XPMonentsPhotoView *)photoView {
if (!_photoView) {
_photoView = [[XPMonentsPhotoView alloc] init];
_photoView.delegate = self;
}
return _photoView;
if (!_photoView) {
_photoView = [[XPMonentsPhotoView alloc] init];
_photoView.delegate = self;
}
return _photoView;
}
- (UIStackView *)stackView {
if (!_stackView) {
_stackView = [[UIStackView alloc] init];
_stackView.axis = UILayoutConstraintAxisVertical;
_stackView.distribution = UIStackViewDistributionFill;
_stackView.alignment = UIStackViewAlignmentFill;
_stackView.spacing = kMONENTS_CONTENT_SPACAE_HEIGHT;
}
return _stackView;
if (!_stackView) {
_stackView = [[UIStackView alloc] init];
_stackView.axis = UILayoutConstraintAxisVertical;
_stackView.distribution = UIStackViewDistributionFill;
_stackView.alignment = UIStackViewAlignmentFill;
_stackView.spacing = 8;
}
return _stackView;
}
- (XPMonentsContentView *)textView {
if (!_textView) {
_textView = [[XPMonentsContentView alloc] init];
_textView.delegate = self;
/// UI
if ([self.reuseIdentifier isEqualToString:NSStringFromClass([XPMonentsTableViewCell class])]){
_textView.isSimple = NO;
}else{
/// UI
_textView.isSimple = YES;
}
}
return _textView;
if (!_textView) {
_textView = [[XPMonentsContentView alloc] init];
_textView.delegate = self;
}
return _textView;
}
- (XPMoentsTopicView *)topicView {
if (!_topicView) {
_topicView = [[XPMoentsTopicView alloc] init];
UITapGestureRecognizer * tap = [[UITapGestureRecognizer alloc] initWithTarget:self action:@selector(didTapTopicRecognizer)];
[_topicView addGestureRecognizer:tap];
}
return _topicView;
if (!_topicView) {
_topicView = [[XPMoentsTopicView alloc] initWithFrame:CGRectZero];
UITapGestureRecognizer * tap = [[UITapGestureRecognizer alloc] initWithTarget:self action:@selector(didTapTopicRecognizer)];
[_topicView addGestureRecognizer:tap];
}
return _topicView;
}
- (XPMonentsTooBarView *)toolBarView {
if (!_toolBarView) {
_toolBarView = [[XPMonentsTooBarView alloc] init];
_toolBarView.delegate = self;
}
return _toolBarView;
if (!_toolBarView) {
if ([self.reuseIdentifier isEqualToString:@"XPMonentsDynamicTableViewCell"]){
_toolBarView = [[XPMonentsTooBarView alloc]initDynamicWithFrame:CGRectZero];
}else{
_toolBarView = [[XPMonentsTooBarView alloc] init];
}
_toolBarView.delegate = self;
}
return _toolBarView;
}
- (UIView *)lineView{
if (!_lineView){
_lineView = [UIView new];
_lineView.backgroundColor = UIColorFromRGB(0xF7F7F7);
}
return _lineView;
}
@end

View File

@@ -18,6 +18,7 @@ NS_ASSUME_NONNULL_BEGIN
@interface XPMonentsPhotoView : UIView
///发布的内容
@property (nonatomic,copy) NSArray<MonentsPicInfoModel *> *dynamicResList;
@property (nonatomic,copy) NSArray<MonentsPicInfoModel *> *mineDynamicResList;
///代理
@property (nonatomic,weak) id<XPMonentsPhotoViewDelegate> delegate;
@end

View File

@@ -78,6 +78,72 @@
#pragma mark - Getters And Setters
-(void)setMineDynamicResList:(NSArray<MonentsPicInfoModel *> *)mineDynamicResList{
_mineDynamicResList = mineDynamicResList;
[self hiddenAllImageView];
if ( _mineDynamicResList.count == 0) {
} else if ( _mineDynamicResList.count == 1) {
self.firstImageView.hidden = NO;
[self.firstImageView mas_remakeConstraints:^(MASConstraintMaker *make) {
make.size.mas_equalTo(CGSizeMake(KScreenWidth-27*2, KScreenWidth-27*2));
make.left.top.mas_equalTo(self);
}];
MonentsPicInfoModel * picInfo = [ _mineDynamicResList safeObjectAtIndex1:0];
if(picInfo != nil){
self.firstImageView.imageUrl = picInfo.resUrl;
}
} else if( _mineDynamicResList.count == 2) {
self.firstImageView.hidden = NO;
CGFloat itemWidth = (KScreenWidth-27*2 - kMONENTS_PIC_SPACE) / 2;
[self.firstImageView mas_remakeConstraints:^(MASConstraintMaker *make) {
make.size.mas_equalTo(CGSizeMake(itemWidth, itemWidth));
make.left.top.mas_equalTo(self);
}];
MonentsPicInfoModel * picInfo = [ _mineDynamicResList safeObjectAtIndex1:0];
if(picInfo != nil){
self.firstImageView.imageUrl = picInfo.resUrl;
self.secondImageView.hidden = NO;
[self.secondImageView mas_remakeConstraints:^(MASConstraintMaker *make) {
make.size.mas_equalTo(CGSizeMake(itemWidth, itemWidth));
make.top.mas_equalTo(self);
make.left.mas_equalTo(self.firstImageView.mas_right).offset(kMONENTS_PIC_SPACE);
}];
}
MonentsPicInfoModel * secondPicInfo = [ _mineDynamicResList safeObjectAtIndex1:1];
if(secondPicInfo != nil){
self.secondImageView.imageUrl = secondPicInfo.resUrl;
}
} else{
for (int i = 0; i < _mineDynamicResList.count; i++) {
MonentsPicInfoModel * picInfo = [ _mineDynamicResList safeObjectAtIndex1:i];
if (i < self.subViewArray.count) {
NetImageView * imageView = [self.subViewArray safeObjectAtIndex1:i];
imageView.hidden = NO;
imageView.imageUrl = picInfo.resUrl;
}
}
CGFloat itemWidth = (KScreenWidth-27*2 - kMONENTS_PIC_SPACE * 2) / 3;
for (int i = 0; i < self.subViewArray.count; i++) {
NSInteger page = i % 3;
NSInteger line = i / 3;
NetImageView * imageView = [self.subViewArray safeObjectAtIndex1:i];
if(imageView == nil)return;
[imageView mas_remakeConstraints:^(MASConstraintMaker *make) {
make.size.mas_equalTo(CGSizeMake(itemWidth, itemWidth));
make.left.mas_equalTo(page * (itemWidth + kMONENTS_PIC_SPACE));
make.top.mas_equalTo(line * (itemWidth + kMONENTS_PIC_SPACE));
}];
}
}
}
- (void)setDynamicResList:(NSArray<MonentsPicInfoModel *> *)dynamicResList {
_dynamicResList = dynamicResList;
[self hiddenAllImageView];

View File

@@ -1,8 +1,8 @@
//
// YMMonentsTooBarView.h
// YUMI
// XPMonentsTooBarView.h
// xplan-ios
//
// Created by YUMI on 2022/5/12.
// Created by 冯硕 on 2022/5/12.
//
#import <UIKit/UIKit.h>
@@ -12,16 +12,21 @@ NS_ASSUME_NONNULL_BEGIN
@protocol XPMonentsTooBarViewDelegate <NSObject>
///点赞
- (void)xPMonentsTooBarView:(XPMonentsTooBarView *)view didClickLike:(MonentsInfoModel *)monentsInfo;
///删除
- (void)xPMonentsTooBarView:(XPMonentsTooBarView *)view didClickDelete:(MonentsInfoModel *)monentsInfo;
///评论
- (void)xPMonentsTooBarView:(XPMonentsTooBarView *)view didClickCommon:(MonentsInfoModel *)monentsInfo;
///删除
- (void)xPMonentsTooBarView:(XPMonentsTooBarView *)view didClickDelete:(MonentsInfoModel *)monentsInfo;
///屏蔽
- (void)xPMonentsTooBarView:(XPMonentsTooBarView *)view didClickShielding:(MonentsInfoModel *)monentsInfo;
@end
@interface XPMonentsTooBarView : UIView
@property (nonatomic,strong) MonentsInfoModel *monentsInfo;
///代理
@property (nonatomic,weak) id<XPMonentsTooBarViewDelegate> delegate;
///从进入主态时初始化
- (instancetype)initDynamicWithFrame:(CGRect)frame;
@end
NS_ASSUME_NONNULL_END

View File

@@ -1,24 +1,19 @@
//
// YMMonentsTooBarView.m
// YUMI
// XPMonentsTooBarView.m
// xplan-ios
//
// Created by YUMI on 2022/5/12.
// Created by on 2022/5/12.
//
#import "XPMonentsTooBarView.h"
///Third
#import <Masonry/Masonry.h>
#import <NIMSDK/NIMSDK.h>
///Tool
#import "DJDKMIMOMColor.h"
#import "TTPopup.h"
#import "YUMIHtmlUrl.h"
#import "XPShareView.h"
#import "XNDJTDDLoadingTool.h"
#import "YUMIMacroUitls.h"
#import "YUMIHtmlUrl.h"
#import "AccountInfoStorage.h"
#import "Api+Monents.h"
#import "ClientConfig.h"
///Model
#import "MonentsInfoModel.h"
///View
@@ -26,8 +21,6 @@
#import "XCCurrentVCStackManager.h"
@interface XPMonentsTooBarView ()<XCShareViewDelegate>
///
@property (nonatomic,strong) UIButton *reportButton;
///
@property (nonatomic,strong) UIView * likeView;
///
@@ -44,270 +37,389 @@
@property (nonatomic,strong) UIButton *shareButton;
///线
@property (nonatomic,strong) UIView * lineView;
///
@property (nonatomic,strong) UIButton *reportButton;
///
@property (nonatomic,assign) BOOL isMyMonents;
@end
@implementation XPMonentsTooBarView
- (instancetype)initDynamicWithFrame:(CGRect)frame{
self = [super initWithFrame:frame];
if (self) {
self.isMyMonents = YES;
[self initSubViews];
[self initSubViewConstraints];
}
return self;
}
- (instancetype)initWithFrame:(CGRect)frame {
self = [super initWithFrame:frame];
if (self) {
[self initSubViews];
[self initSubViewConstraints];
}
return self;
self = [super initWithFrame:frame];
if (self) {
[self initSubViews];
[self initSubViewConstraints];
}
return self;
}
#pragma mark - Private Method
- (void)initSubViews {
[self addSubview:self.reportButton];
[self addSubview:self.likeView];
[self addSubview:self.commentView];
[self addSubview:self.shareButton];
[self addSubview:self.lineView];
[self.likeView addSubview:self.likeButton];
[self.likeView addSubview:self.likeLabel];
[self.commentView addSubview:self.commentButton];
[self.commentView addSubview:self.commentLabel];
[self addSubview:self.likeView];
[self addSubview:self.commentView];
[self addSubview:self.shareButton];
[self addSubview:self.lineView];
[self addSubview:self.reportButton];
[self.likeView addSubview:self.likeButton];
[self.likeView addSubview:self.likeLabel];
[self.commentView addSubview:self.commentButton];
[self.commentView addSubview:self.commentLabel];
}
- (void)initSubViewConstraints {
[self.reportButton mas_makeConstraints:^(MASConstraintMaker *make) {
make.left.mas_equalTo(self).offset(70);
make.top.mas_equalTo(self).offset(24);
make.size.mas_equalTo(CGSizeMake(22, 22));
}];
[self.likeView mas_makeConstraints:^(MASConstraintMaker *make) {
make.left.mas_equalTo(self.likeButton.mas_left);
make.height.mas_equalTo(22);
make.centerY.mas_equalTo(self.reportButton);
make.right.mas_equalTo(self.commentView.mas_left).offset(-12);
}];
[self.likeLabel mas_makeConstraints:^(MASConstraintMaker *make) {
make.right.mas_equalTo(self.likeView.mas_right).offset(-3);
make.centerY.mas_equalTo(self.likeView);
}];
[self.likeButton mas_makeConstraints:^(MASConstraintMaker *make) {
make.size.mas_equalTo(CGSizeMake(22, 22));
make.centerY.mas_equalTo(self.likeView);
make.right.mas_equalTo(self.likeLabel.mas_left).offset(-3);
}];
[self.commentView mas_makeConstraints:^(MASConstraintMaker *make) {
make.left.mas_equalTo(self.commentButton.mas_left).offset(-2);
make.height.mas_equalTo(22);
make.centerY.mas_equalTo(self.reportButton);
make.right.mas_equalTo(self.shareButton.mas_left).offset(-12);
}];
if (self.isMyMonents) {
[self.likeView mas_makeConstraints:^(MASConstraintMaker *make) {
make.left.mas_equalTo(12);
make.height.mas_equalTo(18);
make.top.mas_equalTo(self).offset(0);
make.width.greaterThanOrEqualTo(@62);
}];
[self.likeButton mas_makeConstraints:^(MASConstraintMaker *make) {
make.size.mas_equalTo(CGSizeMake(18, 18));
make.centerY.mas_equalTo(self.likeView);
make.left.mas_equalTo(self.likeView);
}];
[self.likeLabel mas_makeConstraints:^(MASConstraintMaker *make) {
make.left.equalTo(self.likeButton.mas_right).mas_offset(4);
make.right.equalTo(self.likeView);
make.centerY.mas_equalTo(self.likeView);
}];
[self.commentButton mas_makeConstraints:^(MASConstraintMaker *make) {
make.size.mas_equalTo(CGSizeMake(22, 22));
make.centerY.mas_equalTo(self.commentView);
make.right.mas_equalTo(self.commentLabel.mas_left).offset(-2);
}];
[self.commentLabel mas_makeConstraints:^(MASConstraintMaker *make) {
make.right.mas_equalTo(self.commentView.mas_right).offset(-3);
make.centerY.mas_equalTo(self.commentView);
}];
[self.shareButton mas_makeConstraints:^(MASConstraintMaker *make) {
make.size.mas_equalTo(CGSizeMake(22, 22));
make.right.mas_equalTo(self).offset(-32);
make.centerY.mas_equalTo(self.reportButton);
}];
[self.lineView mas_makeConstraints:^(MASConstraintMaker *make) {
make.left.right.mas_equalTo(self).inset(16);
make.bottom.mas_equalTo(self);
make.height. mas_equalTo(1);
}];
[self.commentView mas_makeConstraints:^(MASConstraintMaker *make) {
make.centerY.height.mas_equalTo(self.likeView);
make.width.greaterThanOrEqualTo(@62);
make.left.mas_equalTo(self.likeView.mas_right).offset(5);
}];
[self.commentButton mas_makeConstraints:^(MASConstraintMaker *make) {
make.size.mas_equalTo(CGSizeMake(18, 18));
make.centerY.mas_equalTo(self.commentView);
make.left.mas_equalTo(self.commentView);
}];
[self.commentLabel mas_makeConstraints:^(MASConstraintMaker *make) {
make.left.mas_equalTo(self.commentButton.mas_right).offset(4);
make.centerY.mas_equalTo(self.commentView);
make.right.equalTo(self.commentView);
}];
[self.shareButton mas_makeConstraints:^(MASConstraintMaker *make) {
make.width.height.centerY.equalTo(self.likeView);
make.left.mas_equalTo(self.commentView.mas_right).mas_offset(5);
}];
[self.reportButton mas_makeConstraints:^(MASConstraintMaker *make) {
make.right.mas_equalTo(self).offset(-12);
make.centerY.mas_equalTo(self.commentView);
make.size.mas_equalTo(CGSizeMake(22, 22));
}];
} else {
self.lineView.hidden = YES;
[self.likeView mas_makeConstraints:^(MASConstraintMaker *make) {
make.left.mas_equalTo(18);
make.height.mas_equalTo(18);
make.top.mas_equalTo(self).offset(10);
make.width.greaterThanOrEqualTo(@62);
}];
[self.likeButton mas_makeConstraints:^(MASConstraintMaker *make) {
make.size.mas_equalTo(CGSizeMake(18, 18));
make.centerY.mas_equalTo(self.likeView);
make.left.mas_equalTo(self.likeView);
}];
[self.likeLabel mas_makeConstraints:^(MASConstraintMaker *make) {
make.left.equalTo(self.likeButton.mas_right).mas_offset(4);
make.right.equalTo(self.likeView);
make.centerY.mas_equalTo(self.likeView);
}];
[self.commentView mas_makeConstraints:^(MASConstraintMaker *make) {
make.centerY.height.mas_equalTo(self.likeView);
make.width.greaterThanOrEqualTo(@62);
make.left.mas_equalTo(self.likeView.mas_right).offset(5);
}];
[self.commentButton mas_makeConstraints:^(MASConstraintMaker *make) {
make.size.mas_equalTo(CGSizeMake(18, 18));
make.centerY.mas_equalTo(self.commentView);
make.left.mas_equalTo(self.commentView);
}];
[self.commentLabel mas_makeConstraints:^(MASConstraintMaker *make) {
make.left.mas_equalTo(self.commentButton.mas_right).offset(4);
make.centerY.mas_equalTo(self.commentView);
make.right.equalTo(self.commentView);
}];
[self.shareButton mas_makeConstraints:^(MASConstraintMaker *make) {
make.width.height.centerY.equalTo(self.likeView);
make.left.mas_equalTo(self.commentView.mas_right).mas_offset(5);
}];
[self.reportButton mas_makeConstraints:^(MASConstraintMaker *make) {
make.right.mas_equalTo(self).offset(-18);
make.centerY.mas_equalTo(self.commentView);
make.size.mas_equalTo(CGSizeMake(22, 22));
}];
}
}
#pragma mark - Event Response
- (void)reportButtonAction:(UIButton *)sender {
NSMutableArray *array = [NSMutableArray array];
TTActionSheetConfig *action1;
if (self.monentsInfo.uid.integerValue == [AccountInfoStorage instance].getUid.integerValue) {
action1 = [TTActionSheetConfig normalTitle:YMLocalizedString(@"XPMonentsTooBarView0") clickAction:^{
if (self.delegate && [self.delegate respondsToSelector:@selector(xPMonentsTooBarView:didClickDelete:)]) {
[self.delegate xPMonentsTooBarView:self didClickDelete:self.monentsInfo];
}
}];
[TTPopup actionSheetWithItems:@[action1]];
} else {
TTActionSheetConfig *action = [TTActionSheetConfig normalTitle:YMLocalizedString(@"XPMonentsTooBarView8") clickAction:^{
if (self.delegate && [self.delegate respondsToSelector:@selector(xPMonentsTooBarView:didClickShielding:)]) {
[self.delegate xPMonentsTooBarView:self didClickShielding:self.monentsInfo];
}
}];
TTActionSheetConfig *black = [TTActionSheetConfig normalTitle:YMLocalizedString(@"XPMineUserInfoViewController1") clickAction:^{
[self addOrRemoveBlack:NO uid:self.monentsInfo.uid];
}];
[array addObjectsFromArray:@[action, black]];
BOOL isInBlackList = [[NIMSDK sharedSDK]. userManager isUserInBlackList:self.monentsInfo.uid] || [self isSystemAccount];
if (isInBlackList) {
[array removeObject:black];
}
action1 = [TTActionSheetConfig normalTitle:YMLocalizedString(@"XPMonentsTooBarView1") clickAction:^{
NSString * url= [NSString stringWithFormat:@"%@?reportUid=%@&source=%@", URLWithType(kReportRoomURL),self.monentsInfo.uid, @"WORLDDYNAMIC"];
XPWebViewController * webVC = [[XPWebViewController alloc] init];
webVC.url = url;
[[XCCurrentVCStackManager shareManager].getCurrentVC.navigationController pushViewController:webVC animated:YES];
}];
[array addObject:action1];
[TTPopup actionSheetWithItems:array];
}
}
- (BOOL)isSystemAccount {
return [KeyWithType(KeyType_SecretaryUidKey) isEqualToString:[NSString stringWithFormat:@"%@", self.monentsInfo.uid]] || [KeyWithType(KeyType_SystemNotifiUidKey) isEqualToString:[NSString stringWithFormat:@"%@", self.monentsInfo.uid]] || [KeyWithType(KeyType_GuildUidKey) isEqualToString:[NSString stringWithFormat:@"%@", self.monentsInfo.uid]];
}
//
- (void)addOrRemoveBlack:(BOOL)isRemove uid:(NSString *)uid {
NSString *title;
NSString *message;
if (isRemove) {
title = YMLocalizedString(@"XPMineUserInfoViewController2");
message = YMLocalizedString(@"XPMineUserInfoViewController3");
}else{
title = YMLocalizedString(@"XPMineUserInfoViewController4");
message = YMLocalizedString(@"XPMineUserInfoViewController5");
}
TTAlertConfig *config = [[TTAlertConfig alloc] init];
config.title = title;
config.message = message;
[TTPopup alertWithConfig:config confirmHandler:^{
if (isRemove) {
[[NIMSDK sharedSDK].userManager removeFromBlackBlackList:uid completion:^(NSError * _Nullable error) {
if (error == nil) {
[XNDJTDDLoadingTool showSuccessWithMessage:YMLocalizedString(@"XPMineUserInfoViewController6")];
}
}];
} else {
[[NIMSDK sharedSDK].userManager addToBlackList:uid completion:^(NSError * _Nullable error) {
if (error == nil) {
[XNDJTDDLoadingTool showSuccessWithMessage:YMLocalizedString(@"XPMineUserInfoViewController7")];
}
}];
}
} cancelHandler:^{
}];
}
- (void)commonButtonAction:(UIButton *)sender {
if (self.delegate && [self.delegate respondsToSelector:@selector(xPMonentsTooBarView:didClickCommon:)]) {
self.commentButton.userInteractionEnabled = YES;
[self.delegate xPMonentsTooBarView:self didClickCommon:self.monentsInfo];
} else {
self.commentButton.userInteractionEnabled = NO;
}
if (self.delegate && [self.delegate respondsToSelector:@selector(xPMonentsTooBarView:didClickCommon:)]) {
self.commentButton.userInteractionEnabled = YES;
[self.delegate xPMonentsTooBarView:self didClickCommon:self.monentsInfo];
} else {
self.commentButton.userInteractionEnabled = NO;
}
}
- (void)likeButtonAction:(UIButton *)sender {
if (self.delegate && [self.delegate respondsToSelector:@selector(xPMonentsTooBarView:didClickLike:)]) {
[self.delegate xPMonentsTooBarView:self didClickLike:self.monentsInfo];
}
}
- (void)reportButtonAction:(UIButton *)sender {
TTActionSheetConfig *action;
if (self.monentsInfo.uid.integerValue == [AccountInfoStorage instance].getUid.integerValue) {
action = [TTActionSheetConfig normalTitle:YMLocalizedString(@"XPMonentsTooBarView0") clickAction:^{
if (self.delegate && [self.delegate respondsToSelector:@selector(xPMonentsTooBarView:didClickDelete:)]) {
[self.delegate xPMonentsTooBarView:self didClickDelete:self.monentsInfo];
}
}];
} else {
action = [TTActionSheetConfig normalTitle:YMLocalizedString(@"XPMonentsTooBarView1") clickAction:^{
if ([ClientConfig shareConfig].canOpen) {
NSString * url= [NSString stringWithFormat:@"%@?reportUid=%@&source=%@", URLWithType(kReportRoomURL),self.monentsInfo.uid, @"WORLDDYNAMIC"];
XPWebViewController * webVC = [[XPWebViewController alloc] init];
webVC.url = url;
[[XCCurrentVCStackManager shareManager].getCurrentVC.navigationController pushViewController:webVC animated:YES];
} else {
[XNDJTDDLoadingTool showErrorWithMessage:YMLocalizedString(@"XPMonentsTooBarView2")];
}
}];
}
[TTPopup actionSheetWithItems:@[action]];
if (self.delegate && [self.delegate respondsToSelector:@selector(xPMonentsTooBarView:didClickLike:)]) {
[self.delegate xPMonentsTooBarView:self didClickLike:self.monentsInfo];
}
}
- (void)shareButtonAction:(UIButton *)sender {
XPShareItem *friend = [XPShareItem itemWitTag:XPShareItemTagAppFriends title:YMLocalizedString(@"XPMonentsTooBarView3") imageName:@"share_friend" disableImageName:@"share_friend"];
XPShareItem *cycle = [XPShareItem itemWitTag:XPShareItemTagMoments title:YMLocalizedString(@"XPMonentsTooBarView4") imageName:@"share_wechat_circle_normal" disableImageName:@"share_wechat_circle_disable"];
XPShareItem *wechat = [XPShareItem itemWitTag:XPShareItemTagWeChat title:YMLocalizedString(@"XPMonentsTooBarView5") imageName:@"share_wechat_normal" disableImageName:@"share_wechat_disable"];
XPShareItem *qq = [XPShareItem itemWitTag:XPShareItemTagQQ title:YMLocalizedString(@"XPMonentsTooBarView6") imageName:@"share_qq_normal" disableImageName:@"share_qq_disable"];
XPShareItem *qqzone = [XPShareItem itemWitTag:XPShareItemTagQQZone title:YMLocalizedString(@"XPMonentsTooBarView7") imageName:@"share_qqzone_normal" disableImageName:@"share_qqzone_disable"];
NSArray * items = @[wechat,cycle, qq, qqzone];
CGFloat margin = 15;
CGSize itemSize = CGSizeMake((KScreenWidth-2*margin)/4, 65);
XPShareInfoModel * shareInfo = [[XPShareInfoModel alloc] init];
NSString * title= self.monentsInfo.nick;
if (self.monentsInfo.nick.length > 6) {
title = [title substringToIndex:6];
}
shareInfo.nick = title;
shareInfo.content = self.monentsInfo.content;
shareInfo.imageUrl = self.monentsInfo.avatar;
shareInfo.shareTitle = [NSString stringWithFormat:YMLocalizedString(@"XPMonentsTooBarView8"), title];
shareInfo.shareContent = self.monentsInfo.content;
shareInfo.shareImageUrl = self.monentsInfo.avatar;
NSString * uid = [AccountInfoStorage instance].getUid;
NSString *urlStr = [NSString stringWithFormat:@"%@/%@?uid=%@&dynamicId=%@&worldId=%ld",API_HOST_URL, URLWithType(kMonentsShareURL), uid, self.monentsInfo.dynamicId, self.monentsInfo.worldId];
shareInfo.shareUrl = urlStr;
shareInfo.dynamicId = self.monentsInfo.dynamicId;
shareInfo.uid = self.monentsInfo.uid;
shareInfo.worldId = [NSString stringWithFormat:@"%ld", self.monentsInfo.worldId];
XPShareView *shareView = [[XPShareView alloc] initWithItems:items itemSize:itemSize shareInfo:shareInfo];
shareView.delegate = self;
[TTPopup popupView:shareView style:TTPopupStyleActionSheet];
XPShareItem *cycle = [XPShareItem itemWitTag:XPShareItemTagFaceBook title:@"FaceBook" imageName:@"share_fb" disableImageName:@"share_fb"];
XPShareItem *wechat = [XPShareItem itemWitTag:XPShareItemTagLine title:@"Line" imageName:@"share_line" disableImageName:@"share_line"];
XPShareItem *qq = [XPShareItem itemWitTag:XPShareItemTagCopyLink title:YMLocalizedString(@"RoomHeaderView3") imageName:@"share_copy_link" disableImageName:@"share_copy_link"];
NSArray * items = @[wechat,cycle, qq];
CGFloat margin = 15;
CGSize itemSize = CGSizeMake((KScreenWidth-2*margin)/4, 65);
XPShareInfoModel * shareInfo = [[XPShareInfoModel alloc] init];
NSString * title= self.monentsInfo.nick;
if (self.monentsInfo.nick.length > 6) {
title = [title substringToIndex:6];
}
shareInfo.nick = title;
shareInfo.content = self.monentsInfo.content;
shareInfo.imageUrl = self.monentsInfo.avatar;
shareInfo.shareTitle = [NSString stringWithFormat:YMLocalizedString(@"XPMonentsTooBarView7"), title];
shareInfo.shareContent = self.monentsInfo.content;
shareInfo.shareImageUrl = self.monentsInfo.avatar;
NSString * uid = [AccountInfoStorage instance].getUid;
NSString *urlStr = [NSString stringWithFormat:@"%@/%@?uid=%@&dynamicId=%@&worldId=%ld",API_HOST_URL, URLWithType(kMonentsShareURL), uid, self.monentsInfo.dynamicId, self.monentsInfo.worldId];
shareInfo.shareUrl = urlStr;
shareInfo.dynamicId = self.monentsInfo.dynamicId;
shareInfo.uid = self.monentsInfo.uid;
shareInfo.worldId = [NSString stringWithFormat:@"%ld", self.monentsInfo.worldId];
XPShareView *shareView = [[XPShareView alloc] initWithItems:items itemSize:itemSize shareInfo:shareInfo];
shareView.delegate = self;
[TTPopup popupView:shareView style:TTPopupStyleActionSheet];
}
#pragma mark - #pragma mark - XCShareViewDelegate
- (void)shareView:(XPShareView *)shareView shareFail:(NSString *)message {
[TTPopup dismiss];
[XNDJTDDLoadingTool showErrorWithMessage:message];
[TTPopup dismiss];
[XNDJTDDLoadingTool showErrorWithMessage:message];
}
- (void)shareView:(XPShareView *)shareView didSuccess:(XPShareInfoModel *)shareInfo{
[Api userShareMonents:^(BaseModel * _Nullable data, NSInteger code, NSString * _Nullable msg) {
} dynamicId:shareInfo.dynamicId uid:shareInfo.uid worldId:shareInfo.worldId shareUid:[AccountInfoStorage instance].getUid];
[TTPopup dismiss];
[Api userShareMonents:^(BaseModel * _Nullable data, NSInteger code, NSString * _Nullable msg) {
} dynamicId:shareInfo.dynamicId uid:shareInfo.uid worldId:shareInfo.worldId shareUid:[AccountInfoStorage instance].getUid];
[TTPopup dismiss];
}
- (void)shareViewDidClickCancel:(XPShareView *)shareView {
[TTPopup dismiss];
[TTPopup dismiss];
}
#pragma mark - Getters And Setters
- (void)setMonentsInfo:(MonentsInfoModel *)monentsInfo {
_monentsInfo = monentsInfo;
if (_monentsInfo) {
self.likeButton.selected = _monentsInfo.isLike;
self.likeLabel.text = _monentsInfo.likeCount.length > 0 ? _monentsInfo.likeCount : @"0";
self.commentLabel.text = _monentsInfo.commentCount.length > 0 ? _monentsInfo.commentCount : @"0";
}
_monentsInfo = monentsInfo;
if (_monentsInfo) {
self.likeButton.selected = _monentsInfo.isLike;
self.likeLabel.text = _monentsInfo.likeCount.length > 0 ? _monentsInfo.likeCount : @"0";
self.commentLabel.text = _monentsInfo.commentCount.length > 0 ? _monentsInfo.commentCount : @"0";
}
}
- (UIView *)likeView {
if (!_likeView) {
_likeView = [[UIView alloc] init];
_likeView.backgroundColor = [UIColor clearColor];
}
return _likeView;
if (!_likeView) {
_likeView = [[UIView alloc] init];
_likeView.backgroundColor = [UIColor clearColor];
}
return _likeView;
}
- (UIButton *)likeButton {
if (!_likeButton) {
_likeButton = [UIButton buttonWithType:UIButtonTypeCustom];
[_likeButton setImage:[UIImage imageNamed:@"monents_info_like_count_normal"] forState:UIControlStateNormal];
[_likeButton setImage:[UIImage imageNamed:@"monents_info_like_count_select"] forState:UIControlStateSelected];
[_likeButton addTarget:self action:@selector(likeButtonAction:) forControlEvents:UIControlEventTouchUpInside];
}
return _likeButton;
if (!_likeButton) {
_likeButton = [UIButton buttonWithType:UIButtonTypeCustom];
[_likeButton setImage:[UIImage imageNamed:@"monents_info_like_count_normal"] forState:UIControlStateNormal];
[_likeButton setImage:[UIImage imageNamed:@"monents_info_like_count_select"] forState:UIControlStateSelected];
[_likeButton addTarget:self action:@selector(likeButtonAction:) forControlEvents:UIControlEventTouchUpInside];
[_likeButton setEnlargeEdgeWithTop:10 right:10 bottom:10 left:10];
}
return _likeButton;
}
- (UILabel *)likeLabel {
if (!_likeLabel) {
_likeLabel = [[UILabel alloc] init];
_likeLabel.font = [UIFont systemFontOfSize:12 weight:UIFontWeightMedium];
_likeLabel.textColor = [DJDKMIMOMColor mainTextColor];
}
return _likeLabel;
if (!_likeLabel) {
_likeLabel = [[UILabel alloc] init];
_likeLabel.font = [UIFont systemFontOfSize:12 weight:UIFontWeightMedium];
_likeLabel.textColor = [DJDKMIMOMColor mainTextColor];
}
return _likeLabel;
}
- (UIView *)commentView {
if (!_commentView) {
_commentView = [[UIView alloc] init];
_commentView.backgroundColor = [UIColor clearColor];
}
return _commentView;
if (!_commentView) {
_commentView = [[UIView alloc] init];
_commentView.backgroundColor = [UIColor clearColor];
}
return _commentView;
}
- (UIButton *)commentButton {
if (!_commentButton) {
_commentButton = [UIButton buttonWithType:UIButtonTypeCustom];
[_commentButton setImage:[UIImage imageNamed:@"monents_info_comment_count"] forState:UIControlStateNormal];
[_commentButton setImage:[UIImage imageNamed:@"monents_info_comment_count"] forState:UIControlStateSelected];
[_commentButton addTarget:self action:@selector(commonButtonAction:) forControlEvents:UIControlEventTouchUpInside];
}
return _commentButton;
if (!_commentButton) {
_commentButton = [UIButton buttonWithType:UIButtonTypeCustom];
[_commentButton setImage:[UIImage imageNamed:@"monents_info_comment_count"] forState:UIControlStateNormal];
[_commentButton setImage:[UIImage imageNamed:@"monents_info_comment_count"] forState:UIControlStateSelected];
[_commentButton addTarget:self action:@selector(commonButtonAction:) forControlEvents:UIControlEventTouchUpInside];
[_commentButton setEnlargeEdgeWithTop:10 right:10 bottom:10 left:10];
}
return _commentButton;
}
- (UILabel *)commentLabel {
if (!_commentLabel) {
_commentLabel = [[UILabel alloc] init];
_commentLabel.font = [UIFont systemFontOfSize:12 weight:UIFontWeightMedium];
_commentLabel.textColor = [DJDKMIMOMColor mainTextColor];
}
return _commentLabel;
}
- (UIButton *)reportButton {
if (!_reportButton) {
_reportButton = [UIButton buttonWithType:UIButtonTypeCustom];
[_reportButton setImage:[UIImage imageNamed:@"monents_info_like_report"] forState:UIControlStateNormal];
[_reportButton setImage:[UIImage imageNamed:@"monents_info_like_report"] forState:UIControlStateSelected];
[_reportButton addTarget:self action:@selector(reportButtonAction:) forControlEvents:UIControlEventTouchUpInside];
}
return _reportButton;
if (!_commentLabel) {
_commentLabel = [[UILabel alloc] init];
_commentLabel.font = [UIFont systemFontOfSize:12 weight:UIFontWeightMedium];
_commentLabel.textColor = [DJDKMIMOMColor mainTextColor];
}
return _commentLabel;
}
- (UIButton *)shareButton {
if (!_shareButton) {
_shareButton = [UIButton buttonWithType:UIButtonTypeCustom];
[_shareButton setImage:[UIImage imageNamed:@"monents_info_like_share"] forState:UIControlStateNormal];
[_shareButton setImage:[UIImage imageNamed:@"monents_info_like_share"] forState:UIControlStateSelected];
_shareButton.hidden = YES;
[_shareButton addTarget:self action:@selector(shareButtonAction:) forControlEvents:UIControlEventTouchUpInside];
}
return _shareButton;
if (!_shareButton) {
_shareButton = [UIButton buttonWithType:UIButtonTypeCustom];
[_shareButton setImage:[UIImage imageNamed:@"monents_info_like_share"] forState:UIControlStateNormal];
[_shareButton setImage:[UIImage imageNamed:@"monents_info_like_share"] forState:UIControlStateSelected];
[_shareButton addTarget:self action:@selector(shareButtonAction:) forControlEvents:UIControlEventTouchUpInside];
_shareButton.hidden = YES;
}
return _shareButton;
}
- (UIView *)lineView {
if (!_lineView) {
_lineView = [[UIView alloc] init];
_lineView.backgroundColor = [DJDKMIMOMColor dividerColor];
}
return _lineView;
if (!_lineView) {
_lineView = [[UIView alloc] init];
_lineView.backgroundColor = [DJDKMIMOMColor dividerColor];
_lineView.hidden = YES;
}
return _lineView;
}
- (UIButton *)reportButton {
if (!_reportButton) {
_reportButton = [UIButton buttonWithType:UIButtonTypeCustom];
[_reportButton setImage:[UIImage imageNamed:@"monents_info_like_report"] forState:UIControlStateNormal];
[_reportButton setImage:[UIImage imageNamed:@"monents_info_like_report"] forState:UIControlStateSelected];
[_reportButton addTarget:self action:@selector(reportButtonAction:) forControlEvents:UIControlEventTouchUpInside];
[_reportButton setEnlargeEdgeWithTop:10 right:10 bottom:10 left:10];
}
return _reportButton;
}
@end

View File

@@ -206,6 +206,10 @@ NS_ASSUME_NONNULL_BEGIN
+(void)requestRoomFirstCharegWindow:(HttpRequestHelperCompletion)completion roomUid:(NSString *)roomUid;
///更新首充弹窗次数
+(void)updateRoomFirstCharegWindow:(HttpRequestHelperCompletion)completion roomUid:(NSString *)roomUid;
/// 屏蔽
/// @param completion 完成
/// @param type type为0 => 屏蔽动态, objId 为 动态id, type为1 => 屏蔽房间, objId 为 用户uid
+ (void)requesstShielding:(HttpRequestHelperCompletion)completion type:(NSString *)type objId:(NSString *)objId;
@end
NS_ASSUME_NONNULL_END

View File

@@ -281,5 +281,10 @@
[self makeRequest:fang method:HttpRequestHelperMethodPOST completion:completion, __FUNCTION__,roomUid,nil];
}
///
/// @param completion
/// @param type type0 => , objId id, type1 => , objId uid
+ (void)requesstShielding:(HttpRequestHelperCompletion)completion type:(NSString *)type objId:(NSString *)objId{
[self makeRequest:@"user/black/add" method:HttpRequestHelperMethodPOST completion:completion, __FUNCTION__, type,objId, nil];
}
@end

View File

@@ -29,7 +29,7 @@
///
@property (nonatomic, strong) JXCategoryTitleView *titleView;
///lineView
@property (nonatomic, strong) JXCategoryListContainerView *containerView;
@property (nonatomic, strong) JXCategoryListContainerView *pi_containerView;
///
@property (nonatomic,strong) XPTreasureFairyPrizeSubView *normalView;
///
@@ -53,7 +53,7 @@
- (void)initSubViews {
self.backgroundColor = [UIColor clearColor];
[self addSubview:self.titleView];
[self addSubview:self.containerView];
[self addSubview:self.pi_containerView];
}
- (void)initSubViewConstraints {
@@ -64,7 +64,7 @@
make.top.mas_equalTo(self).offset(0);
}];
[self.containerView mas_makeConstraints:^(MASConstraintMaker *make) {
[self.pi_containerView mas_makeConstraints:^(MASConstraintMaker *make) {
make.left.right.bottom.mas_equalTo(self);
make.top.mas_equalTo(self.titleView.mas_bottom).offset(13);
}];
@@ -117,7 +117,7 @@
_titleView.contentEdgeInsetLeft = 0;
_titleView.contentEdgeInsetRight = 0;
_titleView.cellWidth = 60;
_titleView.listContainer = self.containerView;
_titleView.listContainer = self.pi_containerView;
JXCategoryIndicatorImageView *lineView = [[JXCategoryIndicatorImageView alloc] init];
lineView.indicatorImageViewSize = CGSizeMake(60, 4);
@@ -131,13 +131,13 @@
return _titleView;
}
- (JXCategoryListContainerView *)containerView {
if (!_containerView) {
_containerView = [[JXCategoryListContainerView alloc] initWithType:JXCategoryListContainerType_ScrollView delegate:self];
_containerView.defaultSelectedIndex = 0;
_containerView.scrollView.tag = 1009;
- (JXCategoryListContainerView *)pi_containerView {
if (!_pi_containerView) {
_pi_containerView = [[JXCategoryListContainerView alloc] initWithType:JXCategoryListContainerType_ScrollView delegate:self];
_pi_containerView.defaultSelectedIndex = 0;
_pi_containerView.scrollView.tag = 1009;
}
return _containerView;
return _pi_containerView;
}
- (NSArray<NSString *> *)titles {

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.1 MiB

Binary file not shown.

Binary file not shown.

View File

@@ -1,15 +1,16 @@
//
// UploadFile.m
// YUMI
// xplan-ios
//
// Created by YUMI on 2022/2/23.
// Created by GreenLand on 2022/2/23.
//
#import "UploadFile.h"
#import <Qiniu/QiniuSDK.h>
#import <AFNetworking.h>
@implementation UploadFile
@implementation UploadFile
//zoneAs0
///
/// @param filePath
/// @param fileName
@@ -22,7 +23,7 @@
success:(void (^)(NSString *key, NSDictionary *resp))success
failure:(void (^)(NSNumber *resCode, NSString *message))failure {
QNConfiguration *config = [QNConfiguration build:^(QNConfigurationBuilder *builder) {
builder.zone = [QNFixedZone zone2];
builder.zone = [QNFixedZone zoneAs0];
}];
QNUploadManager *upManager = [[QNUploadManager alloc] initWithConfiguration:config];
[upManager putFile:filePath key:fileName token:token complete:^(QNResponseInfo *info, NSString *key, NSDictionary *resp) {

BIN
YuMi/pi_app_logo_bg.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 190 KiB

View File

@@ -344,7 +344,7 @@
"XPMineUserInfoHeaderView2" = "%ld粉丝";
"XPMineUserInfoHeaderView3" = "直播中";
"XPMineUserInfoHeaderView4" = "录制声音卡";
"XPMineUserInfoHeaderView5" = "录制声音卡";
///XPMineUserInfoHeaderTagView
"XPMineUserInfoHeaderTagView0"="设置你的个人标签";
"XPMineUserInfoDateView0" = "取消";
@@ -380,6 +380,17 @@
"XPMineDataClanTableViewCell2" = "公会";
"XPMineDataClanTableViewCell3" = "公会·房间";
"XPMineDataClanTableViewCell4" = "申请加入";
"XPMineDataClanTableViewCell5" = "暂未加入公会";
"XPMineDataClanTableViewCell6" = "个人资料";
"XPMineDataClanTableViewCell7" = "星座:";
"XPMineDataClanTableViewCell8" = "生日:";
"XPMineDataClanTableViewCell9" = "房间:";
"XPMineDataClanTableViewCell10" = "公会:";
"XPMineDataClanTableViewCell11" = "该用户暂未加入房间";
"XPMineDataClanTableViewCell12" = "暂未加入房间";
"XPMineDataClanTableViewCell13" = "地区:";
"XPMineDataClanTableViewCell14" = "更多";
"XPMineUserInfoTableViewCell0" = "%@号";
"XPMineUserInfoTableViewCell1" = "我是个默认签名";
@@ -393,21 +404,25 @@
"XPMineRechargeTableViewCell0" = "鑽石";
///XPMineUserInfoViewController.m
"XPMineUserInfoViewController0" = "举报";
"XPMineUserInfoViewController1" = "您的请求我们已经收到,我们将儘快处理";
"XPMineUserInfoViewController2" = "拉黑";
"XPMineUserInfoViewController3" = "移除黑名单";
"XPMineUserInfoViewController4" = "移除黑名单,你将正常收到对方的消息";
"XPMineUserInfoViewController5" = "加入黑名单";
"XPMineUserInfoViewController6" = "加入黑名单,你将不再收到对方的消息";
"XPMineUserInfoViewController7" = "移出黑名单成功";
"XPMineUserInfoViewController8" = "加入黑名单成功";
"XPMineUserInfoViewController9" = "编辑";
"XPMineUserInfoViewController10" = "私信";
"XPMineUserInfoViewController11" = "关注";
"XPMineUserInfoViewController12" = "已关注";
"XPMineUserInfoViewController14" = "动态";
"XPMineUserInfoViewController1" = "拉黑用户";
"XPMineUserInfoViewController2" = "移除黑名单";
"XPMineUserInfoViewController3" = "移除黑名单,你将正常收到对方的消息";
"XPMineUserInfoViewController4" = "加入黑名单";
"XPMineUserInfoViewController5" = "加入黑名单,你将不再收到对方的消息";
"XPMineUserInfoViewController6" = "移出黑名单成功";
"XPMineUserInfoViewController7" = "加入黑名单成功";
"XPMineUserInfoViewController8" = "私信";
"XPMineUserInfoViewController9" = "关注";
"XPMineUserInfoViewController10" = "已关注";
"XPMineUserInfoViewController11" = "资料";
"XPMineUserInfoViewController12" = "动态";
"XPMineUserInfoViewController13" = "礼物墙";
///XPMineUserInfoGiftWallViewController.m
"XPMineUserInfoGiftWallViewController0" = "礼物";
"XPMineUserInfoGiftWallViewController1" = "普通礼物";
"XPMineUserInfoGiftWallViewController2" = "幸运礼物";
"XPMineUserInfoAlbumViewController0" = "我的相册";
"XPMineUserInfoAlbumViewController1" = "拍照上传";
"XPMineUserInfoAlbumViewController3" = "相机权限受限,点击确定去系统设置";
@@ -423,18 +438,11 @@
"XPMineUserInfoAlbumViewController16" = "编辑";
"XPMineUserInfoAlbumViewController17" = "完成";
"XPMineUserDataViewController0" = "为了营造更安全的网络环境\n保护您和他人的财产安全\n请先进行实名认证";
"XPMineUserDataViewController1" = "确定";
"XPMineUserDataViewController2" = "实名认证";
"XPMineUserDataViewController3" = "申请成功,等待管理员审核";
"XPMineUserDataViewController4" = "默认动态不能点赞";
"XPMineUserDataViewController5" = "默认动态不能评论";
"XPMineSimpleUserInfoHeaderView0" = "我是个默认签名";
"XPMineSimpleUserInfoHeaderView1" = "粉丝";
"XPMineSimpleUserInfoHeaderView2" = "直播中";
"XPMineSimpleUserInfoHeaderView3" = "礼物牆";
"XPMineSimpleUserInfoHeaderView5" = "幸运礼物";
"XPMineSimpleUserInfoHeaderView6" = "动态";
///XPMineUserDataViewController.m
"XPMineUserDataViewController0" = "申请成功,等待管理员审核";
"XPMineUserDataViewController1" = "动态";
"XPMineUserDataViewController2" = "默认动态不能点赞";
"XPMineUserDataViewController3" = "默认动态不能评论";
"XPMineSimpleUserInfoViewController0" = "举报";
"XPMineSimpleUserInfoViewController1" = "您的请求我们已经收到,我们将儘快处理";

View File

@@ -344,6 +344,7 @@
"XPMineUserInfoHeaderView2" = "%ld粉絲";
"XPMineUserInfoHeaderView3" = "直播中";
"XPMineUserInfoHeaderView4" = "錄制聲音卡";
"XPMineUserInfoHeaderView5" = "我是個默認簽名";
///XPMineUserInfoIndividualTagView
"XPMineUserInfoIndividualTagView0"="TA的標簽";
"XPMineUserInfoIndividualTagView1"="我的標簽";
@@ -379,7 +380,7 @@
"XPMineFriendEmptyTableViewCell0" = "暫無數據";
"XPMineDataGiftTableViewCell0" = "普通禮物";
"XPMineDataGiftTableViewCell2" = "幸運禮物";
"XPMineDataGiftTableViewCell1" = "幸運禮物";
"XPMineUserInfoEmptyCollectionViewCell0" = "還未收到過禮物";
@@ -388,6 +389,20 @@
"XPMineDataClanTableViewCell2" = "公會";
"XPMineDataClanTableViewCell3" = "公會·房間";
"XPMineDataClanTableViewCell4" = "申請加入";
"XPMineDataClanTableViewCell5" = "暫未加入公會";
"XPMineDataClanTableViewCell6" = "個人資料";
"XPMineDataClanTableViewCell7" = "星座:";
"XPMineDataClanTableViewCell8" = "生日:";
"XPMineDataClanTableViewCell9" = "房間:";
"XPMineDataClanTableViewCell10" = "公會:";
"XPMineDataClanTableViewCell11" = "該用戶暫未加入房間";
"XPMineDataClanTableViewCell12" = "暫未加入房間";
"XPMineDataClanTableViewCell13" = "地區:";
"XPMineDataClanTableViewCell14" = "更多";
///XPMineUserInfoGiftWallViewController.m
"XPMineUserInfoGiftWallViewController0" = "禮物";
"XPMineUserInfoGiftWallViewController1" = "普通禮物";
"XPMineUserInfoGiftWallViewController2" = "幸運禮物";
"XPMineUserInfoTableViewCell0" = "%@號";
"XPMineUserInfoTableViewCell1" = "我是個默認簽名";
@@ -401,20 +416,21 @@
"XPMineRechargeTableViewCell0" = "鑽石";
///XPMineUserInfoViewController.m
"XPMineUserInfoViewController0" = "舉報";
"XPMineUserInfoViewController1" = "您的請求我們已經收到,我們將儘快處理";
"XPMineUserInfoViewController2" = "拉黑";
"XPMineUserInfoViewController3" = "移除黑名單";
"XPMineUserInfoViewController4" = "移除黑名單,你將正常收到對方的消息";
"XPMineUserInfoViewController5" = "加入黑名單";
"XPMineUserInfoViewController6" = "加入黑名單,你將不再收到對方的消息";
"XPMineUserInfoViewController7" = "移出黑名單成功";
"XPMineUserInfoViewController8" = "加入黑名單成功";
"XPMineUserInfoViewController9" = "編輯";
"XPMineUserInfoViewController10" = "私信";
"XPMineUserInfoViewController11" = "關註";
"XPMineUserInfoViewController12" = "已關註";
"XPMineUserInfoViewController14" = "動態";
"XPMineUserInfoViewController1" = "拉黑用戶";
"XPMineUserInfoViewController2" = "移除黑名單";
"XPMineUserInfoViewController3" = "移除黑名單,你將正常收到對方的消息";
"XPMineUserInfoViewController4" = "加入黑名單";
"XPMineUserInfoViewController5" = "加入黑名單,你將不再收到對方的消息";
"XPMineUserInfoViewController6" = "移出黑名單成功";
"XPMineUserInfoViewController7" = "加入黑名單成功";
"XPMineUserInfoViewController8" = "私信";
"XPMineUserInfoViewController9" = "關註";
"XPMineUserInfoViewController10" = "已關註";
"XPMineUserInfoViewController11" = "資料";
"XPMineUserInfoViewController12" = "動態";
"XPMineUserInfoViewController13" = "禮物墻";
"XPMineUserInfoAlbumViewController0" = "我的相冊";
"XPMineUserInfoAlbumViewController1" = "拍照上傳";
@@ -431,18 +447,10 @@
"XPMineUserInfoAlbumViewController16" = "編輯";
"XPMineUserInfoAlbumViewController17" = "完成";
"XPMineUserDataViewController0" = "為了營造更安全的網絡環境\n保護您和他人的財產安全\n請先進行實名認證";
"XPMineUserDataViewController1" = "確定";
"XPMineUserDataViewController2" = "實名認證";
"XPMineUserDataViewController3" = "申請成功,等待管理員審核";
"XPMineUserDataViewController4" = "默認動態不能點贊";
"XPMineUserDataViewController5" = "默認動態不能評論";
"XPMineSimpleUserInfoHeaderView0" = "我是個默認簽名";
"XPMineSimpleUserInfoHeaderView1" = "粉絲";
"XPMineSimpleUserInfoHeaderView2" = "直播中";
"XPMineSimpleUserInfoHeaderView3" = "禮物牆";
"XPMineSimpleUserInfoHeaderView5" = "幸運禮物";
"XPMineSimpleUserInfoHeaderView6" = "動態";
"XPMineUserDataViewController0" = "申請成功,等待管理員審核";
"XPMineUserDataViewController1" = "動態";
"XPMineUserDataViewController2" = "默認動態不能點贊";
"XPMineUserDataViewController3" = "默認動態不能評論";
"XPMineSimpleUserInfoViewController0" = "舉報";
"XPMineSimpleUserInfoViewController1" = "您的請求我們已經收到,我們將儘快處理";