Integrate高德 SDK with simulator-safe build flags, add map views for operating area and punch points, refactor main tabs and key feature screens to UIKit with Diffable lists, and document Swift concurrency defaults in AGENTS.md. Co-authored-by: Cursor <cursoragent@cursor.com>
66 lines
2.0 KiB
Swift
66 lines
2.0 KiB
Swift
//
|
||
// HomePlaceholderViewController.swift
|
||
// suixinkan
|
||
//
|
||
// Created by Codex on 2026/6/26.
|
||
//
|
||
|
||
import SnapKit
|
||
import UIKit
|
||
|
||
/// 首页迁移占位页,用于尚未完成 UIKit 迁移的入口。
|
||
final class HomePlaceholderViewController: UIViewController {
|
||
private let pageTitle: String
|
||
private let uri: String?
|
||
|
||
/// 初始化实例。
|
||
init(title: String, uri: String? = nil) {
|
||
pageTitle = title
|
||
self.uri = uri
|
||
super.init(nibName: nil, bundle: nil)
|
||
}
|
||
|
||
@available(*, unavailable)
|
||
required init?(coder: NSCoder) {
|
||
fatalError("init(coder:) has not been implemented")
|
||
}
|
||
|
||
/// 视图加载完成后的 UI 初始化与数据绑定。
|
||
override func viewDidLoad() {
|
||
super.viewDidLoad()
|
||
title = pageTitle
|
||
view.backgroundColor = UIColor(hex: 0xF5F7FA)
|
||
|
||
let iconView = UIImageView(image: UIImage(systemName: "square.grid.2x2"))
|
||
iconView.tintColor = AppDesign.primary
|
||
iconView.contentMode = .scaleAspectFit
|
||
|
||
let titleLabel = UILabel()
|
||
titleLabel.text = pageTitle
|
||
titleLabel.font = .systemFont(ofSize: 20, weight: .semibold)
|
||
titleLabel.textColor = AppDesign.textPrimary
|
||
titleLabel.textAlignment = .center
|
||
|
||
let uriLabel = UILabel()
|
||
uriLabel.text = uri
|
||
uriLabel.font = .systemFont(ofSize: 14)
|
||
uriLabel.textColor = AppDesign.textSecondary
|
||
uriLabel.textAlignment = .center
|
||
uriLabel.numberOfLines = 2
|
||
uriLabel.isHidden = uri?.isEmpty != false
|
||
|
||
let stack = UIStackView(arrangedSubviews: [iconView, titleLabel, uriLabel])
|
||
stack.axis = .vertical
|
||
stack.spacing = 12
|
||
stack.alignment = .center
|
||
view.addSubview(stack)
|
||
stack.snp.makeConstraints { make in
|
||
make.center.equalToSuperview()
|
||
make.leading.trailing.equalToSuperview().inset(24)
|
||
}
|
||
iconView.snp.makeConstraints { make in
|
||
make.width.height.equalTo(44)
|
||
}
|
||
}
|
||
}
|