64 lines
1.9 KiB
Swift
64 lines
1.9 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")
|
||
}
|
||
|
||
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)
|
||
}
|
||
}
|
||
}
|