对齐旅拍相册详情页 Android UI,并修复网格预览与布局问题。
重构相册详情为信息卡片、Tab 筛选、排序、批量删除与底部上传栏;修复网格重叠、禁用按钮蒙层,并支持点击预览大图。同步扩展素材列表 API 与 ViewModel 分页逻辑,并优化有线传图缩略图与传输性能。 Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
@ -0,0 +1,34 @@
|
||||
//
|
||||
// MiddleTruncatedText.swift
|
||||
// suixinkan
|
||||
//
|
||||
// 文件名中间省略展示,对齐 Android MiddleEllipsisTextView。
|
||||
//
|
||||
|
||||
import SwiftUI
|
||||
import UIKit
|
||||
|
||||
/// 中间省略文本,用于长文件名展示。
|
||||
struct MiddleTruncatedText: UIViewRepresentable {
|
||||
let text: String
|
||||
var font: UIFont = .systemFont(ofSize: 11, weight: .regular)
|
||||
var textColor: UIColor = UIColor(red: 0.2, green: 0.2, blue: 0.2, alpha: 1)
|
||||
|
||||
/// 创建中间省略 UILabel。
|
||||
func makeUIView(context: Context) -> UILabel {
|
||||
let label = UILabel()
|
||||
label.lineBreakMode = .byTruncatingMiddle
|
||||
label.numberOfLines = 1
|
||||
label.setContentHuggingPriority(.required, for: .vertical)
|
||||
label.setContentCompressionResistancePriority(.defaultLow, for: .horizontal)
|
||||
label.setContentCompressionResistancePriority(.required, for: .vertical)
|
||||
return label
|
||||
}
|
||||
|
||||
/// 更新文本样式。
|
||||
func updateUIView(_ uiView: UILabel, context: Context) {
|
||||
uiView.text = text
|
||||
uiView.font = font
|
||||
uiView.textColor = textColor
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user