From 24d94e230985f815c02dd808319fd3b00bc26864 Mon Sep 17 00:00:00 2001
From: Ariver <shanghai3168@gmail.com>
Date: Mon, 18 May 2026 17:04:31 +0800
Subject: [PATCH] Center tag settings layout
---
Apptag/TagEditorView.swift | 45 ++++++++++++++++++++++++++++++++++-----------
Apptag/PreferencesView.swift | 1 -
Apptag/Info.plist | 4 ++--
CHANGELOG.md | 6 ++++++
4 files changed, 42 insertions(+), 14 deletions(-)
diff --git a/Apptag/Info.plist b/Apptag/Info.plist
index 22223b0..8ec0063 100644
--- a/Apptag/Info.plist
+++ b/Apptag/Info.plist
@@ -19,9 +19,9 @@
<key>CFBundlePackageType</key>
<string>APPL</string>
<key>CFBundleShortVersionString</key>
- <string>7.3.1</string>
+ <string>7.3.2</string>
<key>CFBundleVersion</key>
- <string>740</string>
+ <string>741</string>
<key>LSMinimumSystemVersion</key>
<string>15.0</string>
<key>NSHighResolutionCapable</key>
diff --git a/Apptag/PreferencesView.swift b/Apptag/PreferencesView.swift
index 2ed9218..1a89d05 100644
--- a/Apptag/PreferencesView.swift
+++ b/Apptag/PreferencesView.swift
@@ -484,7 +484,6 @@
onRefresh: { scanApps() }
)
}
- .padding(.leading, 16)
.tabItem { Label(tr("settings.tags"), systemImage: "tag.fill") }
.onAppear { scanApps() }
diff --git a/Apptag/TagEditorView.swift b/Apptag/TagEditorView.swift
index 866b7ef..775170a 100644
--- a/Apptag/TagEditorView.swift
+++ b/Apptag/TagEditorView.swift
@@ -15,6 +15,9 @@
@State private var newTagNameText = ""
@State private var newTagColorIndex = 0
+ private let contentMaxWidth: CGFloat = 980
+ private let contentHorizontalPadding: CGFloat = 34
+
private var sortedTagNames: [String] {
let order = TagEditor.orderedTagNames()
let filtered = tagColors.keys.filter { !excludedTagNames.contains($0) }
@@ -38,9 +41,14 @@
}
.buttonStyle(.bordered)
}
- .padding(.horizontal, 16).padding(.vertical, 8)
+ .frame(maxWidth: contentMaxWidth)
+ .padding(.horizontal, contentHorizontalPadding)
+ .padding(.vertical, 8)
- Divider().opacity(0.3)
+ Divider()
+ .opacity(0.3)
+ .frame(maxWidth: contentMaxWidth)
+ .padding(.horizontal, contentHorizontalPadding)
ScrollView {
VStack(spacing: 0) {
@@ -52,15 +60,25 @@
}
if addingNewTag {
newTagRow()
- Divider().opacity(0.15).padding(.leading, 16)
+ rowDivider
}
ForEach(sortedTagNames, id: \.self) { tagName in
tagEditRow(tagName)
- Divider().opacity(0.15).padding(.leading, 16)
+ rowDivider
}
}
+ .frame(maxWidth: contentMaxWidth)
+ .padding(.horizontal, contentHorizontalPadding)
+ .frame(maxWidth: .infinity, alignment: .center)
}
}
+ .frame(maxWidth: .infinity, alignment: .center)
+ }
+
+ private var rowDivider: some View {
+ Divider()
+ .opacity(0.15)
+ .frame(maxWidth: contentMaxWidth)
}
// MARK: - Tag Row
@@ -84,13 +102,18 @@
placeholder: tr("tag.name"),
onSubmit: { commitTagRename(tagName) }
)
- .frame(width: 160, height: 24)
+ .frame(minWidth: 220, maxWidth: .infinity, minHeight: 24, maxHeight: 24)
Button(tr("tag.save")) { commitTagRename(tagName) }
.buttonStyle(.borderedProminent).controlSize(.small)
Button(tr("tag.cancel")) { editingTagName = nil }
.buttonStyle(.plain).foregroundStyle(.secondary)
} else {
- Text(tagName).font(.system(size: 14)).frame(width: 160, alignment: .leading)
+ Text(tagName)
+ .font(.system(size: 14))
+ .lineLimit(1)
+ .truncationMode(.middle)
+ .frame(minWidth: 220, maxWidth: .infinity, alignment: .leading)
+ .help(tagName)
Button { startRename(tagName) } label: {
Image(systemName: "pencil").font(.system(size: 11))
}
@@ -100,9 +123,9 @@
}
.buttonStyle(.plain).foregroundStyle(.red)
}
- Spacer()
}
- .padding(.horizontal, 20).padding(.vertical, 10)
+ .frame(maxWidth: .infinity, alignment: .leading)
+ .padding(.vertical, 10)
}
// MARK: - New Tag Row
@@ -121,14 +144,14 @@
placeholder: tr("tag.newName"),
onSubmit: { addNewTag() }
)
- .frame(width: 160, height: 24)
+ .frame(minWidth: 220, maxWidth: .infinity, minHeight: 24, maxHeight: 24)
Button(tr("tag.add")) { addNewTag() }
.buttonStyle(.borderedProminent).controlSize(.small)
Button(tr("tag.cancel")) { addingNewTag = false; newTagNameText = "" }
.buttonStyle(.plain).foregroundStyle(.secondary)
- Spacer()
}
- .padding(.horizontal, 20).padding(.vertical, 10)
+ .frame(maxWidth: .infinity, alignment: .leading)
+ .padding(.vertical, 10)
}
// MARK: - Actions
diff --git a/CHANGELOG.md b/CHANGELOG.md
index 25f762d..71cf978 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -1,5 +1,11 @@
# Apptag Changelog
+## [7.3.2] — 2026-05-18
+
+- 优化设置页「标签」界面布局,将标签列表内容区整体居中,避免左侧拥挤、右侧大面积留白
+- 标签名称区域改为自适应占用剩余空间,长标签名使用中间截断并保留悬停提示,兼顾不同语言长度
+- 版本号更新为 `7.3.2`,Build 更新为 `741`
+
## [7.3.1] — 2026-05-18
- 将拖动 App 到「未分类」时的确认提示从系统弹窗改为应用列表内部浮层,视觉样式与现有确认反馈保持一致
--
Gitblit v1.9.3