弹框速度优化、录像顶部时间文本添加红色背景框
This commit is contained in:
parent
17c88b6222
commit
4a5bb77263
@ -174,19 +174,23 @@ class BaseVirtualController: UIViewController {
|
|||||||
|
|
||||||
if(titleLab == nil){
|
if(titleLab == nil){
|
||||||
titleLab = UILabel.init()
|
titleLab = UILabel.init()
|
||||||
titleLab?.frame = CGRect.init(x: 0, y: StatuBar_Height, width: SCREEN_Width, height: NavBar_Height)
|
// titleLab?.frame = CGRect.init(x: 0, y: StatuBar_Height, width: SCREEN_Width, height: NavBar_Height)
|
||||||
titleLab?.textAlignment = NSTextAlignment.center
|
titleLab?.textAlignment = NSTextAlignment.center
|
||||||
navtionImgView?.addSubview(titleLab!)
|
navtionImgView?.addSubview(titleLab!)
|
||||||
titleLab?.isUserInteractionEnabled = true
|
titleLab?.isUserInteractionEnabled = true
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
titleLab?.text = string
|
titleLab?.text = string
|
||||||
titleLab?.sizeToFit()
|
titleLab?.sizeToFit()
|
||||||
if((titleLab?.width)! > SCREEN_Width-100){
|
// if((titleLab?.width)! > SCREEN_Width-100){
|
||||||
titleLab?.width = SCREEN_Width-100
|
titleLab?.width = 100
|
||||||
}
|
// }
|
||||||
titleLab?.centerX = (navtionImgView?.width)! * 0.5
|
titleLab?.centerX = (navtionImgView?.width)! * 0.5
|
||||||
titleLab?.centerY = StatuBar_Height + NavBar_Height * 0.5;
|
titleLab?.centerY = StatuBar_Height + NavBar_Height * 0.5;
|
||||||
|
titleLab?.backgroundColor = .red
|
||||||
|
titleLab?.layer.cornerRadius = 2
|
||||||
|
titleLab?.layer.masksToBounds = true
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@ -65,6 +65,7 @@ class CCSpatialShootController: BaseController {
|
|||||||
label.alpha = 1.0
|
label.alpha = 1.0
|
||||||
label.layer.cornerRadius = 8
|
label.layer.cornerRadius = 8
|
||||||
label.clipsToBounds = true
|
label.clipsToBounds = true
|
||||||
|
label.isHidden = true
|
||||||
return label
|
return label
|
||||||
}()
|
}()
|
||||||
|
|
||||||
@ -278,7 +279,7 @@ class CCSpatialShootController: BaseController {
|
|||||||
configureSession() // 设置相机参数
|
configureSession() // 设置相机参数
|
||||||
|
|
||||||
setUI()
|
setUI()
|
||||||
showTips()
|
// showTips()
|
||||||
self.view.bringSubviewToFront(navtionImgView!)
|
self.view.bringSubviewToFront(navtionImgView!)
|
||||||
|
|
||||||
//判断当前是否是横屏
|
//判断当前是否是横屏
|
||||||
@ -504,13 +505,13 @@ class CCSpatialShootController: BaseController {
|
|||||||
|
|
||||||
//MARK: - 显示提示
|
//MARK: - 显示提示
|
||||||
func showTips() {
|
func showTips() {
|
||||||
self.view.addSubview(tipsLabel)
|
// self.view.addSubview(tipsLabel)
|
||||||
self.view.bringSubviewToFront(tipsLabel)
|
// self.view.bringSubviewToFront(tipsLabel)
|
||||||
UIView.animate(withDuration: 3, delay: 2.0,options: .curveEaseInOut) {
|
// UIView.animate(withDuration: 3, delay: 2.0,options: .curveEaseInOut) {
|
||||||
self.tipsLabel.alpha = 0
|
// self.tipsLabel.alpha = 0
|
||||||
} completion: { finished in
|
// } completion: { finished in
|
||||||
self.tipsLabel.isHidden = true
|
// self.tipsLabel.isHidden = true
|
||||||
}
|
// }
|
||||||
}
|
}
|
||||||
|
|
||||||
func showHorizontalScreenTips() {
|
func showHorizontalScreenTips() {
|
||||||
@ -781,7 +782,6 @@ class CCSpatialShootController: BaseController {
|
|||||||
DispatchQueue.global().async {
|
DispatchQueue.global().async {
|
||||||
// 在后台线程中执行任务
|
// 在后台线程中执行任务
|
||||||
// 模拟耗时操作(这里只是打印当前计数)
|
// 模拟耗时操作(这里只是打印当前计数)
|
||||||
print("Count: \(count)")
|
|
||||||
count += 1
|
count += 1
|
||||||
let timeText = self.transToHourMinSec(second: count)
|
let timeText = self.transToHourMinSec(second: count)
|
||||||
DispatchQueue.main.async {
|
DispatchQueue.main.async {
|
||||||
@ -1076,9 +1076,9 @@ extension CCSpatialShootController: AVCaptureFileOutputRecordingDelegate {
|
|||||||
if success {
|
if success {
|
||||||
print("空间视频生成成功")
|
print("空间视频生成成功")
|
||||||
saveVideoToLibrary(videoURL:outputVideoURL!)
|
saveVideoToLibrary(videoURL:outputVideoURL!)
|
||||||
DispatchQueue.main.async {
|
// DispatchQueue.main.async {
|
||||||
SVProgressHUD.showSuccess(withStatus: "空间视频成功保存到相册")
|
// SVProgressHUD.showSuccess(withStatus: "空间视频成功保存到相册")
|
||||||
}
|
// }
|
||||||
} else if let error = error {
|
} else if let error = error {
|
||||||
print("生成空间视频失败:\(error.localizedDescription)")
|
print("生成空间视频失败:\(error.localizedDescription)")
|
||||||
|
|
||||||
@ -1237,9 +1237,9 @@ extension CCSpatialShootController: AVCaptureFileOutputRecordingDelegate {
|
|||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
print("Photo saved to library successfully.")
|
print("Photo saved to library successfully.")
|
||||||
DispatchQueue.main.async {
|
// DispatchQueue.main.async {
|
||||||
SVProgressHUD.showSuccess(withStatus: "空间图片成功保存到相册")
|
// SVProgressHUD.showSuccess(withStatus: "空间图片成功保存到相册")
|
||||||
}
|
// }
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@ -44,10 +44,10 @@ class CCSpaceAlbumFliterCollectionCell: UICollectionViewCell {
|
|||||||
let timeLabel: UILabel = {
|
let timeLabel: UILabel = {
|
||||||
let label = UILabel()
|
let label = UILabel()
|
||||||
label.textColor = .white
|
label.textColor = .white
|
||||||
label.backgroundColor = UIColor(hexString: "#383739")
|
label.backgroundColor = UIColor(hexString: "#000000",alpha:0.7)
|
||||||
label.textAlignment = .center
|
label.textAlignment = .center
|
||||||
label.font = UIFont.boldSystemFont(ofSize: 12)
|
label.font = UIFont.boldSystemFont(ofSize: 12)
|
||||||
label.layer.cornerRadius = 8
|
label.layer.cornerRadius = 2
|
||||||
label.adjustsFontSizeToFitWidth = true
|
label.adjustsFontSizeToFitWidth = true
|
||||||
label.layer.masksToBounds = true
|
label.layer.masksToBounds = true
|
||||||
return label
|
return label
|
||||||
@ -84,8 +84,8 @@ class CCSpaceAlbumFliterCollectionCell: UICollectionViewCell {
|
|||||||
frameCountLabel.widthAnchor.constraint(equalToConstant: 40),
|
frameCountLabel.widthAnchor.constraint(equalToConstant: 40),
|
||||||
frameCountLabel.heightAnchor.constraint(equalToConstant: 20),
|
frameCountLabel.heightAnchor.constraint(equalToConstant: 20),
|
||||||
|
|
||||||
timeLabel.bottomAnchor.constraint(equalTo: bottomAnchor, constant: -8),
|
timeLabel.bottomAnchor.constraint(equalTo: bottomAnchor, constant: -4),
|
||||||
timeLabel.trailingAnchor.constraint(equalTo: trailingAnchor, constant: -8),
|
timeLabel.trailingAnchor.constraint(equalTo: trailingAnchor, constant: -4),
|
||||||
timeLabel.widthAnchor.constraint(equalToConstant: 40),
|
timeLabel.widthAnchor.constraint(equalToConstant: 40),
|
||||||
timeLabel.heightAnchor.constraint(equalToConstant: 20)
|
timeLabel.heightAnchor.constraint(equalToConstant: 20)
|
||||||
])
|
])
|
||||||
@ -200,7 +200,8 @@ class CCSpaceAlbumFilterPopView2: UIView {
|
|||||||
sbtn.addTarget(self, action: #selector(filterAction(btn:)), for: .valueChanged)
|
sbtn.addTarget(self, action: #selector(filterAction(btn:)), for: .valueChanged)
|
||||||
sbtn.setTitleTextAttributes([NSAttributedString.Key.foregroundColor:UIColor.white], for: .normal)
|
sbtn.setTitleTextAttributes([NSAttributedString.Key.foregroundColor:UIColor.white], for: .normal)
|
||||||
sbtn.setTitleTextAttributes([NSAttributedString.Key.foregroundColor:UIColor.black], for: .selected)
|
sbtn.setTitleTextAttributes([NSAttributedString.Key.foregroundColor:UIColor.black], for: .selected)
|
||||||
sbtn.selectedSegmentIndex = 0;
|
sbtn.selectedSegmentIndex = 0
|
||||||
|
sbtn.selectedSegmentTintColor = UIColor(red: 165.0/255, green: 137.0/255, blue: 1, alpha: 1)
|
||||||
return sbtn
|
return sbtn
|
||||||
}()
|
}()
|
||||||
|
|
||||||
@ -450,7 +451,7 @@ extension CCSpaceAlbumFilterPopView2:UICollectionViewDataSource, UICollectionVie
|
|||||||
if model.assetType == .image {
|
if model.assetType == .image {
|
||||||
|
|
||||||
cell.frameCountLabel.text = "空间"
|
cell.frameCountLabel.text = "空间"
|
||||||
cell.frameCountLabel.isHidden = false
|
cell.frameCountLabel.isHidden = true
|
||||||
cell.timeLabel.isHidden = true
|
cell.timeLabel.isHidden = true
|
||||||
}else if model.assetType == .video {
|
}else if model.assetType == .video {
|
||||||
|
|
||||||
|
|||||||
@ -42,34 +42,37 @@ class CCBottomMenuCell: UITableViewCell {
|
|||||||
|
|
||||||
self.backgroundColor = .clear
|
self.backgroundColor = .clear
|
||||||
|
|
||||||
//加载
|
|
||||||
self.contentView.addSubview(titleLabel)
|
|
||||||
self.contentView.addSubview(iconImageView)
|
|
||||||
// self.contentView.addSubview(arrowImageView)
|
// self.contentView.addSubview(arrowImageView)
|
||||||
|
|
||||||
titleLabel.snp.makeConstraints { (make) in
|
let bgView = UIView()
|
||||||
make.centerY.equalTo(self.contentView.snp.centerY)
|
self.contentView.addSubview(bgView)
|
||||||
make.centerX.equalTo(self.contentView.snp.centerX)
|
bgView.snp.makeConstraints { make in
|
||||||
|
make.top.bottom.equalTo(self)
|
||||||
|
make.centerX.equalTo(self)
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
//加载
|
||||||
|
bgView.addSubview(titleLabel)
|
||||||
|
bgView.addSubview(iconImageView)
|
||||||
|
|
||||||
|
titleLabel.snp.makeConstraints { (make) in
|
||||||
|
make.top.equalTo(bgView.snp.top)
|
||||||
|
make.bottom.equalTo(bgView.snp.bottom)
|
||||||
|
make.trailing.equalTo(bgView.snp.trailing)
|
||||||
|
}
|
||||||
|
|
||||||
|
titleLabel.font = UIFont.systemFont(ofSize: 16)
|
||||||
|
|
||||||
//布局
|
//布局
|
||||||
iconImageView.snp.makeConstraints { (make) in
|
iconImageView.snp.makeConstraints { (make) in
|
||||||
make.centerY.equalTo(self.contentView.snp.centerY)
|
make.centerY.equalTo(bgView.snp.centerY)
|
||||||
make.trailing.equalTo(titleLabel.snp.leading).offset(-10)
|
make.trailing.equalTo(titleLabel.snp.leading).offset(-10)
|
||||||
make.width.equalTo(32)
|
make.width.equalTo(32)
|
||||||
make.height.equalTo(32)
|
make.height.equalTo(32)
|
||||||
|
make.leading.equalTo(bgView.snp.leading)
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
// arrowImageView.snp.makeConstraints { (make) in
|
|
||||||
// make.centerY.equalTo(self.contentView.snp.centerY)
|
|
||||||
// make.trailing.equalTo(self.contentView.snp.trailing).offset(KHZSize(-20))
|
|
||||||
// make.width.equalTo(KHZSize(6))
|
|
||||||
// make.height.equalTo(KHZSize(10))
|
|
||||||
//
|
|
||||||
// }
|
|
||||||
}
|
}
|
||||||
|
|
||||||
required init?(coder: NSCoder) {
|
required init?(coder: NSCoder) {
|
||||||
|
|||||||
@ -46,7 +46,7 @@ class CCBottomMenuPopView: UIView,UITableViewDelegate, UITableViewDataSource {
|
|||||||
tableView.delegate = self
|
tableView.delegate = self
|
||||||
tableView.dataSource = self
|
tableView.dataSource = self
|
||||||
tableView.register(CCBottomMenuCell.self, forCellReuseIdentifier: OtherCellId)
|
tableView.register(CCBottomMenuCell.self, forCellReuseIdentifier: OtherCellId)
|
||||||
|
tableView.isScrollEnabled = false
|
||||||
//去掉下划线
|
//去掉下划线
|
||||||
tableView.separatorStyle = .none
|
tableView.separatorStyle = .none
|
||||||
|
|
||||||
@ -91,7 +91,7 @@ class CCBottomMenuPopView: UIView,UITableViewDelegate, UITableViewDataSource {
|
|||||||
//tableView高度
|
//tableView高度
|
||||||
CCBottomMenuPopView.share.Back_Height = CCBottomMenuPopView.share.Cell_Height*CGFloat(textArray.count)+CCBottomMenuPopView.share.HeaderView_Height+CCBottomMenuPopView.share.Cell_Height
|
CCBottomMenuPopView.share.Back_Height = CCBottomMenuPopView.share.Cell_Height*CGFloat(textArray.count)+CCBottomMenuPopView.share.HeaderView_Height+CCBottomMenuPopView.share.Cell_Height
|
||||||
|
|
||||||
UIView.animate(withDuration: 0.5, animations: {
|
UIView.animate(withDuration: 0.25, animations: {
|
||||||
|
|
||||||
CCBottomMenuPopView.share.listTableView.alpha = 1.0
|
CCBottomMenuPopView.share.listTableView.alpha = 1.0
|
||||||
CCBottomMenuPopView.share.listTableView.frame = CGRect.init(x: 0, y: KScreenHeight - CCBottomMenuPopView.share.Back_Height, width: KScreenWidth, height: CCBottomMenuPopView.share.Back_Height)
|
CCBottomMenuPopView.share.listTableView.frame = CGRect.init(x: 0, y: KScreenHeight - CCBottomMenuPopView.share.Back_Height, width: KScreenWidth, height: CCBottomMenuPopView.share.Back_Height)
|
||||||
@ -138,11 +138,13 @@ class CCBottomMenuPopView: UIView,UITableViewDelegate, UITableViewDataSource {
|
|||||||
|
|
||||||
|
|
||||||
@objc func hide() {
|
@objc func hide() {
|
||||||
UIView.animate(withDuration: 0.5, animations: { [self] in
|
UIView.animate(withDuration: 0.25, animations: { [self] in
|
||||||
self.listTableView.alpha = 0
|
self.listTableView.alpha = 0
|
||||||
|
self.alpha = 0
|
||||||
self.listTableView.frame = CGRect.init(x: 0, y: KScreenHeight + 10 , width: KScreenWidth, height: Back_Height)
|
self.listTableView.frame = CGRect.init(x: 0, y: KScreenHeight + 10 , width: KScreenWidth, height: Back_Height)
|
||||||
}) { (isFinished) in
|
}) { (isFinished) in
|
||||||
self.removeFromSuperview()
|
self.removeFromSuperview()
|
||||||
|
self.alpha = 1
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -192,12 +194,19 @@ class CCBottomMenuPopView: UIView,UITableViewDelegate, UITableViewDataSource {
|
|||||||
cell?.iconImageView.isHidden = false
|
cell?.iconImageView.isHidden = false
|
||||||
let imageStr:String = imageArray[indexPath.row]
|
let imageStr:String = imageArray[indexPath.row]
|
||||||
cell?.iconImageView.image = UIImage.init(named: imageStr)
|
cell?.iconImageView.image = UIImage.init(named: imageStr)
|
||||||
|
cell?.iconImageView.snp.updateConstraints { make in
|
||||||
|
make.width.equalTo(32)
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
}else if indexPath.section == 1
|
}else if indexPath.section == 1
|
||||||
{
|
{
|
||||||
cell?.titleLabel.text = "取消"
|
cell?.titleLabel.text = "取消"
|
||||||
cell?.iconImageView.isHidden = true
|
cell?.iconImageView.isHidden = true
|
||||||
|
cell?.iconImageView.image = nil
|
||||||
|
cell?.iconImageView.snp.updateConstraints { make in
|
||||||
|
make.width.equalTo(0)
|
||||||
|
}
|
||||||
}
|
}
|
||||||
return cell!
|
return cell!
|
||||||
|
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user