Commit 38989c96 authored by CZ1004's avatar CZ1004

【优化】部分功能新增优化

parent f1791fbd
......@@ -39,7 +39,8 @@ class HomePhotosDetailViewController : BaseViewController {
for item in self.model.assets {
dataArray = dataArray + item
}
self.resourceData = dataArray
self.resourceData = self.filterTrashData(array: dataArray)
self.selectedModel = self.filterTrashData(array: self.selectedModel)
self.sortByType(sortType: self.currentSort)
}
......@@ -113,6 +114,15 @@ class HomePhotosDetailViewController : BaseViewController {
}()
/// 过滤垃圾桶数据
/// - Parameter array: 当前数据
/// - Returns: 过滤后的数据
func filterTrashData(array : [AssetModel]) -> [AssetModel]{
let data = TrashDataManager.getCurrentMediaTypeTrashData(mediaType: self.mediaType == PhotsFileType.Other ? TrashTypeEnum.other : TrashTypeEnum.shot)
return array.filter({!data.map({$0.localIdentifier}).contains($0.localIdentifier)})
}
func setUI(){
......@@ -332,10 +342,22 @@ extension HomePhotosDetailViewController:WaterfallMutiSectionDelegate,UICollecti
// 点击之后跳转详情页面
if self.mediaType == .screenshots {
let vc = PhotoRemoveViewController(data: self.resourceData,currentIndex: indexPath.row,mediaType: .shot)
vc.dismissCallback = {
self.dealData()
UIView.transition(with: self.collectionView, duration: 0.3, options: .transitionCrossDissolve, animations: {
self.collectionView.reloadData()
}, completion: nil)
}
self.navigationController?.pushViewController(vc, animated: true)
}
if self.mediaType == .Other {
let vc = PhotoRemoveViewController(data: self.resourceData,currentIndex: indexPath.row,mediaType: .other)
vc.dismissCallback = {
self.dealData()
UIView.transition(with: self.collectionView, duration: 0.3, options: .transitionCrossDissolve, animations: {
self.collectionView.reloadData()
}, completion: nil)
}
self.navigationController?.pushViewController(vc, animated: true)
}
}
......
......@@ -32,7 +32,8 @@ class HomeVideoDetailController :BaseViewController {
for item in self.model.assets {
dataArray = dataArray + item
}
self.resourceData = dataArray
self.resourceData = self.filterTrashData(array: dataArray)
self.selectedModel = self.filterTrashData(array: self.selectedModel)
self.sortByType(sortType: self.currentSort)
}
......@@ -108,6 +109,14 @@ class HomeVideoDetailController :BaseViewController {
return label
}()
/// 过滤垃圾桶数据
/// - Parameter array: 当前数据
/// - Returns: 过滤后的数据
func filterTrashData(array : [AssetModel]) -> [AssetModel]{
let data = TrashDataManager.getCurrentMediaTypeTrashData(mediaType: .video)
return array.filter({!data.map({$0.localIdentifier}).contains($0.localIdentifier)})
}
func setUI(){
videoDetailNavView = VideoDetaiNavView(frame: CGRect(x: 0, y: 0, width: self.view.width, height: statusBarHeight + 44))
......@@ -276,6 +285,12 @@ extension HomeVideoDetailController:WaterfallMutiSectionDelegate,UICollectionVie
PhotoAndVideoMananger.mananger.getVideoImageByIdent(ident: ident) { image in
// 点击之后跳转详情页面
let vc = PhotoRemoveViewController(data: self.resourceData,currentIndex: indexPath.row,mediaType: .video)
vc.dismissCallback = {
self.dealData()
UIView.transition(with: self.collectionView, duration: 0.3, options: .transitionCrossDissolve, animations: {
self.collectionView.reloadData()
}, completion: nil)
}
self.navigationController?.pushViewController(vc, animated: true)
} errorHandler: {
DispatchQueue.main.async {
......
......@@ -11,6 +11,9 @@ import Photos
class PhotoRemoveViewController: BaseViewController {
var dismissCallback : ()->Void = {}
var mediaType : TrashTypeEnum? {
didSet{
if mediaType == .video {
......@@ -203,6 +206,7 @@ class PhotoRemoveViewController: BaseViewController {
super.viewDidDisappear(animated)
// 视图消失的时候存到数据库
saveDataToKeepListDB()
self.dismissCallback()
}
......
......@@ -313,6 +313,33 @@ extension HomeInfoView:UITableViewDataSource,UITableViewDelegate {
self.tableScrollToNextRow()
}
// 重新设置models
func resetModels(){
var newArray : [HomeInfoTableItem] = []
for array in ids ?? [] {
var smodels:[ImageSeletedCollectionItem] = []
for id in array {
let smodel = ImageSeletedCollectionItem()
smodel.id = id
smodel.isSeleted = false
smodels.append(smodel)
}
let smodel = HomeInfoTableItem()
smodel.type = type
smodel.smodels = smodels
smodel.titleText = titleText
newArray.append(smodel)
}
self.models = newArray
}
/// 让表格自动滚动一行
private func tableScrollToNextRow(){
......@@ -351,6 +378,11 @@ extension HomeInfoView:UITableViewDataSource,UITableViewDelegate {
func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell {
let cell = tableView.dequeueReusableCell(withIdentifier: HomeInfoTableViewCell.identifier, for: indexPath) as! HomeInfoTableViewCell
cell.saveKeepListFinishedCallback = {
self.ids?.remove(at: indexPath.section)
self.resetModels()
tableView.deleteRows(at: [indexPath], with: .automatic)
}
cell.type = self.type
cell.model = models[indexPath.row]
......
......@@ -24,6 +24,8 @@ class HomeInfoTableViewCell:UITableViewCell {
var callBack:callBack<Any> = {text in}
var saveKeepListFinishedCallback : ()->Void = {}
override init(style: UITableViewCell.CellStyle, reuseIdentifier: String?) {
super.init(style: style, reuseIdentifier: reuseIdentifier)
......@@ -222,6 +224,7 @@ extension HomeInfoTableViewCell:UICollectionViewDelegate,UICollectionViewDataSou
cell.keepAllCallBack = {
//存到保留列表
saveAllDataToKeepList()
self.saveKeepListFinishedCallback()
}
// 存全部数据到保留列表
func saveAllDataToKeepList(){
......@@ -237,6 +240,7 @@ extension HomeInfoTableViewCell:UICollectionViewDelegate,UICollectionViewDataSou
}
}
}
cell.callBack = {[weak self] _ in
guard let self else {return}
......
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