From 1b0b461fd816b7eb4a843aee450d31fd12eeeae3 Mon Sep 17 00:00:00 2001 From: eggmanQQQ <3671373519@qq.com> Date: Wed, 18 Sep 2024 17:04:07 +0800 Subject: [PATCH] =?UTF-8?q?=E8=B0=83=E6=95=B4=E7=94=A8=E6=88=B7=E8=B5=84?= =?UTF-8?q?=E6=96=99=E9=A1=B5=E7=9A=84=20UI?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- YuMi.xcodeproj/project.pbxproj | 626 +++++++++++++++++- .../user_card_copy_id1.imageset/Contents.json | 1 - .../user_card_copy_id1.imageset/复制@2x.png | Bin 271 -> 0 bytes .../user_card_copy_id1.imageset/复制@3x.png | Bin 647 -> 755 bytes .../XPMineUserInfoEditViewController.h | 7 +- .../XPMineUserInfoEditViewController.m | 88 +-- .../MineInfo/XPMineUserInfoViewController.m | 26 +- .../View/SubViews/MineInfo/XPBeautIDView.m | 19 +- .../MineInfo/XPMineUserInfoHeaderTagView.h | 1 - .../MineInfo/XPMineUserInfoHeaderTagView.m | 6 +- .../MineInfo/XPMineUserInfoHeaderView.h | 10 +- .../MineInfo/XPMineUserInfoHeaderView.m | 553 ++++++---------- .../View/SendGiftView/GiftComboManager.m | 2 + .../SendGiftView/Presenter/XPGiftPresenter.h | 2 +- .../SendGiftView/Presenter/XPGiftPresenter.m | 2 +- .../View/SendGiftView/View/XPSendGiftView.m | 6 +- .../YMRoom/View/XPRoomViewController.m | 7 +- 17 files changed, 863 insertions(+), 493 deletions(-) delete mode 100644 YuMi/Assets.xcassets/jm/user_card_copy_id1.imageset/复制@2x.png diff --git a/YuMi.xcodeproj/project.pbxproj b/YuMi.xcodeproj/project.pbxproj index f56265e9..fa345163 100644 --- a/YuMi.xcodeproj/project.pbxproj +++ b/YuMi.xcodeproj/project.pbxproj @@ -438,7 +438,6 @@ 23E9E9A42A80DEAF00B792F2 /* XPMineGuildPersonalBillRecordContentView.m in Sources */ = {isa = PBXBuildFile; fileRef = 23E9E9A32A80DEAF00B792F2 /* XPMineGuildPersonalBillRecordContentView.m */; }; 23E9E9A72A80F1C300B792F2 /* XPNewMineHallIncomeVC.m in Sources */ = {isa = PBXBuildFile; fileRef = 23E9E9A62A80F1C300B792F2 /* XPNewMineHallIncomeVC.m */; }; 23E9E9AA2A80FDF100B792F2 /* XPNewMineHallIncomeCell.m in Sources */ = {isa = PBXBuildFile; fileRef = 23E9E9A92A80FDF100B792F2 /* XPNewMineHallIncomeCell.m */; }; - 23E9E9B52A81E8E900B792F2 /* XPAdjustEvent.m in Sources */ = {isa = PBXBuildFile; fileRef = 23E9E9AF2A81E8E900B792F2 /* XPAdjustEvent.m */; }; 23E9E9B72A82200500B792F2 /* GoogleService-Info.plist in Resources */ = {isa = PBXBuildFile; fileRef = 23E9E9B62A82200500B792F2 /* GoogleService-Info.plist */; }; 23E9E9BA2A82370800B792F2 /* XPEventHandle.m in Sources */ = {isa = PBXBuildFile; fileRef = 23E9E9B82A82370800B792F2 /* XPEventHandle.m */; }; 23E9E9BD2A82370E00B792F2 /* XPFirebbaseEvent.m in Sources */ = {isa = PBXBuildFile; fileRef = 23E9E9BC2A82370E00B792F2 /* XPFirebbaseEvent.m */; }; @@ -2421,8 +2420,6 @@ 23E9E9A82A80FDF100B792F2 /* XPNewMineHallIncomeCell.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = XPNewMineHallIncomeCell.h; sourceTree = ""; }; 23E9E9A92A80FDF100B792F2 /* XPNewMineHallIncomeCell.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = XPNewMineHallIncomeCell.m; sourceTree = ""; }; 23E9E9AD2A81E8E900B792F2 /* XPEventHead.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = XPEventHead.h; sourceTree = ""; }; - 23E9E9AF2A81E8E900B792F2 /* XPAdjustEvent.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = XPAdjustEvent.m; sourceTree = ""; }; - 23E9E9B12A81E8E900B792F2 /* XPAdjustEvent.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = XPAdjustEvent.h; sourceTree = ""; }; 23E9E9B62A82200500B792F2 /* GoogleService-Info.plist */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.xml; path = "GoogleService-Info.plist"; sourceTree = ""; }; 23E9E9B82A82370800B792F2 /* XPEventHandle.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = XPEventHandle.m; sourceTree = ""; }; 23E9E9B92A82370800B792F2 /* XPEventHandle.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = XPEventHandle.h; sourceTree = ""; }; @@ -6388,8 +6385,6 @@ 23E9E9AB2A81E8E900B792F2 /* Event */ = { isa = PBXGroup; children = ( - 23E9E9B12A81E8E900B792F2 /* XPAdjustEvent.h */, - 23E9E9AF2A81E8E900B792F2 /* XPAdjustEvent.m */, 23E9E9AD2A81E8E900B792F2 /* XPEventHead.h */, 23E9E9B92A82370800B792F2 /* XPEventHandle.h */, 23E9E9B82A82370800B792F2 /* XPEventHandle.m */, @@ -12107,7 +12102,6 @@ E80EC80D28ACD84000D133C5 /* QInputBarView.m in Sources */, 23E9EA852A84B6FD00B792F2 /* XPSoundCardModel.m in Sources */, E8D48250278D68BA003C1D08 /* XPAcrossRoomPKPanelView.m in Sources */, - 23E9E9B52A81E8E900B792F2 /* XPAdjustEvent.m in Sources */, 18F404C3276098F100A6C548 /* Api+Message.m in Sources */, 9B85B6D7279FDABA00A0A1AC /* XPUserCardSkillCardView.m in Sources */, 9B33E3CB27D85379003B0E62 /* UploadFile.m in Sources */, @@ -12877,6 +12871,316 @@ "@executable_path/Frameworks", ); MARKETING_VERSION = 20.20.36; + OTHER_LDFLAGS = ( + "$(inherited)", + "-ObjC", + "-l\"c++\"", + "-l\"iconv\"", + "-l\"icucore\"", + "-l\"resolv\"", + "-l\"sqlite3\"", + "-l\"sqlite3.0\"", + "-ld64", + "-l\"z\"", + "-framework", + "\"AFNetworking\"", + "-framework", + "\"AVFoundation\"", + "-framework", + "\"AVKit\"", + "-framework", + "\"Accelerate\"", + "-framework", + "\"AgoraAiEchoCancellationExtension\"", + "-framework", + "\"AgoraAiEchoCancellationLLExtension\"", + "-framework", + "\"AgoraAiNoiseSuppressionExtension\"", + "-framework", + "\"AgoraAiNoiseSuppressionLLExtension\"", + "-framework", + "\"AgoraAudioBeautyExtension\"", + "-framework", + "\"AgoraClearVisionExtension\"", + "-framework", + "\"AgoraContentInspectExtension\"", + "-framework", + "\"AgoraFaceCaptureExtension\"", + "-framework", + "\"AgoraFaceDetectionExtension\"", + "-framework", + "\"AgoraLipSyncExtension\"", + "-framework", + "\"AgoraReplayKitExtension\"", + "-framework", + "\"AgoraRtcKit\"", + "-framework", + "\"AgoraSoundTouch\"", + "-framework", + "\"AgoraSpatialAudioExtension\"", + "-framework", + "\"AgoraVideoAv1DecoderExtension\"", + "-framework", + "\"AgoraVideoAv1EncoderExtension\"", + "-framework", + "\"AgoraVideoDecoderExtension\"", + "-framework", + "\"AgoraVideoEncoderExtension\"", + "-framework", + "\"AgoraVideoQualityAnalyzerExtension\"", + "-framework", + "\"AgoraVideoSegmentationExtension\"", + "-framework", + "\"Agorafdkaac\"", + "-framework", + "\"Agoraffmpeg\"", + "-framework", + "\"AppAuth\"", + "-framework", + "\"AppleAccountConnector\"", + "-framework", + "\"AssetsLibrary\"", + "-framework", + "\"AudioToolbox\"", + "-framework", + "\"Base64\"", + "-framework", + "\"Bugly\"", + "-framework", + "\"CFNetwork\"", + "-framework", + "\"COSBeaconAPI_Base\"", + "-framework", + "\"CocoaAsyncSocket\"", + "-framework", + "\"CoreFoundation\"", + "-framework", + "\"CoreGraphics\"", + "-framework", + "\"CoreMedia\"", + "-framework", + "\"CoreMotion\"", + "-framework", + "\"CoreServices\"", + "-framework", + "\"CoreTelephony\"", + "-framework", + "\"CoreText\"", + "-framework", + "\"FBAEMKit\"", + "-framework", + "\"FBLPromises\"", + "-framework", + "\"FBSDKCoreKit\"", + "-framework", + "\"FBSDKCoreKit_Basics\"", + "-framework", + "\"FBSDKLoginKit\"", + "-framework", + "\"FBSDKShareKit\"", + "-framework", + "\"FFPopup\"", + "-framework", + "\"FLAnimatedImage\"", + "-framework", + "\"FirebaseAnalytics\"", + "-framework", + "\"FirebaseCore\"", + "-framework", + "\"FirebaseCoreInternal\"", + "-framework", + "\"FirebaseInstallations\"", + "-framework", + "\"Foundation\"", + "-framework", + "\"GKCycleScrollView\"", + "-framework", + "\"GTMAppAuth\"", + "-framework", + "\"GTMSessionFetcher\"", + "-framework", + "\"GoogleAppMeasurement\"", + "-framework", + "\"GoogleAppMeasurementIdentitySupport\"", + "-framework", + "\"GoogleSignIn\"", + "-framework", + "\"GoogleUtilities\"", + "-framework", + "\"IQKeyboardManager\"", + "-framework", + "\"ImageIO\"", + "-framework", + "\"JXCategoryView\"", + "-framework", + "\"JXPagingView\"", + "-framework", + "\"JavaScriptCore\"", + "-framework", + "\"LineSDK\"", + "-framework", + "\"LocalAuthentication\"", + "-framework", + "\"MBProgressHUD\"", + "-framework", + "\"MJExtension\"", + "-framework", + "\"MJRefresh\"", + "-framework", + "\"MOBFoundation\"", + "-framework", + "\"MarqueeLabel\"", + "-framework", + "\"Masonry\"", + "-framework", + "\"Metal\"", + "-framework", + "\"MetalKit\"", + "-framework", + "\"MetalPerformanceShaders\"", + "-framework", + "\"MobLinkPro\"", + "-framework", + "\"MobileCoreServices\"", + "-framework", + "\"NIMNOS\"", + "-framework", + "\"NIMSDK\"", + "-framework", + "\"Photos\"", + "-framework", + "\"PhotosUI\"", + "-framework", + "\"Protobuf\"", + "-framework", + "\"QCloudCOSXML\"", + "-framework", + "\"QCloudCore\"", + "-framework", + "\"QCloudTrack\"", + "-framework", + "\"QGVAPlayer\"", + "-framework", + "\"QimeiSDK\"", + "-framework", + "\"QuartzCore\"", + "-framework", + "\"ReactiveObjC\"", + "-framework", + "\"ReplayKit\"", + "-framework", + "\"SDCycleScrollView\"", + "-framework", + "\"SDWebImage\"", + "-framework", + "\"SDWebImageFLPlugin\"", + "-framework", + "\"SSKeychain\"", + "-framework", + "\"SSZipArchive\"", + "-framework", + "\"SVGAPlayer\"", + "-framework", + "\"SZTextView\"", + "-framework", + "\"SafariServices\"", + "-framework", + "\"Security\"", + "-framework", + "\"ShareSDK\"", + "-framework", + "\"ShareSDKConnector\"", + "-framework", + "\"ShareSDKExtension\"", + "-framework", + "\"StoreKit\"", + "-framework", + "\"SystemConfiguration\"", + "-framework", + "\"TABAnimated\"", + "-framework", + "\"TXFFmpeg\"", + "-framework", + "\"TXLiteAVSDK_TRTC\"", + "-framework", + "\"TXSoundTouch\"", + "-framework", + "\"TYCyclePagerView\"", + "-framework", + "\"TZImagePickerController\"", + "-framework", + "\"UIKit\"", + "-framework", + "\"UMCommon\"", + "-framework", + "\"UMDevice\"", + "-framework", + "\"VideoToolbox\"", + "-framework", + "\"YXArtemis\"", + "-framework", + "\"YYCache\"", + "-framework", + "\"YYImage\"", + "-framework", + "\"YYText\"", + "-framework", + "\"YYWebImage\"", + "-framework", + "\"YuMi\"", + "-framework", + "\"ZLCollectionViewFlowLayout\"", + "-framework", + "\"aosl\"", + "-framework", + "\"libpag\"", + "-framework", + "\"nanopb\"", + "-framework", + "\"pop\"", + "-framework", + "\"video_dec\"", + "-framework", + "\"video_enc\"", + "-weak_framework", + "\"AgoraAiEchoCancellationExtension\"", + "-weak_framework", + "\"AgoraAiEchoCancellationLLExtension\"", + "-weak_framework", + "\"AgoraAiNoiseSuppressionExtension\"", + "-weak_framework", + "\"AgoraAiNoiseSuppressionLLExtension\"", + "-weak_framework", + "\"AgoraAudioBeautyExtension\"", + "-weak_framework", + "\"AgoraClearVisionExtension\"", + "-weak_framework", + "\"AgoraContentInspectExtension\"", + "-weak_framework", + "\"AgoraFaceCaptureExtension\"", + "-weak_framework", + "\"AgoraFaceDetectionExtension\"", + "-weak_framework", + "\"AgoraLipSyncExtension\"", + "-weak_framework", + "\"AgoraReplayKitExtension\"", + "-weak_framework", + "\"AgoraSpatialAudioExtension\"", + "-weak_framework", + "\"AgoraVideoAv1DecoderExtension\"", + "-weak_framework", + "\"AgoraVideoAv1EncoderExtension\"", + "-weak_framework", + "\"AgoraVideoDecoderExtension\"", + "-weak_framework", + "\"AgoraVideoEncoderExtension\"", + "-weak_framework", + "\"AgoraVideoQualityAnalyzerExtension\"", + "-weak_framework", + "\"AgoraVideoSegmentationExtension\"", + "-weak_framework", + "\"AuthenticationServices\"", + ); PRODUCT_BUNDLE_IDENTIFIER = com.peko.enterprise.ios; PRODUCT_NAME = "$(TARGET_NAME)"; PROVISIONING_PROFILE_SPECIFIER = ""; @@ -12919,6 +13223,316 @@ "@executable_path/Frameworks", ); MARKETING_VERSION = 20.20.36; + OTHER_LDFLAGS = ( + "$(inherited)", + "-ObjC", + "-l\"c++\"", + "-l\"iconv\"", + "-l\"icucore\"", + "-l\"resolv\"", + "-l\"sqlite3\"", + "-l\"sqlite3.0\"", + "-ld64", + "-l\"z\"", + "-framework", + "\"AFNetworking\"", + "-framework", + "\"AVFoundation\"", + "-framework", + "\"AVKit\"", + "-framework", + "\"Accelerate\"", + "-framework", + "\"AgoraAiEchoCancellationExtension\"", + "-framework", + "\"AgoraAiEchoCancellationLLExtension\"", + "-framework", + "\"AgoraAiNoiseSuppressionExtension\"", + "-framework", + "\"AgoraAiNoiseSuppressionLLExtension\"", + "-framework", + "\"AgoraAudioBeautyExtension\"", + "-framework", + "\"AgoraClearVisionExtension\"", + "-framework", + "\"AgoraContentInspectExtension\"", + "-framework", + "\"AgoraFaceCaptureExtension\"", + "-framework", + "\"AgoraFaceDetectionExtension\"", + "-framework", + "\"AgoraLipSyncExtension\"", + "-framework", + "\"AgoraReplayKitExtension\"", + "-framework", + "\"AgoraRtcKit\"", + "-framework", + "\"AgoraSoundTouch\"", + "-framework", + "\"AgoraSpatialAudioExtension\"", + "-framework", + "\"AgoraVideoAv1DecoderExtension\"", + "-framework", + "\"AgoraVideoAv1EncoderExtension\"", + "-framework", + "\"AgoraVideoDecoderExtension\"", + "-framework", + "\"AgoraVideoEncoderExtension\"", + "-framework", + "\"AgoraVideoQualityAnalyzerExtension\"", + "-framework", + "\"AgoraVideoSegmentationExtension\"", + "-framework", + "\"Agorafdkaac\"", + "-framework", + "\"Agoraffmpeg\"", + "-framework", + "\"AppAuth\"", + "-framework", + "\"AppleAccountConnector\"", + "-framework", + "\"AssetsLibrary\"", + "-framework", + "\"AudioToolbox\"", + "-framework", + "\"Base64\"", + "-framework", + "\"Bugly\"", + "-framework", + "\"CFNetwork\"", + "-framework", + "\"COSBeaconAPI_Base\"", + "-framework", + "\"CocoaAsyncSocket\"", + "-framework", + "\"CoreFoundation\"", + "-framework", + "\"CoreGraphics\"", + "-framework", + "\"CoreMedia\"", + "-framework", + "\"CoreMotion\"", + "-framework", + "\"CoreServices\"", + "-framework", + "\"CoreTelephony\"", + "-framework", + "\"CoreText\"", + "-framework", + "\"FBAEMKit\"", + "-framework", + "\"FBLPromises\"", + "-framework", + "\"FBSDKCoreKit\"", + "-framework", + "\"FBSDKCoreKit_Basics\"", + "-framework", + "\"FBSDKLoginKit\"", + "-framework", + "\"FBSDKShareKit\"", + "-framework", + "\"FFPopup\"", + "-framework", + "\"FLAnimatedImage\"", + "-framework", + "\"FirebaseAnalytics\"", + "-framework", + "\"FirebaseCore\"", + "-framework", + "\"FirebaseCoreInternal\"", + "-framework", + "\"FirebaseInstallations\"", + "-framework", + "\"Foundation\"", + "-framework", + "\"GKCycleScrollView\"", + "-framework", + "\"GTMAppAuth\"", + "-framework", + "\"GTMSessionFetcher\"", + "-framework", + "\"GoogleAppMeasurement\"", + "-framework", + "\"GoogleAppMeasurementIdentitySupport\"", + "-framework", + "\"GoogleSignIn\"", + "-framework", + "\"GoogleUtilities\"", + "-framework", + "\"IQKeyboardManager\"", + "-framework", + "\"ImageIO\"", + "-framework", + "\"JXCategoryView\"", + "-framework", + "\"JXPagingView\"", + "-framework", + "\"JavaScriptCore\"", + "-framework", + "\"LineSDK\"", + "-framework", + "\"LocalAuthentication\"", + "-framework", + "\"MBProgressHUD\"", + "-framework", + "\"MJExtension\"", + "-framework", + "\"MJRefresh\"", + "-framework", + "\"MOBFoundation\"", + "-framework", + "\"MarqueeLabel\"", + "-framework", + "\"Masonry\"", + "-framework", + "\"Metal\"", + "-framework", + "\"MetalKit\"", + "-framework", + "\"MetalPerformanceShaders\"", + "-framework", + "\"MobLinkPro\"", + "-framework", + "\"MobileCoreServices\"", + "-framework", + "\"NIMNOS\"", + "-framework", + "\"NIMSDK\"", + "-framework", + "\"Photos\"", + "-framework", + "\"PhotosUI\"", + "-framework", + "\"Protobuf\"", + "-framework", + "\"QCloudCOSXML\"", + "-framework", + "\"QCloudCore\"", + "-framework", + "\"QCloudTrack\"", + "-framework", + "\"QGVAPlayer\"", + "-framework", + "\"QimeiSDK\"", + "-framework", + "\"QuartzCore\"", + "-framework", + "\"ReactiveObjC\"", + "-framework", + "\"ReplayKit\"", + "-framework", + "\"SDCycleScrollView\"", + "-framework", + "\"SDWebImage\"", + "-framework", + "\"SDWebImageFLPlugin\"", + "-framework", + "\"SSKeychain\"", + "-framework", + "\"SSZipArchive\"", + "-framework", + "\"SVGAPlayer\"", + "-framework", + "\"SZTextView\"", + "-framework", + "\"SafariServices\"", + "-framework", + "\"Security\"", + "-framework", + "\"ShareSDK\"", + "-framework", + "\"ShareSDKConnector\"", + "-framework", + "\"ShareSDKExtension\"", + "-framework", + "\"StoreKit\"", + "-framework", + "\"SystemConfiguration\"", + "-framework", + "\"TABAnimated\"", + "-framework", + "\"TXFFmpeg\"", + "-framework", + "\"TXLiteAVSDK_TRTC\"", + "-framework", + "\"TXSoundTouch\"", + "-framework", + "\"TYCyclePagerView\"", + "-framework", + "\"TZImagePickerController\"", + "-framework", + "\"UIKit\"", + "-framework", + "\"UMCommon\"", + "-framework", + "\"UMDevice\"", + "-framework", + "\"VideoToolbox\"", + "-framework", + "\"YXArtemis\"", + "-framework", + "\"YYCache\"", + "-framework", + "\"YYImage\"", + "-framework", + "\"YYText\"", + "-framework", + "\"YYWebImage\"", + "-framework", + "\"YuMi\"", + "-framework", + "\"ZLCollectionViewFlowLayout\"", + "-framework", + "\"aosl\"", + "-framework", + "\"libpag\"", + "-framework", + "\"nanopb\"", + "-framework", + "\"pop\"", + "-framework", + "\"video_dec\"", + "-framework", + "\"video_enc\"", + "-weak_framework", + "\"AgoraAiEchoCancellationExtension\"", + "-weak_framework", + "\"AgoraAiEchoCancellationLLExtension\"", + "-weak_framework", + "\"AgoraAiNoiseSuppressionExtension\"", + "-weak_framework", + "\"AgoraAiNoiseSuppressionLLExtension\"", + "-weak_framework", + "\"AgoraAudioBeautyExtension\"", + "-weak_framework", + "\"AgoraClearVisionExtension\"", + "-weak_framework", + "\"AgoraContentInspectExtension\"", + "-weak_framework", + "\"AgoraFaceCaptureExtension\"", + "-weak_framework", + "\"AgoraFaceDetectionExtension\"", + "-weak_framework", + "\"AgoraLipSyncExtension\"", + "-weak_framework", + "\"AgoraReplayKitExtension\"", + "-weak_framework", + "\"AgoraSpatialAudioExtension\"", + "-weak_framework", + "\"AgoraVideoAv1DecoderExtension\"", + "-weak_framework", + "\"AgoraVideoAv1EncoderExtension\"", + "-weak_framework", + "\"AgoraVideoDecoderExtension\"", + "-weak_framework", + "\"AgoraVideoEncoderExtension\"", + "-weak_framework", + "\"AgoraVideoQualityAnalyzerExtension\"", + "-weak_framework", + "\"AgoraVideoSegmentationExtension\"", + "-weak_framework", + "\"AuthenticationServices\"", + ); PRODUCT_BUNDLE_IDENTIFIER = com.peko.enterprise.ios; PRODUCT_NAME = "$(TARGET_NAME)"; PROVISIONING_PROFILE_SPECIFIER = ""; diff --git a/YuMi/Assets.xcassets/jm/user_card_copy_id1.imageset/Contents.json b/YuMi/Assets.xcassets/jm/user_card_copy_id1.imageset/Contents.json index 950085ea..98c8800b 100644 --- a/YuMi/Assets.xcassets/jm/user_card_copy_id1.imageset/Contents.json +++ b/YuMi/Assets.xcassets/jm/user_card_copy_id1.imageset/Contents.json @@ -5,7 +5,6 @@ "scale" : "1x" }, { - "filename" : "复制@2x.png", "idiom" : "universal", "scale" : "2x" }, diff --git a/YuMi/Assets.xcassets/jm/user_card_copy_id1.imageset/复制@2x.png b/YuMi/Assets.xcassets/jm/user_card_copy_id1.imageset/复制@2x.png deleted file mode 100644 index 9f6b33a98649022d7977cc7c5f439f42951f737f..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 271 zcmeAS@N?(olHy`uVBq!ia0vp^(jd&j3?%D+y-WjAjKx9jP7LeL$-D$|3<7*YT!AzY z$jHdZ%F0SgN=ivd0ZD0TX&?ha!nqKUfD8$Dpay}GAirP+79nM0o1n1pxWvBxsncdY z69 s;QviKUnky~pRn#qHOKq=P6GT4O)D0DxO7=u0%$pdr>mdKI;Vst0JIHRA^-pY diff --git a/YuMi/Assets.xcassets/jm/user_card_copy_id1.imageset/复制@3x.png b/YuMi/Assets.xcassets/jm/user_card_copy_id1.imageset/复制@3x.png index 34f4d337ae4eb4367bcbde32978cf81f56f6b355..a02867409ddc59ead5bc4046d2748c44d3413ae1 100644 GIT binary patch literal 755 zcmeAS@N?(olHy`uVBq!ia0vp^S|H591|*LjJ{b+97>k44ofy`glX(f`xTHpSruq7U zRdFydwr4W1fRq5S6c95oFfU+aUgnU}w9-BG!umZ}QG>)7BMI35?jM z|H(t!`|-?;+`(rip1T!yey`oW;^*gj%FDE}SU~XKX%3&FkX*Cb$G2EFwSS20I~z9p z{v7>>Nk%j8aN=k``4qZT)v-ao=1=zX!Jbe5$Rdb!0AhML+D;mp{iM{(*qljl{R zMEDx_iPg%Ka4priFL-eEv5lAK7<)u~dun(7N@YY%LCMF9+4rw#hNxP^DSw+3{5)y- z&U2D2zjJTgU3TG)c>et}d;Pes1`4x=KRv4bIYx11S)|i#zm5-*|98$a;k7%wFIt3s zmVs?gjmX}XM`tIlPF~$8yo)ei6z# zw{2A;vyN%y7S}EIJ|%ox&hZQ6o`0KtWS60JQ(mKY`Sh~wnkFxT`M-&pGJ#;S+XH#e W&I$XC7)m%m3C`2i&t;ucLK6VA&^5UL literal 647 zcmeAS@N?(olHy`uVBq!ia0vp^njp-<3?%38`)~wEF%}28J29*~C-V}>ITPR$;tHgZ zftHq*f`Wp$xVWgOsDOX~kS!r00pv^-R$!P(db&7yJ+Q1e>P!58vEsCIl8O=U?(*!K^y1bdznCLkTZA&domeS+DCU`Q zUw&CKW%=&2m$)Zy4bq?M_VO4* z!}GMt^|wy(Gi6NPZ|2P~ga1umhH~bWEN=#lAJg}%Y-cYs&5oH=%QWqF%w?_xl9Su> zP3JqZ`gGl18hK1_`lDxar>x5ntXiaSG%)_vE~|1E&ueK@tksX-U3b^*mPq}hO;gV> zs(Ke~T0XJa*Hfrrz311=zGp0JcFtMW=Fh|6+3#t;dS~K}^Gm)?Sz6_$^^I$C^uH?w duh^&W&bKOEA^M^0O%*5wdAj @@ -16,8 +16,7 @@ NS_ASSUME_NONNULL_BEGIN - (void)xPMineUserInfoEditViewControllerC:(XPMineUserInfoEditViewController *)vc didClickCompleteArea:(NSString *)area; @end @interface XPMineUserInfoEditViewController : MvpViewController -@property (nonatomic,strong) XPMineUserInfoTagModel *tagModel; -@property (nonatomic,strong) XPSoundCardModel * __nullable soundModel; + @property (nonatomic,copy) NSString *uid; /// @property (nonatomic,copy) NSString *area; diff --git a/YuMi/Modules/YMMine/View/MineInfo/XPMineUserInfoEditViewController.m b/YuMi/Modules/YMMine/View/MineInfo/XPMineUserInfoEditViewController.m index af0b169d..3ca95989 100644 --- a/YuMi/Modules/YMMine/View/MineInfo/XPMineUserInfoEditViewController.m +++ b/YuMi/Modules/YMMine/View/MineInfo/XPMineUserInfoEditViewController.m @@ -29,23 +29,20 @@ #import "XPMineUserInfoDesViewController.h" #import "XPMineUserInfoAlbumViewController.h" #import "XPMineUserInfoRecordedSoundVC.h" -#import "XPMineUserInfoTagVC.h" + UIKIT_EXTERN NSString * kUpdateSoundInfo; -@interface XPMineUserInfoEditViewController () +@interface XPMineUserInfoEditViewController () ///列表 @property (nonatomic,strong) UITableView *tableView; ///数据源 @property (nonatomic,strong) NSArray *datasouce; - ///用户信息 @property (nonatomic,strong) UserInfoModel *userInfo; ///地区列表 @property (nonatomic,strong) NSMutableArray *areaList; -///标签 -@property (nonatomic,strong) NSMutableArray *tagList; -/// + @property (nonatomic,assign) CGFloat maxWidth; @end @@ -64,20 +61,12 @@ UIKIT_EXTERN NSString * kUpdateSoundInfo; [self initSubViews]; [self initSubViewConstraints]; [self getAreaList]; - [[NSNotificationCenter defaultCenter]addObserver:self selector:@selector(updateSoundInfo:) name:kUpdateSoundInfo object:nil]; } -(void)getAreaList{ [self.presenter getAreaList]; } --(void)updateSoundInfo:(NSNotification *)not{ - if(not.object != nil){ - self.soundModel = not.object; - }else{ - self.soundModel = nil; - } - [self.tableView reloadData]; -} + - (void)viewWillAppear:(BOOL)animated { [super viewWillAppear:animated]; [self.presenter getUserInfo]; @@ -163,31 +152,7 @@ UIKIT_EXTERN NSString * kUpdateSoundInfo; dateView.backgroundColor = [UIColor colorWithWhite:0 alpha:0.5]; }]; } -#pragma mark - XPMineUserInfoTagVCDelegate -- (void)xPMineUserInfoTagVC:(XPMineUserInfoTagVC *)vc didClickComplete:(NSArray *)meLabels{ - self.tagModel.meLabels = meLabels; - self.tagList = [NSMutableArray array]; - CGFloat maxWidth = 0; - self.maxWidth = 0; - for (int i = 0; i < meLabels.count; i++) { - XPMineUserInfoTagItemModel *model = [XPMineUserInfoTagItemModel new]; - NSString *text = meLabels[i]; - model.label = text; - CGRect stringRect = [text boundingRectWithSize:CGSizeMake(MAXFLOAT, kGetScaleWidth(18)) options:NSStringDrawingUsesLineFragmentOrigin attributes:@{NSFontAttributeName:kFontRegular(10)} context:nil]; - CGFloat width = stringRect.size.width + kGetScaleWidth(14); - model.width = width; - maxWidth = maxWidth + width; - if(maxWidth < kGetScaleWidth(220)){ - self.maxWidth = maxWidth; - [self.tagList addObject:model]; - } - - } - [self.tableView reloadData]; - if(self.delegate && [self.delegate respondsToSelector:@selector(xPMineUserInfoEditViewControllerC:didClickComplete:)]){ - [self.delegate xPMineUserInfoEditViewControllerC:self didClickComplete:@""]; - } -} + #pragma mark - UITableViewDelegate And UITableViewDataSource - (NSInteger)numberOfSectionsInTableView:(UITableView *)tableView { return 1; @@ -213,15 +178,12 @@ UIKIT_EXTERN NSString * kUpdateSoundInfo; } XPMineUserInfoEditModel * model = [self.datasouce xpSafeObjectAtIndex:indexPath.row]; if(model.type == XPMineUserInfoEditType_Tag){ - cell.itemList = self.tagList; - cell.maxWidth = self.maxWidth + self.tagList.count * kGetScaleWidth(5); - model.subTitle = self.tagList.count > 0 ? @"":YMLocalizedString(@"XPMineUserInfoEditPresenter9"); + }else if(model.type == XPMineUserInfoEditType_Area){ model.subTitle = self.area; } cell.itmeModel = model; - cell.soundModel = self.soundModel; return cell; } @@ -263,20 +225,10 @@ UIKIT_EXTERN NSString * kUpdateSoundInfo; } break; case XPMineUserInfoEditType_Sound: - { - XPMineUserInfoRecordedSoundVC *vc = [XPMineUserInfoRecordedSoundVC new]; - vc.soundModel = self.soundModel; - [self.navigationController pushViewController:vc animated:YES]; break; - } case XPMineUserInfoEditType_Tag: - { - XPMineUserInfoTagVC *tagVC =[XPMineUserInfoTagVC new]; - tagVC.tagModel = self.tagModel; - tagVC.delegate = self; - [self.navigationController pushViewController:tagVC animated:YES]; break; - } + case XPMineUserInfoEditType_Area: { XPMineUserInfoEditPickView *pckView = [[XPMineUserInfoEditPickView alloc]initWithFrame:CGRectMake(0, 0, KScreenWidth, KScreenHeight)]; @@ -376,32 +328,6 @@ UIKIT_EXTERN NSString * kUpdateSoundInfo; [self.presenter saveAreaConfigWithArea:area]; } #pragma mark - Getters And Setters --(void)setSoundModel:(XPSoundCardModel *)soundModel{ - _soundModel = soundModel; - [self.tableView reloadData]; -} --(void)setTagModel:(XPMineUserInfoTagModel *)tagModel{ - _tagModel = tagModel; - NSArray *meLabels = _tagModel.meLabels; - self.tagList = [NSMutableArray array]; - CGFloat maxWidth = 0 ; - self.maxWidth = 0; - for (int i = 0; i < meLabels.count; i++) { - XPMineUserInfoTagItemModel *model = [XPMineUserInfoTagItemModel new]; - NSString *text = meLabels[i]; - model.label = text; - CGRect stringRect = [text boundingRectWithSize:CGSizeMake(MAXFLOAT, kGetScaleWidth(18)) options:NSStringDrawingUsesLineFragmentOrigin attributes:@{NSFontAttributeName:kFontRegular(10)} context:nil]; - CGFloat width = stringRect.size.width + kGetScaleWidth(14); - model.width = width; - maxWidth = maxWidth + width; - if(maxWidth < kGetScaleWidth(220)){ - self.maxWidth = maxWidth; - [self.tagList addObject:model]; - } - - } - [self.tableView reloadData]; -} - (UITableView *)tableView { if (!_tableView) { _tableView = [[UITableView alloc] initWithFrame:CGRectZero style:UITableViewStylePlain]; diff --git a/YuMi/Modules/YMMine/View/MineInfo/XPMineUserInfoViewController.m b/YuMi/Modules/YMMine/View/MineInfo/XPMineUserInfoViewController.m index ef7608ca..b5c67a71 100644 --- a/YuMi/Modules/YMMine/View/MineInfo/XPMineUserInfoViewController.m +++ b/YuMi/Modules/YMMine/View/MineInfo/XPMineUserInfoViewController.m @@ -46,14 +46,13 @@ #import "XPGiftUserDataViewController.h" #import "XPRoomMiniManager.h" -#import "XPMineUserInfoTagVC.h" #import "XPMomentUserDataViewController.h" UIKIT_EXTERN NSString * kUpdateSoundInfo; @interface XPMineUserInfoViewController ()< -XPMineCustomNavViewDelegate, XPMineUserInfoProtocol, XPMineUserInfoHeaderViewDelegate, JXCategoryViewDelegate,JXPagerViewDelegate, JXPagerMainTableViewGestureDelegate,XPMineUserInfoEditViewControllerDelegate,XPMineUserInfoTagVCDelegate,XPMineUserInfoIndividualTagViewDelegate, XPMineUserDataViewControllerDelegate> +XPMineCustomNavViewDelegate, XPMineUserInfoProtocol, XPMineUserInfoHeaderViewDelegate, JXCategoryViewDelegate, JXPagerViewDelegate, JXPagerMainTableViewGestureDelegate, XPMineUserInfoEditViewControllerDelegate, XPMineUserDataViewControllerDelegate> @property (nonatomic, strong) JXCategoryTitleView *titleView; @property (nonatomic, strong) JXCategoryIndicatorImageView *lineView; @property (nonatomic, strong) JXPagerView *pagingView; @@ -76,8 +75,6 @@ XPMineCustomNavViewDelegate, XPMineUserInfoProtocol, XPMineUserInfoHeaderViewDel @property (nonatomic,strong) XPGiftUserDataViewController *giftVC; ///编辑资料 @property (nonatomic,strong) XPMineUserInfoEditViewController * editVC; -///标签 -@property (nonatomic,strong) XPMineUserInfoTagModel *tagModel; @property (nonatomic, strong) XPMomentUserDataViewController *userMomentVC; @@ -325,28 +322,10 @@ XPMineCustomNavViewDelegate, XPMineUserInfoProtocol, XPMineUserInfoHeaderViewDel } } -#pragma mark - XPMineUserInfoIndividualTagView -- (void)didClickGotoEditVC{ - XPMineUserInfoTagVC *tagVC =[XPMineUserInfoTagVC new]; - tagVC.tagModel = self.tagModel; - tagVC.delegate = self; - [self.navigationController pushViewController:tagVC animated:YES]; -} - -#pragma mark- XPMineUserInfoTagVCDelegate -- (void)xPMineUserInfoTagVC:(XPMineUserInfoTagVC *)vc didClickComplete:(NSArray *)meLabels{ - self.headView.tagModel = self.tagModel; -} - #pragma mark - XPMineUserInfoProtocol - (void)onGetUserInfoSuccess:(UserInfoModel *)userInfo { self.userInfo = userInfo; self.headView.userInfo = userInfo; - XPMineUserInfoTagModel *tagModel = [XPMineUserInfoTagModel new]; - tagModel.meLabels = userInfo.labels; - self.tagModel = tagModel; - self.editVC.tagModel = tagModel; - self.headView.tagModel = tagModel; self.userDataVC.userInfo = userInfo; self.headerHeight = [XPMineUserInfoHeaderView headerHeight:userInfo]; @@ -386,9 +365,8 @@ XPMineCustomNavViewDelegate, XPMineUserInfoProtocol, XPMineUserInfoHeaderViewDel } #pragma mark -XPMineUserInfoEditViewController - - (void)xPMineUserInfoEditViewControllerC:(XPMineUserInfoEditViewController *)vc didClickComplete:(NSString *)meLabels{ - self.headView.tagModel = self.tagModel; +// self.headView.tagModel = self.tagModel; } - (void)xPMineUserInfoEditViewControllerC:(XPMineUserInfoEditViewController *)vc didClickCompleteArea:(NSString *)area{ self.userInfo.region = area; diff --git a/YuMi/Modules/YMMine/View/SubViews/MineInfo/XPBeautIDView.m b/YuMi/Modules/YMMine/View/SubViews/MineInfo/XPBeautIDView.m index ca363055..7a8c8ee3 100644 --- a/YuMi/Modules/YMMine/View/SubViews/MineInfo/XPBeautIDView.m +++ b/YuMi/Modules/YMMine/View/SubViews/MineInfo/XPBeautIDView.m @@ -23,11 +23,11 @@ if (self) { [self addSubview:self.frameImageView]; [self addSubview:self.numLabel]; - [self addSubview:self.copiedImageView]; +// [self addSubview:self.copiedImageView]; [self.frameImageView mas_makeConstraints:^(MASConstraintMaker *make) { make.top.leading.bottom.mas_equalTo(self); - make.trailing.mas_equalTo(self).offset(-18); + make.trailing.mas_equalTo(self); }]; [self.numLabel mas_makeConstraints:^(MASConstraintMaker *make) { @@ -35,17 +35,16 @@ make.leading.mas_equalTo(self).offset(10); make.trailing.mas_equalTo(self).offset(-46); } else { - make.leading.mas_equalTo(self).offset(28); - make.trailing.mas_equalTo(self).offset(-26); + make.leading.mas_equalTo(self.frameImageView).offset(24); + make.trailing.mas_equalTo(self).offset(-8); } - make.centerY.mas_equalTo(self).offset(0.8); }]; - [self.copiedImageView mas_makeConstraints:^(MASConstraintMaker *make) { - make.trailing.centerY.mas_equalTo(self); - make.size.mas_equalTo(CGSizeMake(14, 14)); - }]; +// [self.copiedImageView mas_makeConstraints:^(MASConstraintMaker *make) { +// make.trailing.centerY.mas_equalTo(self); +// make.size.mas_equalTo(CGSizeMake(14, 14)); +// }]; } return self; } @@ -80,7 +79,7 @@ - (UILabel *)numLabel { if (!_numLabel) { _numLabel = [[UILabel alloc] init]; - _numLabel.font = [UIFont systemFontOfSize:11 weight:UIFontWeightMedium]; + _numLabel.font = kFontMedium(10); _numLabel.textAlignment = NSTextAlignmentCenter; _numLabel.textColor = [UIColor whiteColor]; _numLabel.userInteractionEnabled = YES; diff --git a/YuMi/Modules/YMMine/View/SubViews/MineInfo/XPMineUserInfoHeaderTagView.h b/YuMi/Modules/YMMine/View/SubViews/MineInfo/XPMineUserInfoHeaderTagView.h index eaa45300..8158c370 100644 --- a/YuMi/Modules/YMMine/View/SubViews/MineInfo/XPMineUserInfoHeaderTagView.h +++ b/YuMi/Modules/YMMine/View/SubViews/MineInfo/XPMineUserInfoHeaderTagView.h @@ -11,7 +11,6 @@ NS_ASSUME_NONNULL_BEGIN @class XPMineUserInfoHeaderTagView; @protocol XPMineUserInfoHeaderTagViewDelegate -- (void)didClickGotoIvidualView; - (void)didClickGotoEditVC; @end diff --git a/YuMi/Modules/YMMine/View/SubViews/MineInfo/XPMineUserInfoHeaderTagView.m b/YuMi/Modules/YMMine/View/SubViews/MineInfo/XPMineUserInfoHeaderTagView.m index b89cc0c8..9813e94c 100644 --- a/YuMi/Modules/YMMine/View/SubViews/MineInfo/XPMineUserInfoHeaderTagView.m +++ b/YuMi/Modules/YMMine/View/SubViews/MineInfo/XPMineUserInfoHeaderTagView.m @@ -91,9 +91,9 @@ } } -(void)clickAction{ - if(self.delegate && [self.delegate respondsToSelector:@selector(didClickGotoIvidualView)]){ - [self.delegate didClickGotoIvidualView]; - } +// if(self.delegate && [self.delegate respondsToSelector:@selector(didClickGotoIvidualView)]){ +// [self.delegate didClickGotoIvidualView]; +// } } -(void)editAction{ if(self.delegate && [self.delegate respondsToSelector:@selector(didClickGotoEditVC)]){ diff --git a/YuMi/Modules/YMMine/View/SubViews/MineInfo/XPMineUserInfoHeaderView.h b/YuMi/Modules/YMMine/View/SubViews/MineInfo/XPMineUserInfoHeaderView.h index a89bc73b..0b2091c4 100644 --- a/YuMi/Modules/YMMine/View/SubViews/MineInfo/XPMineUserInfoHeaderView.h +++ b/YuMi/Modules/YMMine/View/SubViews/MineInfo/XPMineUserInfoHeaderView.h @@ -20,20 +20,14 @@ NS_ASSUME_NONNULL_BEGIN ///去录音VC - (void)didClickGoToPlaySound; ///去标签页 -- (void)xPMineUserInfoHeaderView:(XPMineUserInfoHeaderView *)view didClickGotoEditView:(NSMutableArray *)itemList; +- (void)xPMineUserInfoHeaderView:(XPMineUserInfoHeaderView *)view didClickGotoEditView:(NSMutableArray *)itemList; ///去标签vc -- (void)xPMineUserInfoHeaderView:(XPMineUserInfoHeaderView *)view didClickGotoEditVC:(NSMutableArray *)itemList; +- (void)xPMineUserInfoHeaderView:(XPMineUserInfoHeaderView *)view didClickGotoEditVC:(NSMutableArray *)itemList; @end @interface XPMineUserInfoHeaderView : UIView ///用户信息 @property (nonatomic,strong) UserInfoModel *userInfo; -///声音卡基本信息 -//@property (nonatomic,strong) XPSoundCardModel *__nullable soundModel; -///标签 -@property (nonatomic,strong) XPMineUserInfoTagModel *tagModel; -///轮播图 -@property (nonatomic,strong, readonly) SDCycleScrollView *pi_cycleScrollView; ///代理 @property (nonatomic,weak) id delegate; ///当前查看用户是否在直播 diff --git a/YuMi/Modules/YMMine/View/SubViews/MineInfo/XPMineUserInfoHeaderView.m b/YuMi/Modules/YMMine/View/SubViews/MineInfo/XPMineUserInfoHeaderView.m index 26765bae..429047d7 100644 --- a/YuMi/Modules/YMMine/View/SubViews/MineInfo/XPMineUserInfoHeaderView.m +++ b/YuMi/Modules/YMMine/View/SubViews/MineInfo/XPMineUserInfoHeaderView.m @@ -41,9 +41,9 @@ return view;\ }() @interface XPMineUserInfoHeaderView () + ///轮播图 @property (nonatomic,strong) SDCycleScrollView *pi_cycleScrollView; - ///显示当前的页数 @property (nonatomic,strong) UIButton *pageButton; ///审核中图标 @@ -64,17 +64,12 @@ return view;\ ///头饰播放 @property (nonatomic, strong) SpriteSheetImageManager *manager; @property (nonatomic, strong) SVGAImageView *headWearSvgaImageView; - ///用户信息的背景 - @property (nonatomic,strong) UIStackView *nickStackView; ///名字 @property (nonatomic,strong) UILabel *nameLabel; ///sex @property (nonatomic,strong) UIButton *sexImageView; - -/////正在直播父图 -//@property (nonatomic,strong) UIImageView *onlineView; ///正在直播icon图 @property (nonatomic,strong) SVGAImageView *onlineIconView; ///正在直播中tilte @@ -83,7 +78,6 @@ return view;\ @property (nonatomic,strong) UIButton *onlineButton; /// @property (nonatomic,strong) UIStackView *idStackView; - ///id @property (nonatomic,strong) UILabel *idLabel; @property (nonatomic, strong) UIImageView *idIconImageView; @@ -95,7 +89,6 @@ return view;\ @property (nonatomic,strong) UIStackView *tagStackView; ///魅力等级 @property (nonatomic,strong) NetImageView *charmImageView; - ///等级 @property (nonatomic,strong) NetImageView *experImageView; ///代充 @@ -110,26 +103,14 @@ return view;\ @property (nonatomic,strong) UIImageView *newUserImageView; ///官方的 @property (nonatomic,strong) UIImageView *officialImageView; - -///标签跟签名容器 -@property (nonatomic,strong) UIStackView *singStackView; -///标签 -@property (nonatomic,strong) XPMineUserInfoHeaderTagView *tagView; -///签名的背景 -@property (nonatomic,strong) UIView * signBackView; ///签名 @property (nonatomic,strong) UILabel *signatureLabel; -///分割线 -//@property (nonatomic,strong) UIView * lineView; - - ///VIP等级icon @property (nonatomic,strong) NetImageView *nobleImageView; @property (nonatomic, strong) UIStackView *locateDateStackView; @property (nonatomic, strong) UILabel *locateLabel; -@property (nonatomic, strong) UIImageView *relationshipView; @property (nonatomic, strong) UILabel *fansNum; @property (nonatomic, strong) UILabel *followersNum; @@ -148,10 +129,11 @@ return view;\ + (CGFloat)headerHeight:(UserInfoModel *)model { CGFloat height = 0; NSInteger numberOfLines = 1; + CGFloat lineHeight = 0; if (model.userDesc.length > 0) { // 限定宽度 - CGFloat maxWidth = KScreenWidth - 70; - UIFont *font = [UIFont systemFontOfSize:12 weight:UIFontWeightMedium]; + CGFloat maxWidth = KScreenWidth - 30; + UIFont *font = kFontRegular(13); // 设置计算属性 NSDictionary *attributes = @{NSFontAttributeName:font}; @@ -162,21 +144,54 @@ return view;\ context:nil]; // 计算每行的高度 - CGFloat lineHeight = font.lineHeight; + lineHeight = font.lineHeight; // 计算行数 numberOfLines = ceil(textRect.size.height / lineHeight); } - height = 470 + 14 * numberOfLines; + height = kGetScaleWidth(400) + lineHeight * numberOfLines; return height; } #pragma mark - Private Method + + + - (void)setupUI { self.backgroundColor = [UIColor clearColor]; + [self setupAlbumScrollView]; + + [self addSubview:self.pageButton]; + [self.pageButton mas_makeConstraints:^(MASConstraintMaker *make) { + make.trailing.mas_equalTo(self); + make.top.mas_equalTo(self).offset(kNavigationHeight + 80); + make.size.mas_equalTo(CGSizeMake(30, 18)); + }]; + + [self addSubview:self.userInfoView]; + [self.userInfoView mas_makeConstraints:^(MASConstraintMaker *make) { + make.leading.trailing.mas_equalTo(self); + make.top.mas_equalTo(self.pageButton.mas_bottom).offset(9); + make.bottom.mas_equalTo(self); + }]; + + [self setupAvatars]; + + [self setupNameArea]; + + [self setupIDArea]; + + [self setupLocateArea]; + + [self setupCustomDesc]; + + [self setupRelationshipArea]; +} + +- (void)setupAlbumScrollView { [self addSubview:self.pi_cycleScrollView]; [self.pi_cycleScrollView mas_makeConstraints:^(MASConstraintMaker *make) { make.leading.trailing.top.mas_equalTo(self); @@ -197,20 +212,48 @@ return view;\ [overlay mas_makeConstraints:^(MASConstraintMaker *make) { make.edges.mas_equalTo(self.pi_cycleScrollView); }]; +} +- (void)setupAvatars { + [self addSubview:self.avatarView]; + [self.avatarView mas_makeConstraints:^(MASConstraintMaker *make) { + make.width.height.mas_equalTo(kGetScaleWidth(82)); + make.leading.mas_equalTo(30); + make.centerY.equalTo(self.userInfoView.mas_top); + }]; + + [self addSubview:self.headWearImageView]; + [self.headWearImageView mas_makeConstraints:^(MASConstraintMaker *make) { + make.center.mas_equalTo(self.avatarView); + make.width.height.mas_equalTo(kGetScaleWidth(114)); + }]; + + [self addSubview:self.headWearSvgaImageView]; + [self.headWearSvgaImageView mas_makeConstraints:^(MASConstraintMaker *make) { + make.center.mas_equalTo(self.avatarView); + make.width.height.mas_equalTo(kGetScaleWidth(114)); + }]; + + [self addSubview:self.reviewIcon]; + [self.reviewIcon mas_makeConstraints:^(MASConstraintMaker *make) { + make.edges.mas_equalTo(self.avatarView); + }]; +} + +- (void)setupNameArea { [self addSubview:self.onlineButton]; [self.onlineButton mas_makeConstraints:^(MASConstraintMaker *make) { - make.trailing.mas_equalTo(self).offset(10); - make.top.mas_equalTo(self).offset(104); - make.height.mas_equalTo(24); + make.trailing.mas_equalTo(self.userInfoView).offset(-15); + make.top.mas_equalTo(self.userInfoView).offset(kGetScaleWidth(57)); + make.height.mas_equalTo(22); + make.width.mas_equalTo(72); }]; [self.onlineButton addSubview:self.onlineIconView]; [self.onlineIconView mas_makeConstraints:^(MASConstraintMaker *make) { make.leading.mas_equalTo(8); make.centerY.mas_equalTo(0); - make.width.mas_equalTo(12); - make.height.mas_equalTo(12); + make.width.height.mas_equalTo(16); }]; @kWeakify(self); @@ -223,149 +266,67 @@ return view;\ [self.onlineIconView startAnimation]; } failureBlock:^(NSError * _Nonnull error) { }]; - [self addSubview:self.pageButton]; - [self.pageButton mas_makeConstraints:^(MASConstraintMaker *make) { - make.trailing.mas_equalTo(self); - make.top.mas_equalTo(self.onlineButton.mas_bottom).offset(76); - make.size.mas_equalTo(CGSizeMake(63, 23)); - }]; - - [self addSubview:self.userInfoView]; - [self.userInfoView mas_makeConstraints:^(MASConstraintMaker *make) { - make.leading.trailing.mas_equalTo(self); - make.top.mas_equalTo(self.pi_cycleScrollView.mas_bottom); - make.bottom.mas_equalTo(self); - }]; - - [self addSubview:self.avatarView]; - [self.avatarView mas_makeConstraints:^(MASConstraintMaker *make) { - make.width.height.mas_equalTo(kGetScaleWidth(72)); - make.centerX.mas_equalTo(0); - make.centerY.equalTo(self.userInfoView.mas_top); - }]; - - [self addSubview:self.headWearImageView]; - [self.headWearImageView mas_makeConstraints:^(MASConstraintMaker *make) { - make.center.mas_equalTo(self.avatarView); - make.width.height.mas_equalTo(kGetScaleWidth(92)); - }]; - - [self addSubview:self.headWearSvgaImageView]; - [self.headWearSvgaImageView mas_makeConstraints:^(MASConstraintMaker *make) { - make.center.mas_equalTo(self.avatarView); - make.width.height.mas_equalTo(kGetScaleWidth(96)); - }]; - - [self addSubview:self.reviewIcon]; - - [self setupNameArea]; - - [self setupIDArea]; - - [self setupLocateArea]; - - [self setupTagsArea]; - - [self setupCustomDesc]; - - [self setupRelationshipArea]; -} - -- (void)setupNameArea { [self.userInfoView addSubview:self.nickStackView]; - - [self.nickStackView addArrangedSubview:self.nobleImageView]; [self.nickStackView addArrangedSubview:self.nameLabel]; [self.nickStackView addArrangedSubview:self.sexImageView]; [self.nickStackView mas_makeConstraints:^(MASConstraintMaker *make) { - make.centerX.mas_equalTo(self.userInfoView); - make.top.mas_equalTo(self.avatarView.mas_bottom).offset(10); - make.height.mas_equalTo(20); + make.leading.mas_equalTo(self.userInfoView).offset(kGetScaleWidth(15)); + make.top.mas_equalTo(self.userInfoView).offset(kGetScaleWidth(57)); + make.height.mas_equalTo(22); }]; - [self.nobleImageView mas_makeConstraints:^(MASConstraintMaker *make) { - make.width.height.mas_equalTo(CGSizeMake(35, 25)); - }]; [self.sexImageView mas_makeConstraints:^(MASConstraintMaker *make) { - make.height.mas_equalTo(14); + make.size.mas_equalTo(CGSizeMake(35, 16)); }]; } - (void)setupIDArea { - [self.userInfoView addSubview:self.idStackView]; - [self.userInfoView addSubview:self.beautIDView]; + UIStackView *stack = [[UIStackView alloc] init]; + stack.axis = UILayoutConstraintAxisHorizontal; + stack.distribution = UIStackViewDistributionFill; + stack.alignment = UIStackViewAlignmentCenter; + stack.spacing = 4; + [self.userInfoView addSubview:stack]; + [stack mas_makeConstraints:^(MASConstraintMaker *make) { + make.leading.mas_equalTo(kGetScaleWidth(15)); + make.top.mas_equalTo(self.nickStackView.mas_bottom).offset(5); + make.height.mas_equalTo(24); + }]; - if (isMSRTL()) { - [self.idStackView addArrangedSubview:self.copyIdImageView]; - [self.idStackView addArrangedSubview:self.idLabel]; - [self.idStackView addArrangedSubview:self.idIconImageView]; - } else { - [self.idStackView addArrangedSubview:self.idIconImageView]; - [self.idStackView addArrangedSubview:self.idLabel]; - [self.idStackView addArrangedSubview:self.copyIdImageView]; - } - - [self.idStackView addSubview:self.copyIdButton]; + [stack addArrangedSubview:self.beautIDView]; + [stack addArrangedSubview:self.idLabel]; + [stack addArrangedSubview:self.copyIdImageView]; + [stack addArrangedSubview:self.experImageView]; + [stack addArrangedSubview:self.charmImageView]; + [stack addArrangedSubview:self.namePlateView]; [self.beautIDView mas_makeConstraints:^(MASConstraintMaker *make) { - make.top.mas_equalTo(self.nickStackView.mas_bottom).offset(6); make.height.mas_equalTo(24); - make.centerX.mas_equalTo(self.userInfoView); - }]; - - [self.idStackView mas_makeConstraints:^(MASConstraintMaker *make) { - if (isMSRTL()) { - make.centerX.mas_equalTo(self.userInfoView).offset(8); - } else { - make.centerX.mas_equalTo(self.userInfoView); - } - make.top.mas_equalTo(self.nickStackView.mas_bottom).offset(6); - make.height.mas_equalTo(24); - }]; - - [self.idIconImageView mas_makeConstraints:^(MASConstraintMaker *make) { - make.width.height.mas_equalTo(14); - }]; - - [self.copyIdButton mas_makeConstraints:^(MASConstraintMaker *make) { - make.edges.mas_equalTo(self.idStackView); + make.width.mas_greaterThanOrEqualTo(60); }]; [self.idLabel mas_makeConstraints:^(MASConstraintMaker *make) { - make.height.mas_equalTo(14); + make.height.mas_equalTo(24); }]; + [self.copyIdImageView mas_makeConstraints:^(MASConstraintMaker *make) { - make.size.mas_equalTo(CGSizeMake(14, 14)); + make.size.mas_equalTo(CGSizeMake(18, 18)); }]; -} -- (void)setupLocateArea { - [self.userInfoView addSubview:self.locateDateStackView]; - [self.locateDateStackView mas_makeConstraints:^(MASConstraintMaker *make) { - make.leading.trailing.mas_equalTo(self.userInfoView); - make.top.mas_equalTo(self.idStackView.mas_bottom).offset(4); + [self.experImageView mas_makeConstraints:^(MASConstraintMaker *make) { + make.size.mas_equalTo(CGSizeMake(36, 18)); }]; - [self.locateLabel mas_makeConstraints:^(MASConstraintMaker *make) { - make.height.mas_equalTo(14); - }]; - [self.locateDateStackView addArrangedSubview:[self stackSpaceView]]; - [self.locateDateStackView addArrangedSubview:self.locateLabel]; - [self.locateDateStackView addArrangedSubview:[self stackSpaceView]]; -} -- (void)setupTagsArea { - [self.userInfoView addSubview:self.tagStackView]; - ///用户信息中的标签 -// [self.tagStackView addArrangedSubview:[self stackSpaceView]]; - [self.tagStackView addArrangedSubview:self.newUserImageView]; - [self.tagStackView addArrangedSubview:self.officialImageView]; - [self.tagStackView addArrangedSubview:self.experImageView]; - [self.tagStackView addArrangedSubview:self.charmImageView]; - [self.tagStackView addArrangedSubview:self.namePlateView]; - [self.tagStackView addArrangedSubview:self.rechargeImageView]; -// [self.tagStackView addArrangedSubview:[self stackSpaceView]]; + [self.charmImageView mas_makeConstraints:^(MASConstraintMaker *make) { + make.size.mas_equalTo(CGSizeMake(36, 18)); + }]; + + [self.namePlateView mas_makeConstraints:^(MASConstraintMaker *make) { + make.width.mas_equalTo(0); + make.height.mas_equalTo(18); + }]; ///铭牌 [self.namePlateView addSubview:self.nameplateImageView]; @@ -373,103 +334,77 @@ return view;\ [self.nameplateImageView mas_makeConstraints:^(MASConstraintMaker *make) { make.height.mas_equalTo(20); make.top.mas_equalTo(0); - make.width.mas_equalTo(80); + make.width.mas_equalTo(self.namePlateView); }]; [self.nameplateLabel mas_makeConstraints:^(MASConstraintMaker *make) { make.top.bottom.mas_equalTo(self.nameplateImageView); make.trailing.mas_equalTo(self.namePlateView).offset(-2); }]; +} - [self.tagStackView mas_makeConstraints:^(MASConstraintMaker *make) { - make.top.mas_equalTo(self.locateDateStackView.mas_bottom).offset(4); - make.centerX.mas_equalTo(self.userInfoView); - make.leading.mas_equalTo(self.newUserImageView); - make.trailing.mas_equalTo(self.rechargeImageView); - }]; - [self.newUserImageView mas_makeConstraints:^(MASConstraintMaker *make) { - make.width.height.mas_equalTo(20); - }]; - [self.officialImageView mas_makeConstraints:^(MASConstraintMaker *make) { - make.width.height.mas_equalTo(20); - }]; - [self.experImageView mas_makeConstraints:^(MASConstraintMaker *make) { - make.height.mas_equalTo(20); - make.width.mas_equalTo(34); - }]; - [self.charmImageView mas_makeConstraints:^(MASConstraintMaker *make) { - make.height.mas_equalTo(20); - make.width.mas_equalTo(34); - }]; - [self.rechargeImageView mas_makeConstraints:^(MASConstraintMaker *make) { +- (void)setupLocateArea { + [self.userInfoView addSubview:self.locateLabel]; + [self.locateLabel mas_makeConstraints:^(MASConstraintMaker *make) { + make.leading.mas_equalTo(self.userInfoView).offset(kGetScaleWidth(15)); make.height.mas_equalTo(18); - make.width.mas_equalTo(54); - }]; - [self.namePlateView mas_makeConstraints:^(MASConstraintMaker *make) { - make.height.mas_equalTo(20); - make.width.mas_equalTo(80); + make.top.mas_equalTo(self.nickStackView.mas_bottom).offset(30); }]; } - (void)setupCustomDesc { [self.userInfoView addSubview:self.signatureLabel]; [self.signatureLabel mas_makeConstraints:^(MASConstraintMaker *make) { - make.centerX.mas_equalTo(self.userInfoView); - make.top.mas_equalTo(self.tagStackView.mas_bottom).offset(4); - make.width.mas_equalTo(KScreenWidth - 70); + make.leading.mas_equalTo(self.userInfoView).offset(kGetScaleWidth(15)); + make.trailing.mas_equalTo(self.userInfoView).offset(kGetScaleWidth(-15)); + make.top.mas_equalTo(self.locateLabel.mas_bottom).offset(6); }]; } - (void)setupRelationshipArea { - [self.userInfoView addSubview:self.relationshipView]; - [self.relationshipView mas_makeConstraints:^(MASConstraintMaker *make) { - make.top.mas_equalTo(self.signatureLabel.mas_bottom).offset(10); - make.leading.mas_equalTo(self.userInfoView).offset(14); - make.trailing.mas_equalTo(self.userInfoView).offset(-14); - make.height.mas_equalTo(55); - }]; + UIStackView *stack = [[UIStackView alloc] init]; + stack.axis = UILayoutConstraintAxisHorizontal; + stack.distribution = UIStackViewDistributionFill; + stack.alignment = UIStackViewAlignmentCenter; + stack.spacing = 30; - UIView *line = [[UIView alloc] init]; - line.backgroundColor = [UIColor colorWithWhite:1 alpha:0.6]; - [self.relationshipView addSubview:line]; - [line mas_makeConstraints:^(MASConstraintMaker *make) { - make.center.mas_equalTo(self.relationshipView); - make.size.mas_equalTo(CGSizeMake(1.5, 20)); - }]; + UIStackView *stack_follow = [[UIStackView alloc] init]; + stack_follow.axis = UILayoutConstraintAxisHorizontal; + stack_follow.distribution = UIStackViewDistributionFill; + stack_follow.alignment = UIStackViewAlignmentFirstBaseline; + stack_follow.spacing = 6; + [stack_follow addArrangedSubview:self.followersNum]; UILabel *followerTitle = [UILabel labelInitWithText:YMLocalizedString(@"XPMineHeadView4") - font:[UIFont systemFontOfSize:13 weight:UIFontWeightBold] - textColor:[UIColor colorWithWhite:1 alpha:0.8]]; + font:kFontRegular(12) + textColor:[UIColor colorWithWhite:1 alpha:0.6]]; + [stack_follow addArrangedSubview:followerTitle]; + + + UIStackView *stack_fans = [[UIStackView alloc] init]; + stack_fans.axis = UILayoutConstraintAxisHorizontal; + stack_fans.distribution = UIStackViewDistributionFill; + stack_fans.alignment = UIStackViewAlignmentFirstBaseline; + stack_fans.spacing = 6; + + [stack_fans addArrangedSubview:self.fansNum]; UILabel *fansTitle = [UILabel labelInitWithText:YMLocalizedString(@"XPMineHeadView5") - font:[UIFont systemFontOfSize:13 weight:UIFontWeightBold] - textColor:[UIColor colorWithWhite:1 alpha:0.8]]; - [self.relationshipView addSubview:followerTitle]; - [followerTitle mas_makeConstraints:^(MASConstraintMaker *make) { - make.top.mas_equalTo(self.relationshipView).offset(10); - make.trailing.mas_equalTo(line.mas_leading).offset(-60); - }]; - [self.relationshipView addSubview:fansTitle]; - [fansTitle mas_makeConstraints:^(MASConstraintMaker *make) { - make.top.mas_equalTo(self.relationshipView).offset(10); - make.leading.mas_equalTo(line.mas_trailing).offset(60); - }]; + font:kFontRegular(12) + textColor:[UIColor colorWithWhite:1 alpha:0.6]]; + [stack_fans addArrangedSubview:fansTitle]; - [self.relationshipView addSubview:self.followersNum]; - [self.followersNum mas_makeConstraints:^(MASConstraintMaker *make) { - make.centerX.mas_equalTo(followerTitle); - make.top.mas_equalTo(followerTitle.mas_bottom).offset(4); - }]; + [stack addArrangedSubview:stack_follow]; + [stack addArrangedSubview:stack_fans]; - [self.relationshipView addSubview:self.fansNum]; - [self.fansNum mas_makeConstraints:^(MASConstraintMaker *make) { - make.centerX.mas_equalTo(fansTitle); - make.top.mas_equalTo(fansTitle.mas_bottom).offset(4); + [self.userInfoView addSubview:stack]; + [stack mas_makeConstraints:^(MASConstraintMaker *make) { + make.top.mas_equalTo(self.signatureLabel.mas_bottom).offset(6); + make.leading.mas_equalTo(self.userInfoView).offset(kGetScaleWidth(15)); + make.height.mas_equalTo(30); }]; } -- (void)initSubViews { - [self.singStackView addArrangedSubview:self.tagView]; - [self.singStackView addArrangedSubview:self.signBackView]; - [self.signBackView addSubview:self.signatureLabel]; +- (void)setupCPArea { + } #pragma mark - SDPhotoBrowserDelegate @@ -511,14 +446,9 @@ return view;\ } #pragma mark - XPMineUserInfoHeaderTagView -- (void)didClickGotoIvidualView{ - if(self.delegate && [self.delegate respondsToSelector:@selector(xPMineUserInfoHeaderView:didClickGotoEditView:)]){ - [self.delegate xPMineUserInfoHeaderView:self didClickGotoEditView:self.tagView.itemList]; - } -} - (void)didClickGotoEditVC{ if(self.delegate && [self.delegate respondsToSelector:@selector(xPMineUserInfoHeaderView:didClickGotoEditVC:)]){ - [self.delegate xPMineUserInfoHeaderView:self didClickGotoEditVC:self.tagView.itemList]; + [self.delegate xPMineUserInfoHeaderView:self didClickGotoEditVC:@[].mutableCopy]; } } #pragma mark - Event Response @@ -587,14 +517,14 @@ return view;\ self.charmImageView.hidden = userInfo.userLevelVo.charmUrl.length <= 0; if(userInfo.isCustomWord == YES){ if (userInfo.nameplatePic.length > 0) { - self.nameplateImageView.imageUrl = userInfo.nameplatePic; + [self loadNamePlate:userInfo.nameplatePic]; self.namePlateView.hidden = NO; } else { self.namePlateView.hidden = YES; } }else{ if (userInfo.nameplateWord.length > 0 && userInfo.nameplatePic.length > 0) { - self.nameplateImageView.imageUrl = userInfo.nameplatePic; + [self loadNamePlate:userInfo.nameplatePic]; self.nameplateLabel.text = userInfo.nameplateWord; self.namePlateView.hidden = NO; } else { @@ -643,6 +573,18 @@ return view;\ } } +- (void)loadNamePlate:(NSString *)imagePath { + [self.nameplateImageView loadImageWithUrl:imagePath completion:^(UIImage * _Nullable image, NSURL * _Nonnull url) { + if (image) { + CGSize size = image.size; + [self.namePlateView mas_updateConstraints:^(MASConstraintMaker *make) { + make.width.mas_equalTo(round(size.width * 18/size.height)); + }]; + self.nameplateImageView.image = image; + } + }]; +} + - (void)setRoomUid:(NSString *)roomUid { _roomUid = roomUid; if([XPSkillCardPlayerManager shareInstance].isInRoom == YES || [[XPRoomMiniManager shareManager] getRoomInfo] != nil){ @@ -650,33 +592,6 @@ return view;\ }else{ self.onlineButton.hidden = YES; } - -} --(void)setTagModel:(XPMineUserInfoTagModel *)tagModel{ - _tagModel = tagModel; - NSMutableArray *itemList = [NSMutableArray array]; - for (NSString *text in _tagModel.meLabels) { - if(text.length > 0){ - XPMineUserInfoTagItemModel *model = [XPMineUserInfoTagItemModel new]; - model.label = text; - CGRect stringRect = [text boundingRectWithSize:CGSizeMake(MAXFLOAT, 18) - options:NSStringDrawingUsesLineFragmentOrigin - attributes:@{NSFontAttributeName:[UIFont systemFontOfSize:10 weight:UIFontWeightRegular]} - context:nil]; - model.width = stringRect.size.width + 14; - [itemList addObject:model]; - } - } - NSString *uid = [[AccountInfoStorage instance]getUid]; - BOOL isMe = self.userInfo.uid == uid.integerValue; - if(isMe == YES){ - _tagView.hidden = YES; - }else{ -// _tagView.hidden = !(itemList.count > 0); - _tagView.hidden = YES; - } - _tagView.uid = @(self.userInfo.uid).stringValue; - _tagView.itemList = itemList; } - (void)updateNameAndGenderInfo { @@ -697,23 +612,23 @@ return view;\ - (void)updateIDInfo { NSString *text = @""; - BOOL hasBeautifulID = self.userInfo.hasPrettyErbanNo; - if (hasBeautifulID) { +// BOOL hasBeautifulID = self.userInfo.hasPrettyErbanNo; +// if (hasBeautifulID) { text = [NSString stringWithFormat:@"%ld", (long)self.userInfo.erbanNo]; - } else { - text = [NSString stringWithFormat:@" %ld", (long)self.userInfo.erbanNo]; - } +// } else { +// text = [NSString stringWithFormat:@" %ld", (long)self.userInfo.erbanNo]; +// } - self.idIconImageView.hidden = hasBeautifulID; - - if (hasBeautifulID) { - self.beautIDView.num = text; - self.idStackView.hidden = YES; - } else { - self.beautIDView.hidden = YES; - self.idLabel.text = text; - self.idLabel.alpha = 0.8; - } +// self.idIconImageView.hidden = hasBeautifulID; + self.idLabel.text = [NSString stringWithFormat:@"ID:%@", text]; + self.beautIDView.num = text; +// if (hasBeautifulID) { +// self.idStackView.hidden = YES; +// } else { +// self.beautIDView.hidden = YES; +// self.idLabel.text = text; +// self.idLabel.alpha = 0.8; +// } } - (void)updateLocateAndRegionInfo { @@ -731,8 +646,8 @@ return view;\ - (void)updateSignatureInfo { self.signatureLabel.text = _userInfo.userDesc.length > 0 ? self.userInfo.userDesc : YMLocalizedString(@"XPMineUserInfoHeaderView6"); - [self.signatureLabel setTextColor:self.userInfo.userDesc.length > 0 ? UIColorFromRGB(0x1a1a1a) : UIColorRGBAlpha(0x1a1a1a, 0.6)]; - [self.signatureLabel setFont:self.userInfo.userDesc.length > 0 ? [UIFont systemFontOfSize:12 weight:UIFontWeightMedium] : [UIFont systemFontOfSize:12 weight:UIFontWeightRegular]]; +// [self.signatureLabel setTextColor:self.userInfo.userDesc.length > 0 ? UIColorFromRGB(0x1a1a1a) : UIColorRGBAlpha(0x1a1a1a, 0.6)]; +// [self.signatureLabel setFont:self.userInfo.userDesc.length > 0 ? [UIFont systemFontOfSize:12 weight:UIFontWeightMedium] : [UIFont systemFontOfSize:12 weight:UIFontWeightRegular]]; } - (void)updateRelationShipInfo { @@ -787,10 +702,7 @@ return view;\ - (UIView *)userInfoView { if (!_userInfoView) { _userInfoView = [[UIView alloc] init]; - _userInfoView.backgroundColor = [UIColor whiteColor]; - _userInfoView.layer.masksToBounds = YES; - _userInfoView.layer.cornerRadius = 16; - _userInfoView.clipsToBounds = YES; + _userInfoView.backgroundColor = UIColorFromRGB(0x08151A); } return _userInfoView; } @@ -800,8 +712,8 @@ return view;\ _nickStackView = [[UIStackView alloc] init]; _nickStackView.backgroundColor = [UIColor clearColor]; _nickStackView.axis = UILayoutConstraintAxisHorizontal; - _nickStackView.distribution = UIStackViewDistributionFill; - _nickStackView.alignment = UIStackViewAlignmentCenter; + _nickStackView.distribution = UIStackViewDistributionFillProportionally; + _nickStackView.alignment = UIStackViewAlignmentLeading; _nickStackView.spacing = 4; if (isMSRTL()) { _nickStackView.semanticContentAttribute = UISemanticContentAttributeForceRightToLeft; @@ -813,8 +725,8 @@ return view;\ - (UILabel *)nameLabel { if (!_nameLabel) { _nameLabel = [[UILabel alloc] init]; - _nameLabel.font = [UIFont systemFontOfSize:18 weight:UIFontWeightBold]; - _nameLabel.textColor = UIColorFromRGB(0x1A1A1A); + _nameLabel.font = kFontMedium(16); + _nameLabel.textColor = [UIColor whiteColor]; _nameLabel.numberOfLines = 1; [_nameLabel setContentHuggingPriority:UILayoutPriorityRequired forAxis:UILayoutConstraintAxisHorizontal]; [_nameLabel setContentCompressionResistancePriority:UILayoutPriorityRequired forAxis:UILayoutConstraintAxisHorizontal]; @@ -852,8 +764,8 @@ return view;\ - (UILabel *)idLabel { if (!_idLabel) { _idLabel = [[UILabel alloc] init]; - _idLabel.font = [UIFont systemFontOfSize:11 weight:UIFontWeightMedium]; - _idLabel.textColor = UIColorFromRGB(0x191919); + _idLabel.font = kFontMedium(12); + _idLabel.textColor = [UIColor whiteColor]; _idLabel.textAlignment = NSTextAlignmentCenter; _idLabel.userInteractionEnabled = YES; _idLabel.clipsToBounds = NO; @@ -874,7 +786,7 @@ return view;\ if (!_copyIdImageView) { _copyIdImageView = [[UIImageView alloc] init]; _copyIdImageView.userInteractionEnabled = YES; - _copyIdImageView.contentMode = UIViewContentModeScaleAspectFit; + _copyIdImageView.contentMode = UIViewContentModeScaleAspectFill; _copyIdImageView.image = [UIImage getLanguageImage:@"user_card_copy_id1"]; } return _copyIdImageView; @@ -910,24 +822,18 @@ return view;\ - (UIButton *)onlineButton { if (!_onlineButton) { _onlineButton = [UIButton buttonWithType:UIButtonTypeCustom]; - [_onlineButton setBackgroundImage:[UIImage gradientColorImageFromColors:@[UIColorFromRGB(0xf2a20f), UIColorFromRGB(0xffd936)] - gradientType:GradientTypeLeftToRight - imgSize:CGSizeMake(64, 24)] - forState:UIControlStateNormal]; + [_onlineButton setBackgroundColor:UIColorFromRGB(0x04D5C6)]; [_onlineButton addTarget:self action:@selector(onlineButtonAction:) forControlEvents:UIControlEventTouchUpInside]; [_onlineButton setTitle:[NSString stringWithFormat:@"%@ ", YMLocalizedString(@"XPMineSimpleUserInfoHeaderView2")] forState:UIControlStateNormal]; - [_onlineButton.titleLabel setFont:[UIFont systemFontOfSize:12 weight:UIFontWeightMedium]]; - [_onlineButton setTitleColor:UIColorFromRGB(0xf7f7f7) forState:UIControlStateNormal]; -// [_onlineButton setImage:[UIImage imageNamed:@"mine_online_mark"] forState:UIControlStateNormal]; + [_onlineButton.titleLabel setFont:kFontMedium(12)]; [_onlineButton setEnlargeEdgeWithTop:10 right:10 bottom:10 left:10]; - _onlineButton.layer.cornerRadius = 12; + _onlineButton.layer.cornerRadius = 11; _onlineButton.layer.masksToBounds = YES; _onlineButton.hidden = YES; -// CGFloat spacing = 4.0; // 图片和标题之间的间距 _onlineButton.imageEdgeInsets = UIEdgeInsetsMake(0, 40, 0, 0); _onlineButton.titleEdgeInsets = UIEdgeInsetsMake(0, 24, 0, 0); } @@ -955,10 +861,10 @@ return view;\ - (UIButton *)pageButton { if (!_pageButton) { _pageButton = [UIButton buttonWithType:UIButtonTypeCustom]; - [_pageButton setTitleColor:[UIColor whiteColor] forState:UIControlStateNormal]; - _pageButton.titleLabel.font = [UIFont systemFontOfSize:12 weight:UIFontWeightRegular]; - _pageButton.backgroundColor = UIColorRGBAlpha(0x000000, 0.4); - _pageButton.layer.cornerRadius = 11; + [_pageButton setTitleColor:UIColorFromRGB(0xfffcfc) forState:UIControlStateNormal]; + _pageButton.titleLabel.font = kFontMedium(11); + _pageButton.backgroundColor = UIColorRGBAlpha(0x000000, 0.6); + _pageButton.layer.cornerRadius = 9; _pageButton.layer.masksToBounds = YES; } @@ -1060,22 +966,13 @@ return view;\ return _officialImageView; } -- (UIView *)signBackView { - if (!_signBackView) { - _signBackView = [[UIView alloc] init]; - _signBackView.backgroundColor = [UIColor whiteColor]; - - } - return _signBackView; -} - - (UILabel *)signatureLabel { if (!_signatureLabel) { _signatureLabel = [[UILabel alloc] init]; - _signatureLabel.font = [UIFont systemFontOfSize:12 weight:UIFontWeightMedium]; - _signatureLabel.textColor = UIColorFromRGB(0x1a1a1a); + _signatureLabel.font = kFontRegular(13); + _signatureLabel.textColor = [UIColor colorWithWhite:1 alpha:0.6]; _signatureLabel.numberOfLines = 0; - _signatureLabel.textAlignment = NSTextAlignmentCenter; + _signatureLabel.textAlignment = NSTextAlignmentNatural; } return _signatureLabel; } @@ -1099,7 +996,7 @@ return view;\ config.placeHolder = [UIImageConstant defaultAvatarPlaceholder]; config.imageType = ImageTypeUserIcon; _avatarView = [[NetImageView alloc]initWithConfig:config]; - _avatarView.layer.cornerRadius = kGetScaleWidth(36); + _avatarView.layer.cornerRadius = kGetScaleWidth(41); _avatarView.layer.masksToBounds = YES; _avatarView.layer.borderWidth = 1; _avatarView.userInteractionEnabled = YES; @@ -1127,24 +1024,7 @@ return view;\ } return _manager; } --(XPMineUserInfoHeaderTagView *)tagView{ - if (!_tagView){ - _tagView = [[XPMineUserInfoHeaderTagView alloc]initWithFrame:CGRectZero]; - _tagView.delegate = self; - } - return _tagView; -} -- (UIStackView *)singStackView { - if (!_singStackView) { - _singStackView = [[UIStackView alloc] init]; - _singStackView.backgroundColor = [UIColor clearColor]; - _singStackView.axis = UILayoutConstraintAxisVertical; - _singStackView.distribution = UIStackViewDistributionFill; - _singStackView.alignment = UIStackViewAlignmentCenter; - _singStackView.spacing = 11; - } - return _singStackView; -} + - (NetImageView *)rechargeImageView{ if(!_rechargeImageView){ _rechargeImageView = [NetImageView new]; @@ -1177,33 +1057,16 @@ return view;\ - (UILabel *)locateLabel { if (!_locateLabel) { _locateLabel = [[UILabel alloc] init]; - _locateLabel.font = [UIFont systemFontOfSize:12 weight:UIFontWeightMedium]; - _locateLabel.textColor = UIColorFromRGB(0x1a1a1a); + _locateLabel.font = kFontMedium(12); + _locateLabel.textColor = [UIColor colorWithWhite:1 alpha:0.6]; } return _locateLabel; } -- (UIImageView *)relationshipView { - if (!_relationshipView) { - _relationshipView = [[UIImageView alloc] init]; - _relationshipView.image = [UIImage gradientColorImageFromColors:@[UIColorFromRGB(0x41EABA), UIColorFromRGB(0x26cc9c)] - gradientType:GradientTypeTopToBottom - imgSize:CGSizeMake(360, 55)]; - _relationshipView.layer.cornerRadius = 14.5; - _relationshipView.layer.masksToBounds = YES; - _relationshipView.userInteractionEnabled = YES; - } - return _relationshipView; -} - -- (UIView *)stackSpaceView { - return [UIView new]; -} - - (UILabel *)fansNum { if (!_fansNum) { _fansNum = [[UILabel alloc] init]; - _fansNum.font = [UIFont systemFontOfSize:18 weight:UIFontWeightBold]; + _fansNum.font = kFontSemibold(20); _fansNum.textColor = [UIColor whiteColor]; } return _fansNum; @@ -1212,7 +1075,7 @@ return view;\ - (UILabel *)followersNum { if (!_followersNum) { _followersNum = [[UILabel alloc] init]; - _followersNum.font = [UIFont systemFontOfSize:18 weight:UIFontWeightBold]; + _followersNum.font = kFontSemibold(20); _followersNum.textColor = [UIColor whiteColor]; } return _followersNum; diff --git a/YuMi/Modules/YMRoom/View/SendGiftView/GiftComboManager.m b/YuMi/Modules/YMRoom/View/SendGiftView/GiftComboManager.m index 1ada20e5..e2c812cf 100644 --- a/YuMi/Modules/YMRoom/View/SendGiftView/GiftComboManager.m +++ b/YuMi/Modules/YMRoom/View/SendGiftView/GiftComboManager.m @@ -104,6 +104,8 @@ } - (void)registerActions:(void (^)(ComboActionType))action { + _combo = 1; + _errorMessage = @""; self.actionCallback = action; } diff --git a/YuMi/Modules/YMRoom/View/SendGiftView/Presenter/XPGiftPresenter.h b/YuMi/Modules/YMRoom/View/SendGiftView/Presenter/XPGiftPresenter.h index 8032a635..b0d92ca0 100644 --- a/YuMi/Modules/YMRoom/View/SendGiftView/Presenter/XPGiftPresenter.h +++ b/YuMi/Modules/YMRoom/View/SendGiftView/Presenter/XPGiftPresenter.h @@ -14,7 +14,7 @@ NS_ASSUME_NONNULL_BEGIN /// @param uid 查询的用户的uid - (void)getUserInfo:(NSString *)uid; /// 获取用户钱包信息 -- (void)getUserWallInfo; +- (void)getUserWalletInfo; /// 获取面板 Tags 和所有普通礼物,替代 getNormalGiftList: /// @param roomUid 房主的uid 获取房间专属礼物 diff --git a/YuMi/Modules/YMRoom/View/SendGiftView/Presenter/XPGiftPresenter.m b/YuMi/Modules/YMRoom/View/SendGiftView/Presenter/XPGiftPresenter.m index 29ecd5e5..c53107e0 100644 --- a/YuMi/Modules/YMRoom/View/SendGiftView/Presenter/XPGiftPresenter.m +++ b/YuMi/Modules/YMRoom/View/SendGiftView/Presenter/XPGiftPresenter.m @@ -41,7 +41,7 @@ } /// 获取用户钱包信息 -- (void)getUserWallInfo { +- (void)getUserWalletInfo { NSString * uid = [AccountInfoStorage instance].getUid; NSString * ticket = [AccountInfoStorage instance].getTicket; @kWeakify(self); diff --git a/YuMi/Modules/YMRoom/View/SendGiftView/View/XPSendGiftView.m b/YuMi/Modules/YMRoom/View/SendGiftView/View/XPSendGiftView.m index fbcbae3a..42b72b97 100644 --- a/YuMi/Modules/YMRoom/View/SendGiftView/View/XPSendGiftView.m +++ b/YuMi/Modules/YMRoom/View/SendGiftView/View/XPSendGiftView.m @@ -114,7 +114,9 @@ UIKIT_EXTERN NSString * kShowFirstRechargeView; } -(void)dealloc{ - [[NSNotificationCenter defaultCenter]removeObserver:self]; + [[NSNotificationCenter defaultCenter] removeObserver:self]; + + [[GiftComboManager sharedManager] registerActions:nil]; } - (instancetype)initWithType:(SendGiftType)type uid:(NSString * __nullable)uid{ @@ -246,7 +248,7 @@ UIKIT_EXTERN NSString * kShowFirstRechargeView; // [self.presenter getNormalGiftList:self.roomUid]; [self.presenter getTagsAndGifts:self.roomUid]; [self.presenter getUserInfo:[AccountInfoStorage instance].getUid]; - [self.presenter getUserWallInfo]; + [self.presenter getUserWalletInfo]; [self.presenter luckyGiftBroadcastRecord]; if (self.didLoadPackGiftList) { diff --git a/YuMi/Modules/YMRoom/View/XPRoomViewController.m b/YuMi/Modules/YMRoom/View/XPRoomViewController.m index 2b5daf17..cb9b2da8 100644 --- a/YuMi/Modules/YMRoom/View/XPRoomViewController.m +++ b/YuMi/Modules/YMRoom/View/XPRoomViewController.m @@ -283,9 +283,8 @@ NSString * const kHadQuitOtherRoomKey = @"kHadQuitOtherRoomKey";//是否退出 [[NIMSDK sharedSDK].loginManager removeDelegate:self]; [[NIMSDK sharedSDK].conversationManager removeDelegate:self]; [[NIMSDK sharedSDK].broadcastManager removeDelegate:self]; - [[NSNotificationCenter defaultCenter] removeObserver:self]; - [self removeComboManager]; + [[NSNotificationCenter defaultCenter] removeObserver:self]; } - (XPRoomPresenter *)createPresenter { @@ -360,10 +359,6 @@ NSString * const kHadQuitOtherRoomKey = @"kHadQuitOtherRoomKey";//是否退出 [[NIMSDK sharedSDK].broadcastManager addDelegate:self]; } -- (void)removeComboManager { - [[GiftComboManager sharedManager] registerActions:nil]; -} - /// 禮物面板緩存-2: 進房後,用當前的 roomUid 加載最新數據,並緩存 - (void)preLoadGifts { [self.presenter getNormalGiftList:self.roomUid];