Commit b0e0d93b authored by CZ1004's avatar CZ1004

【修复】

1、修复删除相似或者重复图片BUG
2、修改提示框图片和文字间距
3、默认页面添加文字
4、修改首页不显示实时数量问题
parent 4abddffe
...@@ -106,6 +106,16 @@ class AdvTipDeleteView : UIView { ...@@ -106,6 +106,16 @@ class AdvTipDeleteView : UIView {
view.layer.cornerRadius = 24 view.layer.cornerRadius = 24
view.titleLabel?.font = UIFont.systemFont(ofSize: 16, weight: .bold) view.titleLabel?.font = UIFont.systemFont(ofSize: 16, weight: .bold)
view.setImage(UIImage(named: "ic_ad_pop"), for: .normal) view.setImage(UIImage(named: "ic_ad_pop"), for: .normal)
// 设置间距为 8
let spacing: CGFloat = 8
// 获取图片和文字的大小
let imageSize = view.imageView?.image?.size ?? .zero
let titleSize = view.titleLabel?.intrinsicContentSize ?? .zero
// 计算 imageEdgeInsets 和 titleEdgeInsets
view.imageEdgeInsets = UIEdgeInsets(top: 0, left: -spacing / 2, bottom: 0, right: spacing / 2)
view.titleEdgeInsets = UIEdgeInsets(top: 0, left: spacing / 2, bottom: 0, right: -spacing / 2)
view.addTarget(self, action: #selector(deleteMoreButtonSelect), for: .touchUpInside) view.addTarget(self, action: #selector(deleteMoreButtonSelect), for: .touchUpInside)
return view return view
}() }()
......
...@@ -95,6 +95,14 @@ class AdvTipSelectView : UIView { ...@@ -95,6 +95,14 @@ class AdvTipSelectView : UIView {
view.layer.cornerRadius = 24 view.layer.cornerRadius = 24
view.titleLabel?.font = UIFont.systemFont(ofSize: 16, weight: .bold) view.titleLabel?.font = UIFont.systemFont(ofSize: 16, weight: .bold)
view.setImage(UIImage(named: "ic_ad_pop"), for: .normal) view.setImage(UIImage(named: "ic_ad_pop"), for: .normal)
// 设置间距为 8
let spacing: CGFloat = 8
// 获取图片和文字的大小
let imageSize = view.imageView?.image?.size ?? .zero
let titleSize = view.titleLabel?.intrinsicContentSize ?? .zero
// 计算 imageEdgeInsets 和 titleEdgeInsets
view.imageEdgeInsets = UIEdgeInsets(top: 0, left: -spacing / 2, bottom: 0, right: spacing / 2)
view.titleEdgeInsets = UIEdgeInsets(top: 0, left: spacing / 2, bottom: 0, right: -spacing / 2)
view.addTarget(self, action: #selector(buttonSureSelectAction), for: .touchUpInside) view.addTarget(self, action: #selector(buttonSureSelectAction), for: .touchUpInside)
return view return view
}() }()
......
...@@ -69,6 +69,7 @@ class HomeInfoViewController:BaseViewController { ...@@ -69,6 +69,7 @@ class HomeInfoViewController:BaseViewController {
updateFreeTimes() updateFreeTimes()
} }
// 删除缓存数据 // 删除缓存数据
PhotoDataManager.manager.removeDataWhenDeleteInPage(data: imgs) PhotoDataManager.manager.removeDataWhenDeleteInPage(data: imgs)
...@@ -88,9 +89,12 @@ class HomeInfoViewController:BaseViewController { ...@@ -88,9 +89,12 @@ class HomeInfoViewController:BaseViewController {
self?.ids = model.otherModelArray[1].assets self?.ids = model.otherModelArray[1].assets
} }
self?.tablewView.ids = self?.ids self?.tablewView.ids = self?.ids
self?.tablewView.deleteModel(array: imgs)
} }
}) })
self.tablewView.deleteModel(array: imgs) // 更新下首页数据以及缓存数据
let dataUpdated = Notification.Name("DataUpdatedNotification")
NotificationCenter.default.post(name: dataUpdated, object: nil, userInfo: nil)
func updateFreeTimes(){ func updateFreeTimes(){
...@@ -219,6 +223,15 @@ class HomeInfoViewController:BaseViewController { ...@@ -219,6 +223,15 @@ class HomeInfoViewController:BaseViewController {
return defaultImageView return defaultImageView
}() }()
lazy var defaultTipLabel : UILabel = {
let label = UILabel()
label.text = "There are no new files to process"
label.textColor = UIColor(red: 0.2, green: 0.2, blue: 0.2, alpha: 1)
label.font = UIFont.systemFont(ofSize: 16, weight: .bold)
label.textAlignment = .center
return label
}()
var ids: [[AssetModel]]? var ids: [[AssetModel]]?
var titleText : String? var titleText : String?
...@@ -261,10 +274,16 @@ class HomeInfoViewController:BaseViewController { ...@@ -261,10 +274,16 @@ class HomeInfoViewController:BaseViewController {
view.addSubview(self.defaultImageView) view.addSubview(self.defaultImageView)
self.defaultImageView.snp.makeConstraints { make in self.defaultImageView.snp.makeConstraints { make in
make.width.height.equalTo(180) make.width.height.equalTo(180)
make.top.equalTo(292) make.top.equalTo(262)
make.centerX.equalToSuperview()
}
view.addSubview(self.defaultTipLabel)
self.defaultTipLabel.snp.makeConstraints { make in
make.width.equalToSuperview()
make.height.equalTo(28)
make.top.equalTo(self.defaultImageView.snp.bottom).offset(-30)
make.centerX.equalToSuperview() make.centerX.equalToSuperview()
} }
setDefaultPage() setDefaultPage()
} }
...@@ -278,9 +297,11 @@ class HomeInfoViewController:BaseViewController { ...@@ -278,9 +297,11 @@ class HomeInfoViewController:BaseViewController {
self.defaultImageView.image = UIImage(named: "img_photo__home_defpage") self.defaultImageView.image = UIImage(named: "img_photo__home_defpage")
} }
self.defaultImageView.isHidden = false self.defaultImageView.isHidden = false
self.defaultTipLabel.isHidden = false
self.seletedAllBtn.isHidden = true self.seletedAllBtn.isHidden = true
}else{ }else{
self.defaultImageView.isHidden = true self.defaultImageView.isHidden = true
self.defaultTipLabel.isHidden = true
self.seletedAllBtn.isHidden = false self.seletedAllBtn.isHidden = false
} }
} }
......
...@@ -73,6 +73,14 @@ class HomePhotosDetailViewController : BaseViewController { ...@@ -73,6 +73,14 @@ class HomePhotosDetailViewController : BaseViewController {
defaultImageView.isHidden = true defaultImageView.isHidden = true
return defaultImageView return defaultImageView
}() }()
lazy var defaultTipLabel : UILabel = {
let label = UILabel()
label.text = "There are no new files to process"
label.textColor = UIColor(red: 0.2, green: 0.2, blue: 0.2, alpha: 1)
label.font = UIFont.systemFont(ofSize: 16, weight: .bold)
label.textAlignment = .center
return label
}()
lazy var collectionView:UICollectionView = { lazy var collectionView:UICollectionView = {
...@@ -158,7 +166,14 @@ class HomePhotosDetailViewController : BaseViewController { ...@@ -158,7 +166,14 @@ class HomePhotosDetailViewController : BaseViewController {
self.view.addSubview(self.defaultImageView) self.view.addSubview(self.defaultImageView)
self.defaultImageView.snp.makeConstraints { make in self.defaultImageView.snp.makeConstraints { make in
make.width.height.equalTo(180) make.width.height.equalTo(180)
make.top.equalTo(292) make.top.equalTo(262)
make.centerX.equalToSuperview()
}
self.view.addSubview(self.defaultTipLabel)
self.defaultTipLabel.snp.makeConstraints { make in
make.width.equalToSuperview()
make.height.equalTo(28)
make.top.equalTo(self.defaultImageView.snp.bottom).offset(-30)
make.centerX.equalToSuperview() make.centerX.equalToSuperview()
} }
setDefaultPage() setDefaultPage()
...@@ -172,11 +187,13 @@ class HomePhotosDetailViewController : BaseViewController { ...@@ -172,11 +187,13 @@ class HomePhotosDetailViewController : BaseViewController {
DispatchQueue.main.async { DispatchQueue.main.async {
if self.resourceData.count == 0 { if self.resourceData.count == 0 {
self.defaultImageView.isHidden = false self.defaultImageView.isHidden = false
self.defaultTipLabel.isHidden = false
self.currentHeaderView?.btnView.isHidden = true self.currentHeaderView?.btnView.isHidden = true
self.videoDetailNavView?.seletedAllBtn.isHidden = true self.videoDetailNavView?.seletedAllBtn.isHidden = true
self.deleteButton.isHidden = true self.deleteButton.isHidden = true
}else{ }else{
self.defaultImageView.isHidden = true self.defaultImageView.isHidden = true
self.defaultTipLabel.isHidden = true
self.currentHeaderView?.btnView.isHidden = false self.currentHeaderView?.btnView.isHidden = false
self.videoDetailNavView?.seletedAllBtn.isHidden = false self.videoDetailNavView?.seletedAllBtn.isHidden = false
self.deleteButton.isHidden = false self.deleteButton.isHidden = false
......
...@@ -102,6 +102,14 @@ class HomeVideoDetailController :BaseViewController { ...@@ -102,6 +102,14 @@ class HomeVideoDetailController :BaseViewController {
defaultImageView.isHidden = true defaultImageView.isHidden = true
return defaultImageView return defaultImageView
}() }()
lazy var defaultTipLabel : UILabel = {
let label = UILabel()
label.text = "There are no new files to process"
label.textColor = UIColor(red: 0.2, green: 0.2, blue: 0.2, alpha: 1)
label.font = UIFont.systemFont(ofSize: 16, weight: .bold)
label.textAlignment = .center
return label
}()
func setUI(){ func setUI(){
...@@ -149,7 +157,14 @@ class HomeVideoDetailController :BaseViewController { ...@@ -149,7 +157,14 @@ class HomeVideoDetailController :BaseViewController {
self.view.addSubview(self.defaultImageView) self.view.addSubview(self.defaultImageView)
self.defaultImageView.snp.makeConstraints { make in self.defaultImageView.snp.makeConstraints { make in
make.width.height.equalTo(180) make.width.height.equalTo(180)
make.top.equalTo(292) make.top.equalTo(262)
make.centerX.equalToSuperview()
}
view.addSubview(self.defaultTipLabel)
self.defaultTipLabel.snp.makeConstraints { make in
make.width.equalToSuperview()
make.height.equalTo(28)
make.top.equalTo(self.defaultImageView.snp.bottom).offset(-30)
make.centerX.equalToSuperview() make.centerX.equalToSuperview()
} }
setDefaultPage() setDefaultPage()
...@@ -464,11 +479,13 @@ extension HomeVideoDetailController:WaterfallMutiSectionDelegate,UICollectionVie ...@@ -464,11 +479,13 @@ extension HomeVideoDetailController:WaterfallMutiSectionDelegate,UICollectionVie
DispatchQueue.main.async { DispatchQueue.main.async {
if self.resourceData.count == 0 { if self.resourceData.count == 0 {
self.defaultImageView.isHidden = false self.defaultImageView.isHidden = false
self.defaultTipLabel.isHidden = false
self.currentHeaderView?.btnView.isHidden = true self.currentHeaderView?.btnView.isHidden = true
self.videoDetailNavView?.seletedAllBtn.isHidden = true self.videoDetailNavView?.seletedAllBtn.isHidden = true
self.deleteButton.isHidden = true self.deleteButton.isHidden = true
}else{ }else{
self.defaultImageView.isHidden = true self.defaultImageView.isHidden = true
self.defaultTipLabel.isHidden = true
self.currentHeaderView?.btnView.isHidden = false self.currentHeaderView?.btnView.isHidden = false
self.videoDetailNavView?.seletedAllBtn.isHidden = false self.videoDetailNavView?.seletedAllBtn.isHidden = false
self.deleteButton.isHidden = false self.deleteButton.isHidden = false
......
...@@ -238,26 +238,34 @@ class HomeViewController:BaseViewController { ...@@ -238,26 +238,34 @@ class HomeViewController:BaseViewController {
PhotoDataManager.manager.loadFromFileSystem(resultModel: {[weak self] model in PhotoDataManager.manager.loadFromFileSystem(resultModel: {[weak self] model in
DispatchQueue.main.async { DispatchQueue.main.async {
self?.homeView?.model = model self?.homeView?.model = model
if let collectionView = self?.homeView?.collectionView { self?.reloadCollectionView()
}
for section in 0..<collectionView.numberOfSections { })
for item in 0..<collectionView.numberOfItems(inSection: section) {
if section == 0 || section == 1 { }
if let cell = collectionView.cellForItem(at: IndexPath(row: item, section: section)) as? HomeTitleCollectionCell {
UIView.transition(with: cell.collectionView!, duration: 0.3, options: .transitionCrossDissolve, animations: { // 重新刷新下集合
cell.collectionView?.reloadData() func reloadCollectionView(){
}, completion: nil) DispatchQueue.main.async {
} if let collectionView = self.homeView?.collectionView {
}else{
UIView.transition(with:collectionView, duration: 0.3, options: .transitionCrossDissolve, animations: { for section in 0..<collectionView.numberOfSections {
self?.homeView?.collectionView.reloadItems(at: [IndexPath(row: item, section: section)]) for item in 0..<collectionView.numberOfItems(inSection: section) {
if section == 0 || section == 1 {
if let cell = collectionView.cellForItem(at: IndexPath(row: item, section: section)) as? HomeTitleCollectionCell {
UIView.transition(with: cell.collectionView!, duration: 0.3, options: .transitionCrossDissolve, animations: {
cell.collectionView?.reloadData()
}, completion: nil) }, completion: nil)
} }
}else{
UIView.transition(with:collectionView, duration: 0.3, options: .transitionCrossDissolve, animations: {
self.homeView?.collectionView.reloadItems(at: [IndexPath(row: item, section: section)])
}, completion: nil)
} }
} }
} }
} }
}) }
} }
......
...@@ -43,7 +43,6 @@ class HomeCollectionViewHeader : UICollectionReusableView { ...@@ -43,7 +43,6 @@ class HomeCollectionViewHeader : UICollectionReusableView {
private lazy var tipLabel:UILabel = { private lazy var tipLabel:UILabel = {
let label = UILabel() let label = UILabel()
label.numberOfLines = 0 // 支持多行 label.numberOfLines = 0 // 支持多行
label.translatesAutoresizingMaskIntoConstraints = false
return label return label
}() }()
...@@ -57,8 +56,6 @@ class HomeCollectionViewHeader : UICollectionReusableView { ...@@ -57,8 +56,6 @@ class HomeCollectionViewHeader : UICollectionReusableView {
return label return label
}() }()
private func setupUI() { private func setupUI() {
// logo图片 // logo图片
...@@ -71,11 +68,11 @@ class HomeCollectionViewHeader : UICollectionReusableView { ...@@ -71,11 +68,11 @@ class HomeCollectionViewHeader : UICollectionReusableView {
// 文本 // 文本
self.addSubview(self.tipLabel) self.addSubview(self.tipLabel)
self.setFileAndCount(count: 0, fileSize: 0)
self.tipLabel.snp.makeConstraints { make in self.tipLabel.snp.makeConstraints { make in
make.left.equalToSuperview() make.left.equalToSuperview()
make.top.equalToSuperview().offset(32) make.top.equalToSuperview().offset(32)
make.height.equalTo(31) make.height.equalTo(31)
make.width.equalTo(300)
} }
self.addSubview(self.subTiplabel) self.addSubview(self.subTiplabel)
......
...@@ -205,7 +205,7 @@ class HomeInfoView :UIView{ ...@@ -205,7 +205,7 @@ class HomeInfoView :UIView{
temModel.type = models[i].type temModel.type = models[i].type
temModel.smodels = updateSelectToDesSelect(data: arrayT) temModel.smodels = updateSelectToDesSelect(data: arrayT)
temModel.titleText = models[i].titleText temModel.titleText = models[i].titleText
newModel.append(models[i]) newModel.append(temModel)
} }
} }
// 将新的数据全部改成未被选中状态 // 将新的数据全部改成未被选中状态
...@@ -218,11 +218,7 @@ class HomeInfoView :UIView{ ...@@ -218,11 +218,7 @@ class HomeInfoView :UIView{
return dataArray return dataArray
} }
self.models = newModel self.models = newModel
// 更新下首页数据以及缓存数据
let dataUpdated = Notification.Name("DataUpdatedNotification")
NotificationCenter.default.post(name: dataUpdated, object: nil, userInfo: nil)
DispatchQueue.main.async {[weak self] in DispatchQueue.main.async {[weak self] in
guard let self else {return} guard let self else {return}
......
...@@ -74,8 +74,9 @@ class HomeView:UIView { ...@@ -74,8 +74,9 @@ class HomeView:UIView {
guard let self else {return} guard let self else {return}
self.homeHeader?.setFileAndCount(count: model?.allFileNumber ?? 0, fileSize: model?.allFileSize ?? 0) self.homeHeader?.setFileAndCount(count: model?.allFileNumber ?? 0, fileSize: model?.allFileSize ?? 0)
self.homeHeader?.setNeedsLayout()
self.homeHeader?.layoutIfNeeded()
} }
} }
private func setupUI() { private func setupUI() {
...@@ -288,7 +289,11 @@ extension HomeView:WaterfallMutiSectionDelegate,UICollectionViewDataSource,UICol ...@@ -288,7 +289,11 @@ extension HomeView:WaterfallMutiSectionDelegate,UICollectionViewDataSource,UICol
func collectionView(_ collectionView: UICollectionView, viewForSupplementaryElementOfKind kind: String, at indexPath: IndexPath) -> UICollectionReusableView { func collectionView(_ collectionView: UICollectionView, viewForSupplementaryElementOfKind kind: String, at indexPath: IndexPath) -> UICollectionReusableView {
if kind == UICollectionView.elementKindSectionHeader { if kind == UICollectionView.elementKindSectionHeader {
let header = collectionView.dequeueReusableSupplementaryView(ofKind: kind, withReuseIdentifier: "HomeCollectionViewHeader", for: indexPath) as! HomeCollectionViewHeader let header = collectionView.dequeueReusableSupplementaryView(ofKind: kind, withReuseIdentifier: "HomeCollectionViewHeader", for: indexPath) as! HomeCollectionViewHeader
self.homeHeader = header if indexPath.section == 0{
// 取第 0 个header
self.homeHeader = header
print("Header view cached: \(self.homeHeader != nil)")
}
header.cleanNowButtonCallback = {[weak self] in header.cleanNowButtonCallback = {[weak self] in
guard let self = self else {return} guard let self = self else {return}
let smodel = self.model?.titleModelArray[0] let smodel = self.model?.titleModelArray[0]
...@@ -316,6 +321,4 @@ extension HomeView:WaterfallMutiSectionDelegate,UICollectionViewDataSource,UICol ...@@ -316,6 +321,4 @@ extension HomeView:WaterfallMutiSectionDelegate,UICollectionViewDataSource,UICol
} }
return CGSize.zero return CGSize.zero
} }
} }
...@@ -55,8 +55,6 @@ class PhotoDataManager { ...@@ -55,8 +55,6 @@ class PhotoDataManager {
size = size + Double(assModel.assetSize) size = size + Double(assModel.assetSize)
} }
model.otherModelArray[index].assets = finalyVideoData model.otherModelArray[index].assets = finalyVideoData
// 处理完成保存下当前数据
self.saveToFileSystem(model: model)
} }
}else{ }else{
...@@ -82,10 +80,7 @@ class PhotoDataManager { ...@@ -82,10 +80,7 @@ class PhotoDataManager {
} }
model.otherModelArray[index].assets = finalyVideoData model.otherModelArray[index].assets = finalyVideoData
model.otherModelArray[index].allFileSize = size model.otherModelArray[index].allFileSize = size
// 处理完成保存下
self.saveToFileSystem(model: model)
} }
} }
for index in 0..<model.titleModelArray.count { for index in 0..<model.titleModelArray.count {
// 删除相似截图和相似视频的缓存 // 删除相似截图和相似视频的缓存
...@@ -108,8 +103,9 @@ class PhotoDataManager { ...@@ -108,8 +103,9 @@ class PhotoDataManager {
} }
model.titleModelArray[index].assets = finalyVideoData model.titleModelArray[index].assets = finalyVideoData
model.titleModelArray[index].allFileSize = size model.titleModelArray[index].allFileSize = size
self.saveToFileSystem(model: model)
} }
// 处理完成保存下当前数据
self.saveToFileSystem(model: model)
}) })
// 将单利中的数据也删除 // 将单利中的数据也删除
for item in data { for item in data {
......
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