From: liangzhenying <867174124@qq.com>
Date: Tue, 24 Feb 2026 06:39:10 +0000 (+0800)
Subject: tableview滚动到底部优化
X-Git-Tag: 1.0.4~1
X-Git-Url: http://git.snicker.com.cn/?a=commitdiff_plain;h=7cf41083b1328d4211a244273d0a3085509df05c;p=mirrors%2FShenYin.git
tableview滚动到底部优化
---
diff --git a/DeepChordsSdk_iOS/DeepChordsSdk/Example/Example/VC/CallRecordVC.swift b/DeepChordsSdk_iOS/DeepChordsSdk/Example/Example/VC/CallRecordVC.swift
index e247ac5..2ac8b8c 100644
--- a/DeepChordsSdk_iOS/DeepChordsSdk/Example/Example/VC/CallRecordVC.swift
+++ b/DeepChordsSdk_iOS/DeepChordsSdk/Example/Example/VC/CallRecordVC.swift
@@ -79,6 +79,27 @@ class CallRecordVC: BaseVC {
CallRecordManager.shared.callRecordNotOnCall = {[weak self] in
guard let self = self else { return }
self.recordBtn.isSelected = false
+ self.view.makeToast("å½åä¸å¨éè¯ç¶æ")
+ }
+ // ç¶æç åè°
+ //20001,///å¼å§å½é³
+ //20002,///忢å½é³
+ //20003,///å½é³åºé
+ //20004,///èçæå¼
+ //30001,///socketè¿ä¸
+ //30002,///socketæå¼è¿æ¥
+ //30003,///socketè¿æ¥ä¸...
+ //30004,///pingè¶
æ¶
+ //50000,///ç½ç»é误
+ //60000,///æªé´æ
+ CallRecordManager.shared.codeCallback = { [weak self] code in
+ guard let self = self else{return}
+ if code == 20001 {
+ self.recordBtn.isSelected = true
+ }
+ else if code == 20002 || code == 20003{
+ self.recordBtn.isSelected = false
+ }
}
}
diff --git a/ShenYin/Pods/Kingfisher/PrivacyInfo.xcprivacy b/ShenYin/Pods/Kingfisher/PrivacyInfo.xcprivacy
deleted file mode 100644
index 6af1641..0000000
--- a/ShenYin/Pods/Kingfisher/PrivacyInfo.xcprivacy
+++ /dev/null
@@ -1,14 +0,0 @@
-
-
-
-
- NSPrivacyTracking
-
- NSPrivacyCollectedDataTypes
-
- NSPrivacyTrackingDomains
-
- NSPrivacyAccessedAPITypes
-
-
-
diff --git a/ShenYin/Pods/MBProgressHUD/PrivacyInfo.xcprivacy b/ShenYin/Pods/MBProgressHUD/PrivacyInfo.xcprivacy
deleted file mode 100644
index 6af1641..0000000
--- a/ShenYin/Pods/MBProgressHUD/PrivacyInfo.xcprivacy
+++ /dev/null
@@ -1,14 +0,0 @@
-
-
-
-
- NSPrivacyTracking
-
- NSPrivacyCollectedDataTypes
-
- NSPrivacyTrackingDomains
-
- NSPrivacyAccessedAPITypes
-
-
-
diff --git a/ShenYin/ShenYin.xcodeproj/project.pbxproj b/ShenYin/ShenYin.xcodeproj/project.pbxproj
index edce901..a881ca5 100644
--- a/ShenYin/ShenYin.xcodeproj/project.pbxproj
+++ b/ShenYin/ShenYin.xcodeproj/project.pbxproj
@@ -17,8 +17,8 @@
644D1BB5EDD3EA1D77C57786 /* Pods_DeepChordsSdk.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 248D8B53B5A178ACA5867275 /* Pods_DeepChordsSdk.framework */; };
7666589AAA94A323B6090425 /* Pods_playboy.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = A4F1BB919D567C3B6B0EBAA7 /* Pods_playboy.framework */; };
7A6613B4B617D6E71D34944C /* Pods_ShenYin.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 90FF0C8B0D4D6AE0933FA672 /* Pods_ShenYin.framework */; };
- 817510A595D00CAD05E3772C /* (null) in Frameworks */ = {isa = PBXBuildFile; };
- F2E449CAD5874BE652A69B50 /* (null) in Frameworks */ = {isa = PBXBuildFile; };
+ 817510A595D00CAD05E3772C /* BuildFile in Frameworks */ = {isa = PBXBuildFile; };
+ F2E449CAD5874BE652A69B50 /* BuildFile in Frameworks */ = {isa = PBXBuildFile; };
/* End PBXBuildFile section */
/* Begin PBXContainerItemProxy section */
@@ -671,31 +671,22 @@
/* End PBXFileSystemSynchronizedBuildFileExceptionSet section */
/* Begin PBXFileSystemSynchronizedGroupBuildPhaseMembershipExceptionSet section */
- 3FCC8B152F1E0280004C2A13 /* Exceptions for "ShenYin" folder in "Embed Frameworks" phase from "ShenYin" target */ = {
+ 3FCC8B152F1E0280004C2A13 /* Exceptions for "ShenYin" folder in "Embed Frameworks" build phase */ = {
isa = PBXFileSystemSynchronizedGroupBuildPhaseMembershipExceptionSet;
- attributesByRelativePath = {
- Sdk/JoySdk/tool/JoyGemAI.framework = (CodeSignOnCopy, RemoveHeadersOnCopy, );
- };
buildPhase = 3FEFE9092F1B252000D82F17 /* Embed Frameworks */;
membershipExceptions = (
Sdk/JoySdk/tool/JoyGemAI.framework,
);
};
- 3FCC8B1A2F1E030E004C2A13 /* Exceptions for "ShenYin" folder in "Embed Frameworks" phase from "playboy" target */ = {
+ 3FCC8B1A2F1E030E004C2A13 /* Exceptions for "ShenYin" folder in "Embed Frameworks" build phase */ = {
isa = PBXFileSystemSynchronizedGroupBuildPhaseMembershipExceptionSet;
- attributesByRelativePath = {
- Sdk/DcSdk/tool/JLAudioUnitKit.xcframework = (CodeSignOnCopy, RemoveHeadersOnCopy, );
- };
buildPhase = 3FD1DFEF2F0E00BF00A62733 /* Embed Frameworks */;
membershipExceptions = (
Sdk/DcSdk/tool/JLAudioUnitKit.xcframework,
);
};
- 3FFB77C62F17A11100EF9A60 /* Exceptions for "DeepChordsSdk" folder in "Embed Frameworks" phase from "DeepChordsSdk" target */ = {
+ 3FFB77C62F17A11100EF9A60 /* Exceptions for "DeepChordsSdk" folder in "Embed Frameworks" build phase */ = {
isa = PBXFileSystemSynchronizedGroupBuildPhaseMembershipExceptionSet;
- attributesByRelativePath = {
- StarburstSdk.framework = (CodeSignOnCopy, RemoveHeadersOnCopy, );
- };
buildPhase = 3FFB77C52F17A11100EF9A60 /* Embed Frameworks */;
membershipExceptions = (
StarburstSdk.framework,
@@ -707,7 +698,7 @@
0D54E0F02F0A61E600A80EE7 /* DeepChordsSdk */ = {
isa = PBXFileSystemSynchronizedRootGroup;
exceptions = (
- 3FFB77C62F17A11100EF9A60 /* Exceptions for "DeepChordsSdk" folder in "Embed Frameworks" phase from "DeepChordsSdk" target */,
+ 3FFB77C62F17A11100EF9A60 /* Exceptions for "DeepChordsSdk" folder in "Embed Frameworks" build phase */,
3FFB77C82F17A14C00EF9A60 /* Exceptions for "DeepChordsSdk" folder in "playboy" target */,
);
path = DeepChordsSdk;
@@ -717,9 +708,9 @@
isa = PBXFileSystemSynchronizedRootGroup;
exceptions = (
3F887BAE2E38D8DD00C98658 /* Exceptions for "ShenYin" folder in "ShenYin" target */,
- 3FCC8B152F1E0280004C2A13 /* Exceptions for "ShenYin" folder in "Embed Frameworks" phase from "ShenYin" target */,
+ 3FCC8B152F1E0280004C2A13 /* Exceptions for "ShenYin" folder in "Embed Frameworks" build phase */,
3FD1DFF52F0E00BF00A62733 /* Exceptions for "ShenYin" folder in "playboy" target */,
- 3FCC8B1A2F1E030E004C2A13 /* Exceptions for "ShenYin" folder in "Embed Frameworks" phase from "playboy" target */,
+ 3FCC8B1A2F1E030E004C2A13 /* Exceptions for "ShenYin" folder in "Embed Frameworks" build phase */,
3F03696C2F2B604900F3CB95 /* Exceptions for "ShenYin" folder in "playboy copy" target */,
);
path = ShenYin;
@@ -748,7 +739,7 @@
isa = PBXFrameworksBuildPhase;
buildActionMask = 2147483647;
files = (
- F2E449CAD5874BE652A69B50 /* (null) in Frameworks */,
+ F2E449CAD5874BE652A69B50 /* BuildFile in Frameworks */,
7A6613B4B617D6E71D34944C /* Pods_ShenYin.framework in Frameworks */,
);
runOnlyForDeploymentPostprocessing = 0;
@@ -758,7 +749,7 @@
buildActionMask = 2147483647;
files = (
3FFB77C12F179F3100EF9A60 /* DeepChordsSdk.framework in Frameworks */,
- 817510A595D00CAD05E3772C /* (null) in Frameworks */,
+ 817510A595D00CAD05E3772C /* BuildFile in Frameworks */,
30B13DEF1AA0E4C54D873276 /* Pods_playboy.framework in Frameworks */,
7666589AAA94A323B6090425 /* Pods_playboy.framework in Frameworks */,
);
@@ -1031,14 +1022,10 @@
inputFileListPaths = (
"${PODS_ROOT}/Target Support Files/Pods-playboy/Pods-playboy-frameworks-${CONFIGURATION}-input-files.xcfilelist",
);
- inputPaths = (
- );
name = "[CP] Embed Pods Frameworks";
outputFileListPaths = (
"${PODS_ROOT}/Target Support Files/Pods-playboy/Pods-playboy-frameworks-${CONFIGURATION}-output-files.xcfilelist",
);
- outputPaths = (
- );
runOnlyForDeploymentPostprocessing = 0;
shellPath = /bin/sh;
shellScript = "\"${PODS_ROOT}/Target Support Files/Pods-playboy/Pods-playboy-frameworks.sh\"\n";
@@ -1074,14 +1061,10 @@
inputFileListPaths = (
"${PODS_ROOT}/Target Support Files/Pods-ShenYin/Pods-ShenYin-frameworks-${CONFIGURATION}-input-files.xcfilelist",
);
- inputPaths = (
- );
name = "[CP] Embed Pods Frameworks";
outputFileListPaths = (
"${PODS_ROOT}/Target Support Files/Pods-ShenYin/Pods-ShenYin-frameworks-${CONFIGURATION}-output-files.xcfilelist",
);
- outputPaths = (
- );
runOnlyForDeploymentPostprocessing = 0;
shellPath = /bin/sh;
shellScript = "\"${PODS_ROOT}/Target Support Files/Pods-ShenYin/Pods-ShenYin-frameworks.sh\"\n";
@@ -1095,14 +1078,10 @@
inputFileListPaths = (
"${PODS_ROOT}/Target Support Files/Pods-ShenYin/Pods-ShenYin-resources-${CONFIGURATION}-input-files.xcfilelist",
);
- inputPaths = (
- );
name = "[CP] Copy Pods Resources";
outputFileListPaths = (
"${PODS_ROOT}/Target Support Files/Pods-ShenYin/Pods-ShenYin-resources-${CONFIGURATION}-output-files.xcfilelist",
);
- outputPaths = (
- );
runOnlyForDeploymentPostprocessing = 0;
shellPath = /bin/sh;
shellScript = "\"${PODS_ROOT}/Target Support Files/Pods-ShenYin/Pods-ShenYin-resources.sh\"\n";
diff --git a/ShenYin/ShenYin/Sdk/DcSdk/VC/DcChatVC.swift b/ShenYin/ShenYin/Sdk/DcSdk/VC/DcChatVC.swift
index e2f4302..e63a4ed 100644
--- a/ShenYin/ShenYin/Sdk/DcSdk/VC/DcChatVC.swift
+++ b/ShenYin/ShenYin/Sdk/DcSdk/VC/DcChatVC.swift
@@ -83,7 +83,7 @@ class DcChatVC:BaseVC{
guard let self = self else{return}
tableView.reloadData()
if DcChatManager.shared.dataList.count > 0 {
- tableView.scrollToRow(at: IndexPath(row: DcChatManager.shared.dataList.count - 1, section: 0), at: .none, animated: true)
+ tableView.scrollToRow(at: IndexPath(row: DcChatManager.shared.dataList.count - 1, section: 0), at: .bottom, animated: true)
}
}
DcChatManager.shared.codeCallback = { [weak self] code in
diff --git a/ShenYin/ShenYin/Sdk/DcSdk/VC/DcChinese2EnglishVC.swift b/ShenYin/ShenYin/Sdk/DcSdk/VC/DcChinese2EnglishVC.swift
index bd19b94..a50b38c 100644
--- a/ShenYin/ShenYin/Sdk/DcSdk/VC/DcChinese2EnglishVC.swift
+++ b/ShenYin/ShenYin/Sdk/DcSdk/VC/DcChinese2EnglishVC.swift
@@ -106,7 +106,7 @@ class DcChinese2EnglishVC:BaseVC{
func refreshData(){
tableView.reloadData()
if dataList.count > 0 {
- tableView.scrollToRow(at: IndexPath(row: dataList.count - 1, section: 0), at: .none, animated: true)
+ tableView.scrollToRow(at: IndexPath(row: dataList.count - 1, section: 0), at: .bottom, animated: true)
bg.isHidden = true
}
else{
diff --git a/ShenYin/ShenYin/Sdk/DcSdk/VC/DcDialogTranslateVC.swift b/ShenYin/ShenYin/Sdk/DcSdk/VC/DcDialogTranslateVC.swift
index 9d55daa..c4ba60f 100644
--- a/ShenYin/ShenYin/Sdk/DcSdk/VC/DcDialogTranslateVC.swift
+++ b/ShenYin/ShenYin/Sdk/DcSdk/VC/DcDialogTranslateVC.swift
@@ -98,7 +98,7 @@ class DcDialogTranslateVC:BaseVC{
func refreshData(){
tableView.reloadData()
if dataList.count > 0 {
- tableView.scrollToRow(at: IndexPath(row: dataList.count - 1, section: 0), at: .none, animated: true)
+ tableView.scrollToRow(at: IndexPath(row: dataList.count - 1, section: 0), at: .bottom, animated: true)
}
splitView.dataList = dataList
}
diff --git a/ShenYin/ShenYin/Sdk/JoySdk/VC/JoyChatVC.swift b/ShenYin/ShenYin/Sdk/JoySdk/VC/JoyChatVC.swift
index c61bbfc..d4c2a1e 100644
--- a/ShenYin/ShenYin/Sdk/JoySdk/VC/JoyChatVC.swift
+++ b/ShenYin/ShenYin/Sdk/JoySdk/VC/JoyChatVC.swift
@@ -153,7 +153,10 @@ class JoyChatVC:BaseVC{
func refreshData(){
tableView.reloadData()
if JoySdkManager.shared.chat.dataList.count > 0 {
- tableView.scrollToRow(at: IndexPath(row: JoySdkManager.shared.chat.dataList.count - 1, section: 0), at: .none, animated: false)
+// DispatchQueue.main.async {
+// self.tableView.layoutIfNeeded()
+ self.tableView.scrollToRow(at: IndexPath(row: JoySdkManager.shared.chat.dataList.count - 1, section: 0), at: .bottom, animated: true)
+// }
}
}
func loadRoleList(){
diff --git a/ShenYin/ShenYin/Sdk/JoySdk/VC/JoyChinese2EnglishVC.swift b/ShenYin/ShenYin/Sdk/JoySdk/VC/JoyChinese2EnglishVC.swift
index 361c5a8..f8e9bfe 100644
--- a/ShenYin/ShenYin/Sdk/JoySdk/VC/JoyChinese2EnglishVC.swift
+++ b/ShenYin/ShenYin/Sdk/JoySdk/VC/JoyChinese2EnglishVC.swift
@@ -106,7 +106,7 @@ class JoyChinese2EnglishVC:BaseVC{
func refreshData(){
tableView.reloadData()
if dataList.count > 0 {
- tableView.scrollToRow(at: IndexPath(row: dataList.count - 1, section: 0), at: .none, animated: true)
+ tableView.scrollToRow(at: IndexPath(row: dataList.count - 1, section: 0), at: .bottom, animated: true)
bg.isHidden = true
}
else{
diff --git a/ShenYin/ShenYin/Sdk/JoySdk/VC/JoyDialogTranlateVC.swift b/ShenYin/ShenYin/Sdk/JoySdk/VC/JoyDialogTranlateVC.swift
index eec522a..5ec3590 100644
--- a/ShenYin/ShenYin/Sdk/JoySdk/VC/JoyDialogTranlateVC.swift
+++ b/ShenYin/ShenYin/Sdk/JoySdk/VC/JoyDialogTranlateVC.swift
@@ -102,7 +102,7 @@ class JoyDialogTranslateVC:BaseVC{
func refreshData(){
tableView.reloadData()
if dataList.count > 0 {
- tableView.scrollToRow(at: IndexPath(row: dataList.count - 1, section: 0), at: .none, animated: true)
+ tableView.scrollToRow(at: IndexPath(row: dataList.count - 1, section: 0), at: .bottom, animated: true)
}
splitView.dataList = dataList
}
diff --git a/ShenYin/ShenYin/UI/Customer/CustomerVC.swift b/ShenYin/ShenYin/UI/Customer/CustomerVC.swift
index e5d4931..39eb5b1 100644
--- a/ShenYin/ShenYin/UI/Customer/CustomerVC.swift
+++ b/ShenYin/ShenYin/UI/Customer/CustomerVC.swift
@@ -86,7 +86,7 @@ class CustomerVC:BaseVC{
func refreshData(){
tableView.reloadData()
if dataList.count > 0 {
- tableView.scrollToRow(at: IndexPath(row: dataList.count - 1, section: 0), at: .none, animated: true)
+ tableView.scrollToRow(at: IndexPath(row: dataList.count - 1, section: 0), at: .bottom, animated: true)
}
}
func addModel(_ model:QaModelListModel){
diff --git a/ShenYin/ShenYin/UI/Home/Dialog/DialogSplitView.swift b/ShenYin/ShenYin/UI/Home/Dialog/DialogSplitView.swift
index 1a49f19..869595c 100644
--- a/ShenYin/ShenYin/UI/Home/Dialog/DialogSplitView.swift
+++ b/ShenYin/ShenYin/UI/Home/Dialog/DialogSplitView.swift
@@ -23,8 +23,8 @@ class DialogSplitView: BaseView {
tableView2.reloadData()
if dataList.count > 0 {
- tableView1.scrollToRow(at: IndexPath(row: dataList.count - 1, section: 0), at: .none, animated: true)
- tableView2.scrollToRow(at: IndexPath(row: dataList.count - 1, section: 0), at: .none, animated: true)
+ tableView1.scrollToRow(at: IndexPath(row: dataList.count - 1, section: 0), at: .bottom, animated: true)
+ tableView2.scrollToRow(at: IndexPath(row: dataList.count - 1, section: 0), at: .bottom, animated: true)
}
}
diff --git a/ShenYin/ShenYin/UI/Home/TextTranslate/TextTranslateVC.swift b/ShenYin/ShenYin/UI/Home/TextTranslate/TextTranslateVC.swift
index d39f0f5..537f4be 100644
--- a/ShenYin/ShenYin/UI/Home/TextTranslate/TextTranslateVC.swift
+++ b/ShenYin/ShenYin/UI/Home/TextTranslate/TextTranslateVC.swift
@@ -67,7 +67,7 @@ class TextTranlateVC:BaseVC{
func refreshData(){
tableView.reloadData()
if dataList.count > 0 {
- tableView.scrollToRow(at: IndexPath(row: dataList.count - 1, section: 0), at: .none, animated: true)
+ tableView.scrollToRow(at: IndexPath(row: dataList.count - 1, section: 0), at: .bottom, animated: true)
}
}
}
diff --git a/ShenYin/ShenYin/UI/Mine/Feedback/FeedbackContentView.swift b/ShenYin/ShenYin/UI/Mine/Feedback/FeedbackContentView.swift
index f855ee9..7604742 100644
--- a/ShenYin/ShenYin/UI/Mine/Feedback/FeedbackContentView.swift
+++ b/ShenYin/ShenYin/UI/Mine/Feedback/FeedbackContentView.swift
@@ -44,7 +44,7 @@ class FeedbackContentView: BaseView {
list.append(model)
tableView.reloadData()
if list.count > 0 {
- tableView.scrollToRow(at: IndexPath(row: list.count - 1, section: 0), at: .none, animated: true)
+ tableView.scrollToRow(at: IndexPath(row: list.count - 1, section: 0), at: .bottom, animated: true)
}
}
}
diff --git a/ShenYin/ShenYin/UI/Mine/Feedback/FeekbackVC.swift b/ShenYin/ShenYin/UI/Mine/Feedback/FeekbackVC.swift
index 0ce0314..a66da9d 100644
--- a/ShenYin/ShenYin/UI/Mine/Feedback/FeekbackVC.swift
+++ b/ShenYin/ShenYin/UI/Mine/Feedback/FeekbackVC.swift
@@ -81,7 +81,7 @@ class FeekbackVC:BaseVC{
func refreshData(){
tableView.reloadData()
if dataList.count > 0 {
- tableView.scrollToRow(at: IndexPath(row: dataList.count - 1, section: 0), at: .none, animated: true)
+ tableView.scrollToRow(at: IndexPath(row: dataList.count - 1, section: 0), at: .bottom, animated: true)
}
}
func addModel(_ model:QaModelListModel){
diff --git a/ShenYin/ShenYin/UI/Raisound/RSChatVC.swift b/ShenYin/ShenYin/UI/Raisound/RSChatVC.swift
index ded8bf3..56e1f2e 100644
--- a/ShenYin/ShenYin/UI/Raisound/RSChatVC.swift
+++ b/ShenYin/ShenYin/UI/Raisound/RSChatVC.swift
@@ -143,7 +143,7 @@ class RSChatVC:BaseVC{
func refreshData(){
tableView.reloadData()
if dataList.count > 0 {
- tableView.scrollToRow(at: IndexPath(row: dataList.count - 1, section: 0), at: .none, animated: false)
+ tableView.scrollToRow(at: IndexPath(row: dataList.count - 1, section: 0), at: .bottom, animated: true)
}
}
override func navRightViewTapped() {
diff --git a/ShenYin/podfile b/ShenYin/podfile
index b32c0c4..72904a7 100644
--- a/ShenYin/podfile
+++ b/ShenYin/podfile
@@ -51,9 +51,9 @@ target 'ShenYin' do
pod 'HorizonCalendar'#æ¥å
#é«å¾·å°å¾
- pod 'AMap3DMap-NO-IDFA', '10.0.700'
- pod 'AMapLocation-NO-IDFA'
- pod 'AMapSearch-NO-IDFA', '9.7.0'
+# pod 'AMap3DMap-NO-IDFA', '10.0.700'
+# pod 'AMapLocation-NO-IDFA'
+# pod 'AMapSearch-NO-IDFA', '9.7.0'
end