Commit b0e0d93b authored by CZ1004's avatar CZ1004

【修复】

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