123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167 |
- //
- // TSChangeLanguageVC.swift
- // TSLiveWallpaper
- //
- // Created by 100Years on 2025/7/10.
- //
- class TSChangeLanguageVC: TSBaseVC {
-
- lazy var simpleTableView: TSBaseTableView = {
- let simpleTableView = TSBaseTableView()
- simpleTableView.register(TSChangeLanguageCell.self, forCellReuseIdentifier: "TSChangeLanguageCell")
- simpleTableView.delegate = self
- simpleTableView.dataSource = self
- return simpleTableView
- }()
-
- var selectedIndex:Int = 0
- lazy var dataArray:[LanguageManager.AppLanguage] = LanguageManager.AppLanguage.allCases
-
- override func createData() {
- if LanguageManager.shared.followSystem {
- selectedIndex = 0
- }else{
- let currentLanguage = LanguageManager.shared.currentLanguage
- for (i,language) in dataArray.enumerated() {
- if language == currentLanguage {
- selectedIndex = i
- break
- }
- }
- }
- }
-
- override func createView() {
- setPageTitle("Change Language".localized)
-
- // _ = setNavigationItem("Save".localized, imageName: "", direction: .right, action: #selector(clickSave))
-
- contentView.addSubview(simpleTableView)
- simpleTableView.snp.makeConstraints { make in
- make.leading.equalTo(16)
- make.trailing.equalTo(-16)
- make.top.equalTo(16)
- make.bottom.equalTo(0)
- }
- }
-
- @objc func clickSave() {
- LanguageManager.shared.currentLanguage = dataArray.safeObj(At: selectedIndex) ?? .en
- TSRTLManage.setUpInit()
- AppDelegate.shared?.goToTab()
- }
- }
- extension TSChangeLanguageVC : UITableViewDataSource, UITableViewDelegate {
-
- public func numberOfSections(in tableView: UITableView) -> Int {
- return 1
- }
-
- public func tableView(_ tableView: UITableView, numberOfRowsInSection section: Int) -> Int {
- return dataArray.count
- }
-
- public func tableView(_ tableView: UITableView, heightForRowAt indexPath: IndexPath) -> CGFloat {
- return 64
- }
-
- public func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell {
- if let cell = tableView.dequeueReusableCell(withIdentifier: "TSChangeLanguageCell") as? TSChangeLanguageCell{
- if let language = dataArray.safeObj(At: indexPath.row){
- if let image = UIImage(named: language.flag) {
- cell.leftImageView.image = UIImage(named: language.flag)
- }else{
- cell.leftLab.text = language.flag
- }
- cell.textLab.text = language.displayName
- cell.rightImageView.image = selectedIndex == indexPath.row ? .check : .unCheck
- }
- return cell
- }
-
- return UITableViewCell()
- }
-
- public func tableView(_ tableView: UITableView, didSelectRowAt indexPath: IndexPath) {
- selectedIndex = indexPath.row
- simpleTableView.reloadData()
- clickSave()
- }
- }
- class TSChangeLanguageCell: UITableViewCell {
-
- open lazy var bgContentView:UIView = {
- let view = UIView()
- view.backgroundColor = .white.withAlphaComponent(0.1)
- return view
- }()
-
- public override init(style: UITableViewCell.CellStyle, reuseIdentifier: String?) {
- super.init(style: style, reuseIdentifier: reuseIdentifier)
- self.selectionStyle = .none
- self.backgroundColor = .clear
- self.addSubview(bgContentView)
- bgContentView.snp.makeConstraints { make in
- make.top.leading.trailing.bottom.equalTo(0)
- }
- creatUI()
- }
-
- required public init?(coder: NSCoder) {
- fatalError("init(coder:) has not been implemented")
- }
-
- lazy var leftImageView: UIImageView = {
- let leftImageView = UIImageView.createImageView()
- return leftImageView
- }()
-
- lazy var leftLab: UILabel = {
- return UILabel.createLabel(font: .font(size: 16),textColor: .white,textAlignment: .center)
- }()
-
- lazy var textLab: UILabel = {
- return UILabel.createLabel(font: .font(size: 16),textColor: .white)
- }()
- lazy var rightImageView: UIImageView = {
- return UIImageView.createImageView()
- }()
-
- func creatUI() {
- bgContentView.addSubview(leftLab)
- bgContentView.addSubview(leftImageView)
- bgContentView.addSubview(textLab)
- bgContentView.addSubview(rightImageView)
- leftImageView.snp.makeConstraints { make in
- make.leading.equalTo(16)
- make.centerY.equalToSuperview()
- make.width.height.equalTo(20)
- }
-
- leftLab.snp.makeConstraints { make in
- make.leading.equalTo(16)
- make.centerY.equalToSuperview()
- make.width.height.equalTo(20)
- }
-
- textLab.snp.makeConstraints { make in
- make.leading.equalTo(leftImageView.snp.trailing).offset(12)
- make.centerY.equalToSuperview()
- }
-
- rightImageView.snp.makeConstraints { make in
- make.trailing.equalTo(-16)
- make.centerY.equalToSuperview()
- make.width.height.equalTo(16)
- }
-
- }
- }
|