Browse Source

1.首页达人风采UI调整
2.修改首页悬浮按钮大小

Steven 2 years ago
parent
commit
26aa713d74

+ 14 - 0
KulexiuForStudent/KulexiuForStudent.xcodeproj/project.pbxproj

@@ -488,6 +488,7 @@
 		BC542E5D2840A60100633781 /* UserSettingViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = BC542E5B2840A60000633781 /* UserSettingViewController.m */; };
 		BC542E612840A60E00633781 /* UseBodyView.m in Sources */ = {isa = PBXBuildFile; fileRef = BC542E5E2840A60D00633781 /* UseBodyView.m */; };
 		BC542E622840A60E00633781 /* UseBodyView.xib in Resources */ = {isa = PBXBuildFile; fileRef = BC542E5F2840A60D00633781 /* UseBodyView.xib */; };
+		BC5F765029001C8D00B433E0 /* HomeDragButton.m in Sources */ = {isa = PBXBuildFile; fileRef = BC5F764F29001C8D00B433E0 /* HomeDragButton.m */; };
 		BC60E3CC287D552800B05441 /* AccountDeleteViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = BC60E3C5287D552800B05441 /* AccountDeleteViewController.m */; };
 		BC60E3CD287D552800B05441 /* DeleteAccountBodyView.m in Sources */ = {isa = PBXBuildFile; fileRef = BC60E3C9287D552800B05441 /* DeleteAccountBodyView.m */; };
 		BC60E3CE287D552800B05441 /* DeleteAccountBodyView.xib in Resources */ = {isa = PBXBuildFile; fileRef = BC60E3CB287D552800B05441 /* DeleteAccountBodyView.xib */; };
@@ -1867,6 +1868,8 @@
 		BC542E5E2840A60D00633781 /* UseBodyView.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = UseBodyView.m; sourceTree = "<group>"; };
 		BC542E5F2840A60D00633781 /* UseBodyView.xib */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = file.xib; path = UseBodyView.xib; sourceTree = "<group>"; };
 		BC542E602840A60D00633781 /* UseBodyView.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = UseBodyView.h; sourceTree = "<group>"; };
+		BC5F764E29001C8D00B433E0 /* HomeDragButton.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = HomeDragButton.h; sourceTree = "<group>"; };
+		BC5F764F29001C8D00B433E0 /* HomeDragButton.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = HomeDragButton.m; sourceTree = "<group>"; };
 		BC60E3C5287D552800B05441 /* AccountDeleteViewController.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = AccountDeleteViewController.m; sourceTree = "<group>"; };
 		BC60E3C6287D552800B05441 /* AccountDeleteViewController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = AccountDeleteViewController.h; sourceTree = "<group>"; };
 		BC60E3C9287D552800B05441 /* DeleteAccountBodyView.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = DeleteAccountBodyView.m; sourceTree = "<group>"; };
@@ -2973,6 +2976,7 @@
 		275FA1F627E7356A00CFEA2E /* View */ = {
 			isa = PBXGroup;
 			children = (
+				BC5F764D29001C5A00B433E0 /* HomeDragButton */,
 				BC12639228FF8C1E00509E90 /* HomeNewMusic */,
 				BC12639128FF8C0300509E90 /* HomeRecommendMusic */,
 				BC8B641228F3B58A00A08D16 /* AwardAlert */,
@@ -4652,6 +4656,15 @@
 			path = View;
 			sourceTree = "<group>";
 		};
+		BC5F764D29001C5A00B433E0 /* HomeDragButton */ = {
+			isa = PBXGroup;
+			children = (
+				BC5F764E29001C8D00B433E0 /* HomeDragButton.h */,
+				BC5F764F29001C8D00B433E0 /* HomeDragButton.m */,
+			);
+			path = HomeDragButton;
+			sourceTree = "<group>";
+		};
 		BC60E3C3287D552800B05441 /* DeleteAccount */ = {
 			isa = PBXGroup;
 			children = (
@@ -6908,6 +6921,7 @@
 				275FA1EB27E7351900CFEA2E /* KSBaseWKWebViewController.m in Sources */,
 				BCB909142852EF0000F5FF69 /* KSDragWindow.m in Sources */,
 				BCB6356727F6D2A300ACFDCF /* MemberChangeMessage.m in Sources */,
+				BC5F765029001C8D00B433E0 /* HomeDragButton.m in Sources */,
 				2779353B27E324A60010E277 /* UrlDecode.m in Sources */,
 				BC40BA23281255F700DEC0D1 /* HomeCourseTipsView.m in Sources */,
 				BC12636D28FEA20100509E90 /* RecentMusicView.m in Sources */,

+ 22 - 0
KulexiuForStudent/KulexiuForStudent/Assets.xcassets/Home/home_stylePlay.imageset/Contents.json

@@ -0,0 +1,22 @@
+{
+  "images" : [
+    {
+      "idiom" : "universal",
+      "scale" : "1x"
+    },
+    {
+      "filename" : "home_stylePlay@2x.png",
+      "idiom" : "universal",
+      "scale" : "2x"
+    },
+    {
+      "filename" : "home_stylePlay@3x.png",
+      "idiom" : "universal",
+      "scale" : "3x"
+    }
+  ],
+  "info" : {
+    "author" : "xcode",
+    "version" : 1
+  }
+}

BIN
KulexiuForStudent/KulexiuForStudent/Assets.xcassets/Home/home_stylePlay.imageset/home_stylePlay@2x.png


BIN
KulexiuForStudent/KulexiuForStudent/Assets.xcassets/Home/home_stylePlay.imageset/home_stylePlay@3x.png


+ 37 - 2
KulexiuForStudent/KulexiuForStudent/Module/Home/Controller/HomeViewController.m

@@ -71,6 +71,9 @@
 #import "HomeRecommendMusicView.h"
 #import "HomeMusicModel.h"
 
+#import "HomeDragButton.h"
+
+
 #define BUTTONWIDTH (65)
 #define BUTTONHEIGHT (80)
 
@@ -175,6 +178,8 @@
 
 @property (nonatomic, strong) HomeMessageModel *buttonModel;
 
+@property (nonatomic, strong) HomeDragButton *suspendButton;
+
 @end
 
 @implementation HomeViewController
@@ -575,7 +580,7 @@
             // 首页悬浮按钮
             NSArray *suspensionArray = [result arrayValueForKey:@"suspension"];
             if (suspensionArray.count) {
-                self.buttonModel = [[HomeMessageModel alloc] initWithDictionary:[flashArray firstObject]];
+                self.buttonModel = [[HomeMessageModel alloc] initWithDictionary:[suspensionArray firstObject]];
             }
         }
         else {
@@ -859,7 +864,11 @@
 
 // 显示悬浮窗
 - (void)showFloatingWindow {
-    
+    if (![self.view.subviews containsObject:self.suspendButton]) {
+        [self.view addSubview:self.suspendButton];
+    }
+    [self.view bringSubviewToFront:self.suspendButton];
+    [self.suspendButton.containerView sd_setImageWithURL:[NSURL URLWithString:[self.buttonModel.coverImage getUrlEndcodeString]]];
 }
 
 - (void)showNewsWithSource:(HomeMessageModel *)sourceModel {
@@ -2155,6 +2164,32 @@
     return _liveListArray;
 }
 
+- (HomeDragButton *)suspendButton {
+    if (!_suspendButton) {
+        _suspendButton = [[HomeDragButton alloc] initWithFrame:CGRectMake(KPortraitWidth - HomeDragButtonWidth - 10, KPortraitHeight - kTabBarHeight - HomeDragButtonHeight - 12 , HomeDragButtonWidth, HomeDragButtonHeight)];
+        MJWeakSelf;
+        [_suspendButton clickAction:^{
+            [weakSelf showDragWindowDetail];
+        }];
+    }
+    return _suspendButton;
+}
+
+- (void)showDragWindowDetail {
+    NSString *linkUrl = self.buttonModel.linkUrl;
+    if ([self.buttonModel.linkType isEqualToString:@"OUT"]) {
+        // 外部浏览器打开
+        [[UIApplication sharedApplication] openURL:[NSURL URLWithString:linkUrl] options: @{} completionHandler: nil];
+    }
+    else {
+        if (![NSString isEmptyString:linkUrl]) {
+            KSBaseWKWebViewController *webCtrl = [[KSBaseWKWebViewController alloc] init];
+            webCtrl.url = linkUrl;
+            [self.navigationController pushViewController:webCtrl animated:YES];
+        }
+    }
+}
+
 /*
 #pragma mark - Navigation
 

+ 28 - 0
KulexiuForStudent/KulexiuForStudent/Module/Home/View/HomeDragButton/HomeDragButton.h

@@ -0,0 +1,28 @@
+//
+//  HomeDragButton.h
+//  KulexiuForStudent
+//
+//  Created by 王智 on 2022/10/19.
+//
+
+#import <UIKit/UIKit.h>
+
+#define HomeDragButtonWidth (100.0)
+#define HomeDragButtonHeight (100.0)
+#define HomeDragButtonBottomSpace (kTabBarHeight)
+#define HomeDragButtonRightSpace (0)
+
+NS_ASSUME_NONNULL_BEGIN
+
+typedef void(^HomeDragButtonDetail)(void);
+
+
+@interface HomeDragButton : UIView
+
+@property (nonatomic, strong) UIImageView *containerView;
+
+- (void)clickAction:(HomeDragButtonDetail)callback;
+
+@end
+
+NS_ASSUME_NONNULL_END

+ 213 - 0
KulexiuForStudent/KulexiuForStudent/Module/Home/View/HomeDragButton/HomeDragButton.m

@@ -0,0 +1,213 @@
+//
+//  HomeDragButton.m
+//  KulexiuForStudent
+//
+//  Created by 王智 on 2022/10/19.
+//
+
+#import "HomeDragButton.h"
+
+#define WIDTH (self.frame.size.width)
+#define HEIGHT (self.frame.size.height)
+
+@interface HomeDragButton ()<UIGestureRecognizerDelegate>
+
+@property (nonatomic, assign) UIInterfaceOrientation currentOrientation;
+
+@property (nonatomic, copy) HomeDragButtonDetail callback;
+
+@end
+
+@implementation HomeDragButton
+
+- (instancetype)initWithFrame:(CGRect)frame {
+    if (self = [super initWithFrame:frame]) {
+        self.backgroundColor = [UIColor clearColor];
+        [self addSubview:self.containerView];
+        self.containerView.frame = CGRectMake(0, 0, frame.size.width, frame.size.height);
+        UIPanGestureRecognizer *pan = [[UIPanGestureRecognizer alloc]initWithTarget:self action:@selector(locationChange:)];
+        pan.delaysTouchesBegan = YES;
+        [self addGestureRecognizer:pan];
+        self.currentOrientation = UIInterfaceOrientationPortrait;
+        UITapGestureRecognizer *tap = [[UITapGestureRecognizer alloc]initWithTarget:self action:@selector(click:)];
+        [self addGestureRecognizer:tap];
+        tap.delegate = self;
+    }
+    return self;
+}
+
+- (void)clickAction:(HomeDragButtonDetail)callback {
+    if (callback) {
+        self.callback = callback;
+    }
+}
+
+//点击事件
+-(void)click:(UITapGestureRecognizer*)tapGesture {
+    if (self.callback) {
+        self.callback();
+    }
+}
+
+#define KDEAISellDegreesToRadians(degrees) (degrees * M_PI / 180)
+- (void)statusBarOrientationChange:(NSNotification*)notification{
+    UIInterfaceOrientation orientation = [[UIApplication sharedApplication] statusBarOrientation];
+    
+    [self setTransform:[self transformForOrientation:orientation]];
+    self.currentOrientation = orientation;
+    
+    CGFloat screenWidth = KPortraitWidth;
+    CGFloat screenHeight = KPortraitHeight - kTabBarHeight;
+    if (orientation == UIInterfaceOrientationLandscapeLeft || orientation == UIInterfaceOrientationLandscapeRight) {
+        self.frame = CGRectMake(HomeDragButtonHeight+HomeDragButtonBottomSpace, screenWidth - HomeDragButtonWidth , HomeDragButtonWidth, HomeDragButtonHeight);
+    }else{
+        self.frame = CGRectMake(screenWidth - HomeDragButtonWidth, screenHeight - HomeDragButtonHeight - HomeDragButtonBottomSpace , HomeDragButtonWidth, HomeDragButtonHeight);
+    }
+}
+
+- (CGAffineTransform)transformForOrientation:(UIInterfaceOrientation)orientation {
+    
+    switch (orientation) {
+            
+        case UIInterfaceOrientationLandscapeLeft:
+            return CGAffineTransformMakeRotation(-KDEAISellDegreesToRadians(90));
+            
+        case UIInterfaceOrientationLandscapeRight:
+            return CGAffineTransformMakeRotation(KDEAISellDegreesToRadians(90));
+            
+        case UIInterfaceOrientationPortraitUpsideDown:
+            return CGAffineTransformMakeRotation(KDEAISellDegreesToRadians(180));
+            
+        case UIInterfaceOrientationPortrait:
+        default:
+            return CGAffineTransformMakeRotation(KDEAISellDegreesToRadians(0));
+    }
+}
+
+//改变位置
+//横屏之后的坐标系变为左下角坐标系,其中x轴向上,y轴向右,在这样的坐标系中计算即可
+-(void)locationChange:(UIPanGestureRecognizer*)pan {
+    
+    if  (self.currentOrientation == UIInterfaceOrientationLandscapeRight || self.currentOrientation == UIInterfaceOrientationLandscapeLeft) {//如果是横屏
+        [self springToBoundsOnLandscape:pan];
+        
+    } else{ //如果是竖屏
+        [self springToBoundsOnPortrait:pan];
+    }
+}
+
+- (void)springToBoundsOnPortrait:(UIPanGestureRecognizer*)panGesture {
+    CGFloat screenWidth = KPortraitWidth;
+    CGFloat screenHeight = KPortraitHeight - kTabBarHeight;
+    
+    CGPoint panPoint = [panGesture locationInView:[[UIApplication sharedApplication] windows][0]];
+    if(panGesture.state == UIGestureRecognizerStateBegan) {
+        
+    } else if (panGesture.state == UIGestureRecognizerStateChanged) {
+        self.center = CGPointMake(panPoint.x,  panPoint.y);
+    } else if(panGesture.state == UIGestureRecognizerStateEnded || panGesture.state == UIGestureRecognizerStateCancelled) {
+        NSLog(@"ss");
+        if(panPoint.x <= screenWidth/2) {
+            if(panPoint.y >= screenHeight-HEIGHT/2-40 ) { //左下边界判断
+                [UIView animateWithDuration:0.2 animations:^{
+                    self.center = CGPointMake(WIDTH/2, screenHeight-HEIGHT/2);
+                }];
+                
+            } else if (panPoint.y < (HEIGHT/2 + STATUS_BAR_HEIGHT)) {
+                [UIView animateWithDuration:0.2 animations:^{
+                    self.center = CGPointMake(WIDTH/2, HEIGHT/2 + STATUS_BAR_HEIGHT);
+                    
+                }];
+            } else {
+                [UIView animateWithDuration:0.2 animations:^{
+                    self.center = CGPointMake(WIDTH/2, panPoint.y);
+                }];
+            }
+        }
+        else if(panPoint.x > screenWidth/2) {
+            if(panPoint.y <= (HEIGHT/2 + STATUS_BAR_HEIGHT)) {//向右越过上边界
+                
+                [UIView animateWithDuration:0.2 animations:^{
+                    self.center = CGPointMake(screenWidth-WIDTH/2, HEIGHT/2 + STATUS_BAR_HEIGHT);
+                }];
+                
+            }
+            else if (panPoint.y > screenHeight-HEIGHT/2) { //右下边界
+                [UIView animateWithDuration:0.2 animations:^{
+                    self.center = CGPointMake(screenWidth-WIDTH/2, screenHeight-HEIGHT/2);
+                }];
+                
+            }else { //正常拖动
+                [UIView animateWithDuration:0.2 animations:^{
+                    self.center = CGPointMake(screenWidth-WIDTH/2, panPoint.y);
+                }];
+            }
+        }
+    }
+}
+
+- (void)springToBoundsOnLandscape:(UIPanGestureRecognizer*)panGesture {
+    CGFloat screenWidth = KPortraitWidth;
+    CGFloat screenHeight = KPortraitHeight - kTabBarHeight;
+    
+    CGPoint panPoint = [panGesture locationInView:[[UIApplication sharedApplication] windows][0]];
+    panPoint = CGPointMake(screenHeight - panPoint.y, panPoint.x);
+    
+    NSLog(@"screenWidth:%f, panPoint:%@", screenWidth, NSStringFromCGPoint(panPoint));
+    
+    if(panGesture.state == UIGestureRecognizerStateBegan) {
+    } else if (panGesture.state == UIGestureRecognizerStateChanged) {
+        self.center = CGPointMake(panPoint.x,  panPoint.y);
+    } else if(panGesture.state == UIGestureRecognizerStateEnded || panGesture.state == UIGestureRecognizerStateCancelled) {
+        if(panPoint.y <= screenWidth/2) {
+            if (panPoint.x <= HEIGHT/2 + STATUS_BAR_HEIGHT) {
+                [UIView animateWithDuration:0.2 animations:^{//左下角
+                    self.center = CGPointMake(WIDTH/2, HEIGHT/2 + STATUS_BAR_HEIGHT);
+                }];
+            }else if (panPoint.x >= screenHeight - HEIGHT/2){//左上角
+                [UIView animateWithDuration:0.2 animations:^{
+                    self.center = CGPointMake(screenHeight - HEIGHT/2, HEIGHT/2 + STATUS_BAR_HEIGHT);
+                }];
+            }else{
+                [UIView animateWithDuration:0.2 animations:^{
+                    self.center = CGPointMake(panPoint.x, HEIGHT/2 + STATUS_BAR_HEIGHT);
+                }];
+            }
+        }
+        else if(panPoint.y > screenWidth/2)
+        {
+            if (panPoint.x <= HEIGHT/2) {//右下角
+                [UIView animateWithDuration:0.2 animations:^{
+                    self.center = CGPointMake(HEIGHT/2,  screenWidth - WIDTH/2);
+                }];
+            }else if (panPoint.x >= screenHeight - HEIGHT/2){//右上角
+                [UIView animateWithDuration:0.2 animations:^{
+                    self.center = CGPointMake(screenHeight - HEIGHT/2, screenWidth - WIDTH/2);
+                }];
+            }else{
+                [UIView animateWithDuration:0.2 animations:^{
+                    self.center = CGPointMake(panPoint.x , screenWidth - WIDTH/2);
+                }];
+            }
+        }
+    }
+}
+
+- (UIImageView *)containerView {
+    if (!_containerView) {
+        _containerView = [[UIImageView alloc] init];
+        _containerView.backgroundColor = [UIColor clearColor];
+        _containerView.contentMode = UIViewContentModeScaleAspectFill;
+    }
+    return _containerView;
+}
+
+/*
+// Only override drawRect: if you perform custom drawing.
+// An empty implementation adversely affects performance during animation.
+- (void)drawRect:(CGRect)rect {
+    // Drawing code
+}
+*/
+
+@end

+ 3 - 3
KulexiuForStudent/KulexiuForStudent/Module/Home/View/HotTalent/HomeHotTalentCell.xib

@@ -1,9 +1,9 @@
 <?xml version="1.0" encoding="UTF-8"?>
-<document type="com.apple.InterfaceBuilder3.CocoaTouch.XIB" version="3.0" toolsVersion="20037" targetRuntime="iOS.CocoaTouch" propertyAccessControl="none" useAutolayout="YES" useTraitCollections="YES" useSafeAreas="YES" colorMatched="YES">
+<document type="com.apple.InterfaceBuilder3.CocoaTouch.XIB" version="3.0" toolsVersion="21225" targetRuntime="iOS.CocoaTouch" propertyAccessControl="none" useAutolayout="YES" useTraitCollections="YES" useSafeAreas="YES" colorMatched="YES">
     <device id="retina6_1" orientation="portrait" appearance="light"/>
     <dependencies>
         <deployment identifier="iOS"/>
-        <plugIn identifier="com.apple.InterfaceBuilder.IBCocoaTouchPlugin" version="20020"/>
+        <plugIn identifier="com.apple.InterfaceBuilder.IBCocoaTouchPlugin" version="21207"/>
         <capability name="Safe area layout guides" minToolsVersion="9.0"/>
         <capability name="System colors in document resources" minToolsVersion="11.0"/>
         <capability name="documents saved in the Xcode 8 format" minToolsVersion="8.0"/>
@@ -48,7 +48,7 @@
                                 <color key="textColor" red="0.20000000000000001" green="0.20000000000000001" blue="0.20000000000000001" alpha="1" colorSpace="custom" customColorSpace="calibratedRGB"/>
                                 <nil key="highlightedColor"/>
                             </label>
-                            <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="中国音乐学院" textAlignment="center" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="S4c-t1-3Yg">
+                            <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="认证达人" textAlignment="center" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="S4c-t1-3Yg">
                                 <rect key="frame" x="12" y="115" width="82" height="17"/>
                                 <constraints>
                                     <constraint firstAttribute="height" constant="17" id="L6R-xr-JHX"/>

+ 12 - 2
KulexiuForStudent/KulexiuForStudent/Module/Home/View/TeacherStyle/HomeHotStyleCell.xib

@@ -1,9 +1,9 @@
 <?xml version="1.0" encoding="UTF-8"?>
-<document type="com.apple.InterfaceBuilder3.CocoaTouch.XIB" version="3.0" toolsVersion="20037" targetRuntime="iOS.CocoaTouch" propertyAccessControl="none" useAutolayout="YES" useTraitCollections="YES" useSafeAreas="YES" colorMatched="YES">
+<document type="com.apple.InterfaceBuilder3.CocoaTouch.XIB" version="3.0" toolsVersion="21225" targetRuntime="iOS.CocoaTouch" propertyAccessControl="none" useAutolayout="YES" useTraitCollections="YES" useSafeAreas="YES" colorMatched="YES">
     <device id="retina6_1" orientation="portrait" appearance="light"/>
     <dependencies>
         <deployment identifier="iOS"/>
-        <plugIn identifier="com.apple.InterfaceBuilder.IBCocoaTouchPlugin" version="20020"/>
+        <plugIn identifier="com.apple.InterfaceBuilder.IBCocoaTouchPlugin" version="21207"/>
         <capability name="Safe area layout guides" minToolsVersion="9.0"/>
         <capability name="System colors in document resources" minToolsVersion="11.0"/>
         <capability name="documents saved in the Xcode 8 format" minToolsVersion="8.0"/>
@@ -64,12 +64,21 @@
                                     <constraint firstItem="q26-31-k6x" firstAttribute="leading" secondItem="Rx5-wy-C5C" secondAttribute="leading" constant="10" id="xxn-ix-hEl"/>
                                 </constraints>
                             </view>
+                            <imageView clipsSubviews="YES" userInteractionEnabled="NO" contentMode="scaleAspectFit" horizontalHuggingPriority="251" verticalHuggingPriority="251" image="home_stylePlay" translatesAutoresizingMaskIntoConstraints="NO" id="8Va-jU-3ni">
+                                <rect key="frame" x="338" y="8" width="24" height="24"/>
+                                <constraints>
+                                    <constraint firstAttribute="width" constant="24" id="GnD-w7-plO"/>
+                                    <constraint firstAttribute="height" constant="24" id="wnG-87-7ED"/>
+                                </constraints>
+                            </imageView>
                         </subviews>
                         <color key="backgroundColor" white="1" alpha="1" colorSpace="custom" customColorSpace="genericGamma22GrayColorSpace"/>
                         <constraints>
                             <constraint firstAttribute="bottom" secondItem="Rx5-wy-C5C" secondAttribute="bottom" id="07z-7m-yGT"/>
                             <constraint firstAttribute="trailing" secondItem="7CW-8L-jwb" secondAttribute="trailing" id="0v7-x3-QYP"/>
+                            <constraint firstItem="8Va-jU-3ni" firstAttribute="trailing" secondItem="7CW-8L-jwb" secondAttribute="trailing" constant="-8" id="Dzi-wH-lZJ"/>
                             <constraint firstItem="Rx5-wy-C5C" firstAttribute="leading" secondItem="Qdq-ZR-K1t" secondAttribute="leading" id="SXQ-oh-Pwy"/>
+                            <constraint firstItem="8Va-jU-3ni" firstAttribute="top" secondItem="7CW-8L-jwb" secondAttribute="top" constant="8" id="ayS-S8-pmf"/>
                             <constraint firstItem="7CW-8L-jwb" firstAttribute="top" secondItem="Qdq-ZR-K1t" secondAttribute="top" id="dSj-OO-6Hx"/>
                             <constraint firstItem="Rx5-wy-C5C" firstAttribute="top" secondItem="7CW-8L-jwb" secondAttribute="bottom" id="jWL-6a-3fF"/>
                             <constraint firstItem="7CW-8L-jwb" firstAttribute="leading" secondItem="Qdq-ZR-K1t" secondAttribute="leading" id="m3u-PZ-lM4"/>
@@ -113,6 +122,7 @@
         </collectionViewCell>
     </objects>
     <resources>
+        <image name="home_stylePlay" width="24" height="24"/>
         <image name="user_default_avatal" width="52" height="52"/>
         <systemColor name="systemBackgroundColor">
             <color white="1" alpha="1" colorSpace="custom" customColorSpace="genericGamma22GrayColorSpace"/>