Przeglądaj źródła

视频播放界面 阴影设置

jsonwang 4 lat temu
rodzic
commit
93485c7dae

+ 6 - 9
MusicVideoPlus/MusicVideoPlus/Classes/Modules/Home/Controllers/MVHomeController.swift

@@ -9,7 +9,7 @@ import BFFramework
 class MVHomeController: MVBaseController {
     //视频播放列表
     private var viewListView: MVBanner = {
-        let videoListView = MVBanner(frame: .zero, margin: 30, lineSpacing: 12, minScale: MVBanner.Scale(scale: 1))
+        let videoListView = MVBanner(frame: .zero, margin: 30, lineSpacing: 0, minScale: MVBanner.Scale(scale: 1))
         videoListView.backgroundColor = UIColor.white
 
         videoListView.register(classCellType: MVBannerCell.self)
@@ -133,8 +133,7 @@ class MVHomeController: MVBaseController {
             self?.viewListView.reloadData()
             
             //自动播放第一个视频 确保 reloaddata 完成
-      
-                self?.playVideo(page: 0)
+            self?.playVideo(page: 0)
            
         }
     }
@@ -342,10 +341,7 @@ extension MVHomeController: MVBannerDataSource, MVBannerDelegate {
 
     func banner(_ banner: MVBanner, cellForItemAt indexPath: IndexPath) -> UICollectionViewCell {
         let cell: MVBannerCell = banner.dequeueReusableCell(for: indexPath)
-        cell.contentView.layer.masksToBounds = true
-        cell.contentView.layer.cornerRadius = 10
-        cell.contentView.backgroundColor = UIColor.white
-
+ 
         cell.videoData = mAllVideos[indexPath.row]
         cell.reCreateBtnClicHandle = { [weak self] _, _ in
             BFLog(message: "点击了创同款")
@@ -378,8 +374,8 @@ extension MVHomeController: MVBannerDataSource, MVBannerDelegate {
         changePlayerStatus(indexPath: indexPath)
     }
 
-    func playVideo(page: Int) {
-        
+    func playVideo(page: Int){
+    
         DispatchQueue.main.async {
             let cell: MVBannerCell? = self.viewListView.collectionView.cellForItem(at: IndexPath(row: page, section: 0)) as? MVBannerCell
             let showProtocal: String? = getUserDefaults(key: cShowProtocal) as? String
@@ -408,6 +404,7 @@ extension MVHomeController: MVBannerDataSource, MVBannerDelegate {
                 BFLog(message: "播放不成功: cell:\(String(describing: cell)) mVideos:\(self.mVideos.count) showProtocal: is \(String(describing: showProtocal))")
             }
         }
+
     }
     
     func pageControl(currentPage page: Int) {

+ 50 - 33
MusicVideoPlus/MusicVideoPlus/Classes/Modules/Home/Views/MVBannerCell.swift

@@ -14,15 +14,9 @@ class MVBannerCell: UICollectionViewCell {
     //封面
     lazy var converView: UIImageView = {
         let iv = UIImageView()
-//        iv.image = UIImage.init(named: "1024x1024px")
-        iv.frame = CGRect.init(x: 0, y: 0, width: self.bounds.size.width, height: self.bounds.size.height-4)
-//      iv.frame = CGRect.init(x: 4, y: 4, width: 100, height: 100)
-        iv.backgroundColor = .white
-        iv.contentMode = .scaleAspectFill
-        iv.layer.masksToBounds = false
-        iv.layer.shadowColor = UIColor.black.cgColor
-        iv.layer.shadowOpacity = 0.3;//设置阴影的透明度
-        iv.layer.shadowOffset = CGSize.init(width: 0, height: 4)//设置阴影的偏移量
+        iv.clipsToBounds = true
+        iv.backgroundColor = .black
+        iv.contentMode = .scaleAspectFit
  
         return iv
     }()
@@ -35,11 +29,20 @@ class MVBannerCell: UICollectionViewCell {
 
     }()
     
+    lazy var backShadowView: UIView = {
+        let backShowView = UIView.init()
+        backShowView.backgroundColor = .orange
+        backShowView.layer.masksToBounds = false
+        backShowView.layer.shadowColor = UIColor.black.cgColor
+        backShowView.layer.shadowOpacity = 0.3;//设置阴影的透明度
+        backShowView.layer.shadowRadius = 4
+        backShowView.layer.shadowOffset = CGSize.init(width: 0, height: 4)//设置阴影的偏移量
+        return backShowView
+    }()
 
     //下面 marks view
     lazy var bottmMaskView: UIImageView = {
         let bottmMaskView = UIImageView.init(image: UIImage.init(named: "home_marks"))
-        
         return bottmMaskView
     }()
     //暂停view
@@ -115,54 +118,68 @@ class MVBannerCell: UICollectionViewCell {
     override func layoutSubviews() {
         super.layoutSubviews()
    
-        self.typeLabe.snp.remakeConstraints { make in
+        backShadowView.snp.remakeConstraints { make in
+            make.width.equalToSuperview().offset(-15)
+            make.height.equalToSuperview().offset(-15)
+            make.left.equalToSuperview().offset(15)
+            make.top.equalToSuperview()
+        }
+        
+        converView.snp.remakeConstraints { make in
+            make.width.equalToSuperview()
+            make.height.equalToSuperview().offset(0)
+            make.left.equalToSuperview()
+            make.top.equalToSuperview()
+        }
+
+        typeLabe.snp.remakeConstraints { make in
             make.width.equalTo(50)
             make.height.equalTo(24)
             make.left.equalTo(musicNameView.snp_left)
             make.top.equalTo(musicNameView.snp_bottom).offset(6)
         }
-        
-        self.bottmMaskView.snp.remakeConstraints { make in
-            make.width.equalTo(630 / 2)
+
+        bottmMaskView.snp.remakeConstraints { make in
+            make.width.equalToSuperview()
             make.height.equalTo(150)
             make.left.equalToSuperview()
             make.bottom.equalToSuperview()
         }
-        
-        self.reCreateBtn.snp.remakeConstraints { make in
+
+        reCreateBtn.snp.remakeConstraints { make in
             make.width.equalTo(92)
             make.height.equalTo(46)
             make.right.equalToSuperview().offset(-16)
             make.bottom.equalToSuperview().offset(-20)
         }
-        
-        self.pauseView.snp.remakeConstraints { make in
+
+        pauseView.snp.remakeConstraints { make in
             make.width.equalTo(72)
             make.height.equalTo(82)
             make.center.equalToSuperview()
         }
-        
-        self.progressView.snp.remakeConstraints { make in
-            make.width.equalTo(self.bounds.size.width)
+
+        progressView.snp.remakeConstraints { make in
+            make.width.equalToSuperview()
             make.height.equalTo(2)
-            make.bottom.equalToSuperview().offset(-1)
+            make.bottom.equalToSuperview().offset(0)
         }
     }
     
     override init(frame: CGRect) {
         super.init(frame: frame)
-        self.contentView.addSubview(self.converView)
-        self.contentView.addSubview(self.bottmMaskView)
-        self.contentView.addSubview(self.typeLabe)
-        self.contentView.addSubview(self.musicNameView)
-        self.contentView.addSubview(self.reCreateBtn)
-        self.contentView.addSubview(self.pauseView)
-        self.contentView.addSubview(self.progressView)
-    
+        
+        contentView.addSubview(backShadowView)
+        backShadowView.addSubview(converView)
+        backShadowView.addSubview(bottmMaskView)
+        backShadowView.addSubview(typeLabe)
+        backShadowView.addSubview(musicNameView)
+        backShadowView.addSubview(reCreateBtn)
+        backShadowView.addSubview(pauseView)
+        backShadowView.addSubview(progressView)
+ 
     }
-    
-    
-
+  
     func addData() {
         typeLabe.text = videoData?.categoryName