Commit 1d2ad718 authored by CZ1004's avatar CZ1004

修改详情页面

parent 4608b52c
......@@ -2,7 +2,7 @@
// IntentHandler.swift
// ChargeShow
//
// Created by edy on 2025/4/7.
// Created by edy on 2025/4/10.
//
import Intents
......@@ -21,7 +21,7 @@ class IntentHandler: INExtension, INSendMessageIntentHandling, INSearchForMessag
override func handler(for intent: INIntent) -> Any {
// This is the default implementation. If you want different objects to handle different intents,
// you can override this and return the handler you want for that particular intent.
print("有反应么")
return self
}
......
......@@ -7,7 +7,7 @@
<key>INIntentDefinitionModelVersion</key>
<string>1.2</string>
<key>INIntentDefinitionNamespace</key>
<string>hAB6zR</string>
<string>3lzBiO</string>
<key>INIntentDefinitionSystemVersion</key>
<string>24D81</string>
<key>INIntentDefinitionToolsBuildVersion</key>
......@@ -21,10 +21,8 @@
<string>generic</string>
<key>INIntentConfigurable</key>
<true/>
<key>INIntentDescription</key>
<string>充电壁纸</string>
<key>INIntentDescriptionID</key>
<string>wDHi0A</string>
<string>7KMVSC</string>
<key>INIntentManagedParameterCombinations</key>
<dict>
<key></key>
......@@ -64,9 +62,9 @@
</array>
</dict>
<key>INIntentTitle</key>
<string>Charge Show</string>
<string>Run charging animation</string>
<key>INIntentTitleID</key>
<string>wwbZJW</string>
<string>QeNY2I</string>
<key>INIntentType</key>
<string>Custom</string>
<key>INIntentVerb</key>
......
This diff is collapsed.
......@@ -15,6 +15,8 @@ class HomePhotosDetailViewController : BaseViewController {
private var currentHeaderView: HomePhotosDetailCustomHeaderView?
@MainActor required init?(coder: NSCoder) {
fatalError("init(coder:) has not been implemented")
}
......@@ -50,7 +52,11 @@ class HomePhotosDetailViewController : BaseViewController {
// 当前页面选中的
var selectedModel : [String] = [] {
didSet{
if self.selectedModel.count == 1{
self.deleteButton.setTitle("Delete \(self.selectedModel.count) Video", for: .normal)
}else{
self.deleteButton.setTitle("Delete \(selectedModel.count) Videos", for: .normal)
}
}
}
......@@ -76,9 +82,20 @@ class HomePhotosDetailViewController : BaseViewController {
}()
lazy var emptyTrashView : EmptyTrashView = {
let view = EmptyTrashView()
view.backgroundColor = .white
// lazy var emptyTrashView : EmptyTrashView = {
// let view = EmptyTrashView()
// view.backgroundColor = .white
// return view
// }()
lazy var deleteButton : UIButton = {
let view = UIButton()
view.setTitle("Delete", for: UIControl.State.normal)
view.setTitleColor(.white, for: .normal)
view.clipsToBounds = true
view.layer.cornerRadius = 23
view.backgroundColor = UIColor(red: 0.7, green: 0.7, blue: 0.7, alpha: 1)
view.addTarget(self, action: #selector(deleteButtonAction), for: .touchUpInside)
return view
}()
......@@ -89,18 +106,50 @@ class HomePhotosDetailViewController : BaseViewController {
videoDetailNavView = VideoDetaiNavView(frame: CGRect(x: 0, y: 0, width: self.view.width, height: statusBarHeight + 44))
self.view.addSubview(videoDetailNavView!)
videoDetailNavView?.snp.makeConstraints({ make in
make.top.centerX.width.equalToSuperview()
make.height.equalTo(statusBarHeight + 44)
})
self.view.addSubview(self.emptyTrashView)
self.emptyTrashView.snp.makeConstraints { make in
make.left.right.equalToSuperview()
make.bottom.equalToSuperview().offset(-34)
make.height.equalTo(70)
self.videoDetailNavView?.selectAllCallBack = {[weak self] choose in
guard let self else {return}
if choose == true {
self.selectedModel = self.resourceData
}else{
self.selectedModel.removeAll()
}
DispatchQueue.main.async {
self.collectionView.reloadData()
if self.selectedModel.count > 0 {
self.deleteButton.backgroundColor = UIColor(red: 0, green: 0.51, blue: 1, alpha: 1)
}else{
self.deleteButton.backgroundColor = UIColor(red: 0.7, green: 0.7, blue: 0.7, alpha: 1)
self.deleteButton.setTitle("Delete", for: .normal)
}
}
}
// self.view.addSubview(self.emptyTrashView)
// self.emptyTrashView.snp.makeConstraints { make in
// make.left.right.equalToSuperview()
// make.bottom.equalToSuperview().offset(-34)
// make.height.equalTo(70)
// }
self.view.insertSubview(collectionView, at: 0)
self.view.addSubview(self.deleteButton)
self.deleteButton.snp.makeConstraints { make in
make.top.equalTo(self.collectionView.snp.bottom).offset(16)
make.left.equalToSuperview().offset(15)
make.right.equalToSuperview().offset(-15)
make.height.equalTo(46)
}
}
override func viewDidLoad() {
......@@ -142,6 +191,13 @@ extension HomePhotosDetailViewController:WaterfallMutiSectionDelegate,UICollecti
cell.resourceIdent = self.resourceData[indexPath.row]
cell.currentOrder = indexPath.row
if self.selectedModel.contains(cell.resourceIdent) {
cell.choose = true
}else{
cell.choose = false
}
cell.cellCallBack = {[weak self] ident,order in
guard let self else {return}
DispatchQueue.main.async {
......@@ -152,6 +208,22 @@ extension HomePhotosDetailViewController:WaterfallMutiSectionDelegate,UICollecti
self.navigationController?.pushViewController(vc, animated: true)
}
}
cell.clickCallBack = {[weak self] click,order in
guard let self else {return}
if click == true {
self.selectedModel.append(self.resourceData[order])
}else{
self.selectedModel.removeAll { $0 == self.resourceData[order] }
}
DispatchQueue.main.async {
if self.selectedModel.count > 0 {
self.deleteButton.backgroundColor = UIColor(red: 0, green: 0.51, blue: 1, alpha: 1)
}else{
self.deleteButton.backgroundColor = UIColor(red: 0.7, green: 0.7, blue: 0.7, alpha: 1)
self.deleteButton.setTitle("Delete", for: .normal)
}
}
}
return cell
}
......@@ -220,8 +292,6 @@ extension HomePhotosDetailViewController:WaterfallMutiSectionDelegate,UICollecti
return footer
}
}
func sortByType(sortType:Int){
let viewModel = CompressViewModel()
......@@ -313,11 +383,6 @@ extension HomePhotosDetailViewController:WaterfallMutiSectionDelegate,UICollecti
}
}
}
......@@ -346,8 +411,6 @@ extension HomePhotosDetailViewController:WaterfallMutiSectionDelegate,UICollecti
}
}
}
......
......@@ -7,6 +7,9 @@
import Foundation
class HomeVideoDetailCustomHeaderView : UICollectionReusableView {
var sortCallback : ()->Void = {}
lazy var modelTitlelabel :UILabel = {
let label = UILabel()
label.text = "Videos"
......@@ -21,6 +24,13 @@ class HomeVideoDetailCustomHeaderView : UICollectionReusableView {
view.backgroundColor = UIColor(red: 0.95, green: 0.96, blue: 0.99, alpha: 1)
view.layer.cornerRadius = 16
view.clipsToBounds = true
let tap = UITapGestureRecognizer()
tap.addTarget(self, action: #selector(sortAction))
view.isUserInteractionEnabled = true
view.addGestureRecognizer(tap)
return view
}()
......@@ -46,52 +56,52 @@ class HomeVideoDetailCustomHeaderView : UICollectionReusableView {
return label
}()
lazy var tipBackView :UIView = {
let view = UIView()
view.backgroundColor = UIColor(red: 0.95, green: 0.96, blue: 0.99, alpha: 1)
view.layer.cornerRadius = 8
view.clipsToBounds = true
return view
}()
lazy var tipImageView :UIImageView = {
let view = UIImageView()
view.image = UIImage(named: "ic_cmpress_home_nor")
return view
}()
lazy var tipLabel :UILabel = {
let label = UILabel()
label.text = "Video Compress"
label.textAlignment = .left
label.numberOfLines = 0
label.font = UIFont.systemFont(ofSize: 16, weight: .bold)
return label
}()
lazy var tipDetailLabel :UILabel = {
let label = UILabel()
label.text = "Tap to start the process"
label.textAlignment = .left
label.numberOfLines = 0
label.textColor = UIColor(red: 0.7, green: 0.7, blue: 0.7, alpha: 1)
label.font = UIFont.systemFont(ofSize: 12, weight: .regular)
return label
}()
lazy var saveSizeLabel :UILabel = {
let label = UILabel()
label.text = "13.5M"
label.textAlignment = .right
label.textColor = UIColor(red: 0, green: 0.51, blue: 1, alpha: 1)
label.font = UIFont.systemFont(ofSize: 16, weight: .bold)
return label
}()
lazy var moreImageView :UIImageView = {
let view = UIImageView()
view.image = UIImage(named: "icon_left_setting_grey")
return view
}()
// lazy var tipBackView :UIView = {
// let view = UIView()
// view.backgroundColor = UIColor(red: 0.95, green: 0.96, blue: 0.99, alpha: 1)
// view.layer.cornerRadius = 8
// view.clipsToBounds = true
// return view
// }()
// lazy var tipImageView :UIImageView = {
// let view = UIImageView()
// view.image = UIImage(named: "ic_cmpress_home_nor")
// return view
// }()
//
// lazy var tipLabel :UILabel = {
// let label = UILabel()
// label.text = "Video Compress"
// label.textAlignment = .left
// label.numberOfLines = 0
// label.font = UIFont.systemFont(ofSize: 16, weight: .bold)
// return label
// }()
//
// lazy var tipDetailLabel :UILabel = {
// let label = UILabel()
// label.text = "Tap to start the process"
// label.textAlignment = .left
// label.numberOfLines = 0
// label.textColor = UIColor(red: 0.7, green: 0.7, blue: 0.7, alpha: 1)
// label.font = UIFont.systemFont(ofSize: 12, weight: .regular)
// return label
// }()
//
// lazy var saveSizeLabel :UILabel = {
// let label = UILabel()
// label.text = "13.5M"
// label.textAlignment = .right
// label.textColor = UIColor(red: 0, green: 0.51, blue: 1, alpha: 1)
// label.font = UIFont.systemFont(ofSize: 16, weight: .bold)
// return label
// }()
//
// lazy var moreImageView :UIImageView = {
// let view = UIImageView()
// view.image = UIImage(named: "icon_left_setting_grey")
// return view
// }()
......@@ -105,12 +115,12 @@ class HomeVideoDetailCustomHeaderView : UICollectionReusableView {
self.btnView.addSubview(self.selectImageView)
self.btnView.addSubview(self.selectlabel)
self.addSubview(self.tipBackView)
self.tipBackView.addSubview(self.tipImageView)
self.tipBackView.addSubview(self.tipLabel)
self.tipBackView.addSubview(self.tipDetailLabel)
self.tipBackView.addSubview(self.saveSizeLabel)
self.tipBackView.addSubview(self.moreImageView)
// self.addSubview(self.tipBackView)
// self.tipBackView.addSubview(self.tipImageView)
// self.tipBackView.addSubview(self.tipLabel)
// self.tipBackView.addSubview(self.tipDetailLabel)
// self.tipBackView.addSubview(self.saveSizeLabel)
// self.tipBackView.addSubview(self.moreImageView)
......@@ -146,44 +156,44 @@ class HomeVideoDetailCustomHeaderView : UICollectionReusableView {
make.height.equalTo(20)
}
self.tipBackView.snp.makeConstraints { make in
make.left.equalTo(0)
make.right.equalTo(0)
make.top.equalTo(self.sizeLabel.snp.bottom).offset(12)
make.height.equalTo(70)
}
self.tipImageView.snp.makeConstraints { make in
make.left.equalToSuperview().offset(15)
make.centerY.equalToSuperview()
make.width.height.equalTo(30)
}
self.tipLabel.snp.makeConstraints { make in
make.left.equalTo(self.tipImageView.snp.right).offset(10)
make.width.equalTo(150 * RScreenW())
make.height.equalTo(22)
make.top.equalToSuperview().offset(15)
}
self.tipDetailLabel.snp.makeConstraints { make in
make.left.equalTo(self.tipImageView.snp.right).offset(10)
make.width.equalTo(150 * RScreenW())
make.height.equalTo(18)
make.top.equalTo(self.tipLabel.snp.bottom).offset(0)
}
self.moreImageView.snp.makeConstraints { make in
make.height.width.equalTo(20)
make.right.equalToSuperview().offset(-15)
make.centerY.equalToSuperview()
}
self.saveSizeLabel.snp.makeConstraints { make in
make.centerY.equalToSuperview()
make.right.equalTo(self.moreImageView.snp.left).offset(-10)
make.height.equalTo(28)
make.width.equalTo(100)
}
// self.tipBackView.snp.makeConstraints { make in
// make.left.equalTo(0)
// make.right.equalTo(0)
// make.top.equalTo(self.sizeLabel.snp.bottom).offset(12)
// make.height.equalTo(70)
// }
//
// self.tipImageView.snp.makeConstraints { make in
// make.left.equalToSuperview().offset(15)
// make.centerY.equalToSuperview()
// make.width.height.equalTo(30)
//
// }
// self.tipLabel.snp.makeConstraints { make in
// make.left.equalTo(self.tipImageView.snp.right).offset(10)
// make.width.equalTo(150 * RScreenW())
// make.height.equalTo(22)
// make.top.equalToSuperview().offset(15)
// }
// self.tipDetailLabel.snp.makeConstraints { make in
// make.left.equalTo(self.tipImageView.snp.right).offset(10)
// make.width.equalTo(150 * RScreenW())
// make.height.equalTo(18)
// make.top.equalTo(self.tipLabel.snp.bottom).offset(0)
// }
//
// self.moreImageView.snp.makeConstraints { make in
// make.height.width.equalTo(20)
// make.right.equalToSuperview().offset(-15)
// make.centerY.equalToSuperview()
// }
//
// self.saveSizeLabel.snp.makeConstraints { make in
// make.centerY.equalToSuperview()
// make.right.equalTo(self.moreImageView.snp.left).offset(-10)
// make.height.equalTo(28)
// make.width.equalTo(100)
// }
}
override init(frame: CGRect) {
......@@ -197,4 +207,8 @@ class HomeVideoDetailCustomHeaderView : UICollectionReusableView {
super.init(coder: aDecoder)
setUI()
}
@objc func sortAction(){
sortCallback()
}
}
......@@ -8,8 +8,28 @@
import Foundation
class VideoDetaiNavView : UIView {
var selectAllCallBack : (Bool)->Void = {choose in}
private var backButton:UIButton!
private var selectButton:UIButton!
lazy var seletedAllBtn:UIButton = {
let btn:UIButton = UIButton(frame: CGRect(x: 0, y: 0, width: 131, height: 32))
btn.isSelected = false
btn.backgroundColor = UIColor.colorWithHex(hexStr: "#F2F6FC")
btn.setImage(UIImage.init(named: "ic_check_similar"), for: .normal)
btn.setTitle("Select All", for: .normal)
btn.setImage(UIImage.init(named: "ic_close_similar"), for: .selected)
btn.setTitle("Deselect All", for: .selected)
btn.setTitleColor(UIColor.colorWithHex(hexStr: mColor), for: .normal)
btn.setTitleColor(UIColor.colorWithHex(hexStr: black3Color), for: .selected)
btn.titleLabel?.font = UIFont.systemFont(ofSize: 14, weight: .bold)
btn.changBtnWithStytl(btnStyle: .defalut, margin: 8)
btn.addTarget(self, action: #selector(seletedAllBtnClick), for: .touchUpInside)
return btn
}()
override init(frame: CGRect) {
......@@ -31,6 +51,13 @@ class VideoDetaiNavView : UIView {
backButton.addTarget(self, action: #selector(backBtnClick), for: .touchUpInside)
self.addSubview(backButton)
self.addSubview(self.seletedAllBtn)
self.seletedAllBtn.snp.makeConstraints { make in
make.right.equalToSuperview().offset(-15)
make.centerY.equalTo(self.backButton.snp.centerY)
}
backButton.snp.makeConstraints { make in
make.centerY.equalTo(navCenterY)
......@@ -38,26 +65,19 @@ class VideoDetaiNavView : UIView {
make.width.height.equalTo(iconWH)
}
selectButton = UIButton(frame: CGRect(x: 0, y: 0, width: 70, height: iconWH))
selectButton.setTitle("Select", for: .normal)
selectButton.addTarget(self, action: #selector(proBtnClick), for: .touchUpInside)
self.addSubview(selectButton)
selectButton.snp.makeConstraints { make in
make.centerY.equalTo(navCenterY)
make.right.equalToSuperview().offset(-15)
make.width.equalTo(70)
make.height.equalTo(iconWH)
}
}
@objc private func backBtnClick() {
self.responderViewController()?.navigationController?.popViewController(animated: true)
}
@objc private func proBtnClick() {
Print("点击了选择按钮")
@objc func seletedAllBtnClick() {
DispatchQueue.main.async {[weak self] in
guard let self else {return}
seletedAllBtn.isSelected = !seletedAllBtn.isSelected
self.selectAllCallBack(seletedAllBtn.isSelected)
}
}
}
......@@ -10,10 +10,23 @@ import Photos
class HomePhotosDetailCollectionCell : UICollectionViewCell {
var clickCallBack : (Bool,Int)->Void = {choose,order in}
var cellCallBack : (String,Int)->Void = {ident,order in}
var currentMediaType : Int = 0
var choose : Bool = false {
didSet{
if choose {
self.selectImageView.image = UIImage(named: "ic_unsel_com")
}else{
self.selectImageView.image = UIImage(named: "ic_sel_com")
}
}
}
var resourceIdent : String = "" {
didSet{
DispatchQueue.global().async {
......@@ -52,6 +65,21 @@ class HomePhotosDetailCollectionCell : UICollectionViewCell {
return view
}()
lazy var selectImageView: UIImageView = {
let view = UIImageView()
view.image = UIImage(named: "ic_sel_com")
view.backgroundColor = .clear
view.isUserInteractionEnabled = true
let tap = UITapGestureRecognizer()
tap.addTarget(self, action: #selector(selectClick))
view.addGestureRecognizer(tap)
return view
}()
@objc func cellClick(){
cellCallBack(self.resourceIdent,self.currentOrder)
}
......@@ -67,10 +95,16 @@ class HomePhotosDetailCollectionCell : UICollectionViewCell {
self.addGestureRecognizer(tap)
self.addSubview(self.backImageView)
self.addSubview(self.selectImageView)
self.backImageView.snp.makeConstraints { make in
make.left.right.height.width.equalToSuperview()
}
self.selectImageView.snp.makeConstraints { make in
make.bottom.right.equalToSuperview().offset(-12)
make.height.width.equalTo(24)
}
}
required init?(coder: NSCoder) {
......@@ -81,4 +115,9 @@ class HomePhotosDetailCollectionCell : UICollectionViewCell {
@objc func imageClick(){
}
@objc func selectClick(){
self.choose = !self.choose
clickCallBack(self.choose,self.currentOrder)
}
}
......@@ -2,10 +2,6 @@
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>NSPhotoLibraryUsageDescription</key>
<string></string>
<key>NSPhotoLibraryAddUsageDescription</key>
<string></string>
<key>NSAppTransportSecurity</key>
<dict>
<key>NSAllowsArbitraryLoads</key>
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment