fix(ios): ZXSettingToggleRow 支持自定义图标 + iCloud cloud icon

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
This commit is contained in:
wangdl 2026-05-30 09:52:45 +08:00
parent ecc2ad5aa8
commit 794cd4cdd9

View File

@ -58,7 +58,7 @@ struct SettingsView: View {
sectionHeader("数据")
VStack(spacing: 0) {
ZXSettingToggleRow(title: "iCloud 同步", icon: "icon-cloud", color: Color.zxTeal, isOn: $iCloudSync)
ZXSettingToggleRow(title: "iCloud 同步", icon: "icon-cloud", color: Color.zxTeal, isOn: $iCloudSync, isCustom: true)
ZXSettingDivider()
ZXSettingToggleRow(title: "自动备份", icon: "arrow.triangle.2.circlepath", color: Color.zxAccent, isOn: $autoBackup)
}
@ -171,10 +171,11 @@ struct ZXSettingRow: View {
}
struct ZXSettingToggleRow: View {
let title: String; let icon: String; let color: Color; @Binding var isOn: Bool
let title: String; let icon: String; let color: Color; @Binding var isOn: Bool; var isCustom: Bool = false
var body: some View {
HStack(spacing: 12) {
Image(systemName: icon).font(.system(size: 18)).foregroundColor(color)
if isCustom { Image(icon).resizable().scaledToFit().frame(width: 20, height: 20).foregroundColor(color) }
else { Image(systemName: icon).font(.system(size: 18)).foregroundColor(color) }
Text(title).font(.system(size: 14, weight: .semibold)).foregroundColor(Color.zxF0)
Spacer()
Toggle("", isOn: $isOn).labelsHidden().tint(Color.zxPurple)