Steven 1 rok temu
rodzic
commit
5ea87f9753

BIN
KulexiuForTeacher/KulexiuForTeacher/Assets.xcassets/PlayerImage/aligningSlider_bg.imageset/aligningSlider_bg@2x.png


BIN
KulexiuForTeacher/KulexiuForTeacher/Assets.xcassets/PlayerImage/aligningSlider_bg.imageset/aligningSlider_bg@3x.png


+ 24 - 24
KulexiuForTeacher/KulexiuForTeacher/Common/Base/KSAccompanyWebViewController.m

@@ -1225,32 +1225,32 @@
 
 #pragma mark ------- 评测app播放
 
-/*
+
 - (void)recordDidStart:(NSTimeInterval)time { // ms
-     self.recordStartTime = time;
-     if (self.isDelayCheckStart) {
-          NSLog(@"---- delay - record did start %f", time);
-          // 播放音频
-          // 播放校音音频
-          dispatch_main_sync_safe(^{
-               if (self.checkIndex % 2 == 0) {
-                    [self.dongPlayer startPlay];
-               }
-               else {
-                    [self.dingPlayer startPlay];
-               }
-          });
-     }
-     else if (self.isCompareStart) {
-          NSLog(@"---- compare - record did start %f", time);
-          // 播放伴奏
-          dispatch_main_sync_safe(^{
- self.musicPlayer.isMute = self.muteAccompany;
-               [self.musicPlayer startPlay];
-          });
-     }
+    self.recordStartTime = time;
+    if (self.isDelayCheckStart) {
+        NSLog(@"---- delay - record did start %f", time);
+        // 播放音频
+        // 播放校音音频
+        dispatch_main_sync_safe(^{
+            if (self.checkIndex % 2 == 0) {
+                [self.dongPlayer startPlay];
+            }
+            else {
+                [self.dingPlayer startPlay];
+            }
+        });
+    }
+    else if (self.isCompareStart) {
+        NSLog(@"---- compare - record did start %f", time);
+        // 播放伴奏
+        dispatch_main_sync_safe(^{
+            self.musicPlayer.isMute = self.muteAccompany;
+            [self.musicPlayer startPlay];
+        });
+    }
 }
-*/
+
 
 - (void)audioRecord:(KSAQRecordManager *)audioRecord didRecordAudioData:(void *)data length:(UInt32)length {
     

+ 1 - 1
KulexiuForTeacher/KulexiuForTeacher/Common/MediaMerge/AudioMerge/KSMediaMergeView.m

@@ -1135,7 +1135,7 @@
 
 - (void)showSaveDraftTipsAlert {
     MJWeakSelf;
-    [self.alertView configTitle:@"提示" descMessage:@"已成功保存到草稿,草稿7天未发布将自动清理。" leftButtonTitle:@"确认" rightButtonTitle:@"查看草稿" leftButtonAction:^{
+    [self.alertView configTitle:@"提示" descMessage:@"已成功保存到草稿,草稿7天未发布将自动删除。" leftButtonTitle:@"确认" rightButtonTitle:@"查看草稿" leftButtonAction:^{
         
     } rightButtonAction:^{
         [weakSelf displayDraft];

+ 13 - 12
KulexiuForTeacher/KulexiuForTeacher/Common/MediaMerge/AudioMerge/KSMergeAudioControlView.m

@@ -7,6 +7,7 @@
 
 #import "KSMergeAudioControlView.h"
 #import "UIView+KSCovertImage.h"
+#define MAX_OFFSET (600)
 
 @interface KSMergeAudioControlView ()<UIGestureRecognizerDelegate>
 
@@ -181,16 +182,16 @@
     if ([[(UITouch *)touches.anyObject view] isEqual:self.sliderView]) {
         CGPoint tempPoint = [touches.anyObject locationInView:self.sliderView];
         if (tempPoint.x <= 90.5) {
-            NSInteger offset = (NSInteger)(tempPoint.x - 90.5) / 3 * 10;
-            if (offset < -300) {
-                offset = -300;
+            NSInteger offset = (NSInteger)(tempPoint.x - 90.5) / 3 * 10 * 2;
+            if (offset < -MAX_OFFSET) {
+                offset = -MAX_OFFSET;
             }
             self.offsetTime = offset;
         }
         else if (tempPoint.x > 90.5) {
-            NSInteger offset = (NSInteger)(tempPoint.x - 90.5) / 3 * 10;
-            if (offset > 300) {
-                offset = 300;
+            NSInteger offset = (NSInteger)(tempPoint.x - 90.5) / 3 * 10 * 2;
+            if (offset > MAX_OFFSET) {
+                offset = MAX_OFFSET;
             }
             self.offsetTime = offset;
         }
@@ -252,8 +253,8 @@
 }
 
 - (IBAction)leftAction:(id)sender {
-    if (self.offsetTime <= -300) {
-        self.offsetTime = -300;
+    if (self.offsetTime <= -MAX_OFFSET) {
+        self.offsetTime = -MAX_OFFSET;
         return;
     }
     self.offsetTime -= 10;
@@ -263,8 +264,8 @@
 }
 
 - (IBAction)rightAction:(id)sender {
-    if (self.offsetTime >= 300) {
-        self.offsetTime = 300;
+    if (self.offsetTime >= MAX_OFFSET) {
+        self.offsetTime = MAX_OFFSET;
         return;
     }
     self.offsetTime += 10;
@@ -302,7 +303,7 @@
     NSString *tips = @"";
     if (offsetTime > 0) {
         tips = [NSString stringWithFormat:@"已为您对齐演奏伴奏,演奏延后%zd毫秒", labs(offsetTime)];
-        self.pointLeft.constant = 87 + labs(offsetTime) / 10 * 3;
+        self.pointLeft.constant = 87 + labs(offsetTime) / 20.0 * 3;
     }
     else if (offsetTime == 0) {
         tips = @"演奏伴奏没有对齐?试试调整这里";
@@ -310,7 +311,7 @@
     }
     else {
         tips = [NSString stringWithFormat:@"已为您对齐演奏伴奏,演奏提前%zd毫秒", labs(offsetTime)];
-        self.pointLeft.constant = 87 - labs(offsetTime) / 10 * 3;
+        self.pointLeft.constant = 87 - labs(offsetTime) / 20.0 * 3;
     }
     self.offsetTipsLabel.text = tips;
 }

+ 5 - 5
KulexiuForTeacher/KulexiuForTeacher/Common/MediaMerge/AudioMerge/KSMergeAudioControlView.xib

@@ -100,7 +100,7 @@
                             </constraints>
                         </imageView>
                         <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="重录" textAlignment="natural" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="f5Q-wh-6l8">
-                            <rect key="frame" x="26.666666666666671" y="356" width="21" height="12"/>
+                            <rect key="frame" x="26.666666666666664" y="356" width="20.666666666666664" height="12"/>
                             <fontDescription key="fontDescription" type="system" pointSize="10"/>
                             <color key="textColor" red="0.46666666666666667" green="0.46666666666666667" blue="0.46666666666666667" alpha="1" colorSpace="custom" customColorSpace="sRGB"/>
                             <nil key="highlightedColor"/>
@@ -115,8 +115,8 @@
                                 <action selector="cancleMerge:" destination="iN0-l3-epB" eventType="touchUpInside" id="RBc-FO-fdQ"/>
                             </connections>
                         </button>
-                        <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="保存" textAlignment="natural" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="YP9-QE-4Lm">
-                            <rect key="frame" x="241.66666666666666" y="356" width="20.999999999999972" height="12"/>
+                        <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="保存草稿" textAlignment="natural" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="YP9-QE-4Lm">
+                            <rect key="frame" x="231.66666666666666" y="356" width="40.999999999999972" height="12"/>
                             <fontDescription key="fontDescription" type="system" pointSize="10"/>
                             <color key="textColor" red="0.46666666670000001" green="0.46666666670000001" blue="0.46666666670000001" alpha="1" colorSpace="custom" customColorSpace="sRGB"/>
                             <nil key="highlightedColor"/>
@@ -138,7 +138,7 @@
                                 <action selector="saveFile:" destination="iN0-l3-epB" eventType="touchUpInside" id="Arf-7p-jFz"/>
                             </connections>
                         </button>
-                        <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="奏对齐" textAlignment="natural" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="XPO-nW-Uox">
+                        <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="奏对齐" textAlignment="natural" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="XPO-nW-Uox">
                             <rect key="frame" x="26" y="228" width="58" height="17"/>
                             <fontDescription key="fontDescription" type="system" pointSize="14"/>
                             <color key="textColor" red="0.074509803920000006" green="0.078431372550000003" blue="0.08235294118" alpha="1" colorSpace="calibratedRGB"/>
@@ -389,7 +389,7 @@
     <resources>
         <image name="align_left_bg" width="27" height="23"/>
         <image name="align_right_bg" width="27" height="23"/>
-        <image name="aligningSlider_bg" width="181" height="11"/>
+        <image name="aligningSlider_bg" width="180.66667175292969" height="11.333333015441895"/>
         <image name="cancleMerge_image" width="24" height="24"/>
         <image name="merge_next" width="14" height="14"/>
         <image name="merge_upload" width="24" height="24"/>

+ 2 - 3
KulexiuForTeacher/KulexiuForTeacher/Common/Tools/Category/UIViewController+KSExtension.m

@@ -8,17 +8,16 @@
 #import "UIViewController+KSExtension.h"
 #import <objc/runtime.h>
 
-static const char kLandScapeKey;
 
 @implementation UIViewController (KSExtension)
 
 - (BOOL)ks_landScape {
-    BOOL landScape = objc_getAssociatedObject(self, &kLandScapeKey);
+    BOOL landScape = [objc_getAssociatedObject(self, _cmd) boolValue];
     return landScape;
 }
 
 - (void)setKs_landScape:(BOOL)ks_landScape {
-    objc_setAssociatedObject(self, &kLandScapeKey, @(ks_landScape), OBJC_ASSOCIATION_ASSIGN);
+    objc_setAssociatedObject(self, @selector(ks_landScape), @(ks_landScape), OBJC_ASSOCIATION_RETAIN_NONATOMIC);
 }
 
 @end

+ 9 - 1
KulexiuForTeacher/KulexiuForTeacher/Module/Mine/Works/View/MineWorksBodyView.m

@@ -48,7 +48,6 @@
         self.tableView = [[UITableView alloc] initWithFrame:CGRectZero style:UITableViewStylePlain];
         self.tableView.backgroundColor = [UIColor clearColor];
         self.tableView.showsVerticalScrollIndicator = NO;
-        self.tableView.rowHeight = 100.0f;
         self.tableView.dataSource = self;
         self.tableView.delegate = self;
         self.tableView.separatorStyle = UITableViewCellSeparatorStyleNone;
@@ -174,6 +173,15 @@
     return self.sourceArray.count;
 }
 
+- (CGFloat)tableView:(UITableView *)tableView heightForRowAtIndexPath:(NSIndexPath *)indexPath {
+    if (self.selectIndex == 0) {
+        return 100;
+    }
+    else {
+        return 135;
+    }
+}
+
 - (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath {
     if (self.selectIndex == 0) {
         UserMusicFormalModel *model = self.sourceArray[indexPath.row];

+ 24 - 2
KulexiuForTeacher/KulexiuForTeacher/Module/Mine/Works/View/MineWorksDraftsCell.m

@@ -21,6 +21,10 @@
 
 @property (weak, nonatomic) IBOutlet NSLayoutConstraint *chooseImageLeft;
 
+@property (weak, nonatomic) IBOutlet UILabel *deadlineLabel;
+
+@property (weak, nonatomic) IBOutlet UIView *publishTips;
+
 @end
 
 @implementation MineWorksDraftsCell
@@ -37,12 +41,28 @@
 - (void)configSourceWithModel:(UserMusicFormalModel *)model isEdit:(BOOL)isEditStatus {
     [self.musicCoverImage sd_setImageWithURL:[NSURL URLWithString:[model.img getUrlEndcodeString]] placeholderImage:[UIImage imageNamed:@"pub_music_placeholder"]];
     self.musicName.text = [NSString returnNoNullStringWithString:model.musicSheetName];
-    if ([NSString isEmptyString:model.createTime]) {
+    NSDateFormatter *formatter = [NSObject getDateformatter];
+    [formatter setDateFormat:@"yyyy-MM-dd HH:mm:ss"];
+    NSDate *createDate = [formatter dateFromString:model.createTime];
+    NSDate *endDate = [formatter dateFromString:model.expireTime];
+    [formatter setDateFormat:@"yyyy-MM-dd HH:mm"];
+
+    NSString *createTime = [formatter stringFromDate:createDate];
+    NSString *endTime = [formatter stringFromDate:endDate];
+    if ([NSString isEmptyString:createTime]) {
         self.timeLabel.text = @"";
     }
     else {
-        self.timeLabel.text = [[model.createTime componentsSeparatedByString:@" "] firstObject];
+        self.timeLabel.text = [NSString stringWithFormat:@"%@ 创作", createTime];
+    }
+    
+    if ([NSString isEmptyString:endTime]) {
+        self.deadlineLabel.text = @"";
+    }
+    else {
+        self.deadlineLabel.text = endTime;
     }
+    
     if (isEditStatus) {
         self.chooseImgWidth.constant = 18.0f;
         self.chooseImageLeft.constant = 12.0f;
@@ -55,11 +75,13 @@
             chooseImg = @"unChoose_status";
         }
         [self.chooseStatusImage setImage:[UIImage imageNamed:chooseImg]];
+        self.publishTips.hidden = YES;
     }
     else {
         self.chooseImgWidth.constant = 0.0f;
         self.chooseImageLeft.constant = 0.0f;
         self.chooseStatusImage.hidden = YES;
+        self.publishTips.hidden = NO;
     }
 }
 

+ 94 - 25
KulexiuForTeacher/KulexiuForTeacher/Module/Mine/Works/View/MineWorksDraftsCell.xib

@@ -10,25 +10,25 @@
     <objects>
         <placeholder placeholderIdentifier="IBFilesOwner" id="-1" userLabel="File's Owner"/>
         <placeholder placeholderIdentifier="IBFirstResponder" id="-2" customClass="UIResponder"/>
-        <tableViewCell contentMode="scaleToFill" selectionStyle="default" indentationWidth="10" rowHeight="137" id="KGk-i7-Jjw" customClass="MineWorksDraftsCell">
-            <rect key="frame" x="0.0" y="0.0" width="377" height="100"/>
+        <tableViewCell contentMode="scaleToFill" selectionStyle="default" indentationWidth="10" rowHeight="171" id="KGk-i7-Jjw" customClass="MineWorksDraftsCell">
+            <rect key="frame" x="0.0" y="0.0" width="377" height="134"/>
             <autoresizingMask key="autoresizingMask" flexibleMaxX="YES" flexibleMaxY="YES"/>
             <tableViewCellContentView key="contentView" opaque="NO" clipsSubviews="YES" multipleTouchEnabled="YES" contentMode="center" tableViewCell="KGk-i7-Jjw" id="H2p-sc-9uM">
-                <rect key="frame" x="0.0" y="0.0" width="377" height="100"/>
+                <rect key="frame" x="0.0" y="0.0" width="377" height="134"/>
                 <autoresizingMask key="autoresizingMask"/>
                 <subviews>
                     <view contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="sbM-p5-CSI">
-                        <rect key="frame" x="13" y="12" width="351" height="88"/>
+                        <rect key="frame" x="13" y="12" width="351" height="122"/>
                         <subviews>
                             <imageView clipsSubviews="YES" userInteractionEnabled="NO" contentMode="scaleAspectFit" horizontalHuggingPriority="251" verticalHuggingPriority="251" image="music_coverBg" translatesAutoresizingMaskIntoConstraints="NO" id="1jM-kS-ueU">
-                                <rect key="frame" x="19" y="17" width="54" height="54"/>
+                                <rect key="frame" x="19" y="16" width="54" height="54"/>
                                 <constraints>
                                     <constraint firstAttribute="width" constant="54" id="jKq-VV-rak"/>
                                     <constraint firstAttribute="height" constant="54" id="nFv-rS-JPO"/>
                                 </constraints>
                             </imageView>
                             <imageView clipsSubviews="YES" userInteractionEnabled="NO" contentMode="scaleAspectFill" horizontalHuggingPriority="251" verticalHuggingPriority="251" image="pub_music_placeholder" translatesAutoresizingMaskIntoConstraints="NO" id="rxQ-sS-z9K">
-                                <rect key="frame" x="12" y="16" width="56" height="56"/>
+                                <rect key="frame" x="12" y="15" width="56" height="56"/>
                                 <constraints>
                                     <constraint firstAttribute="height" constant="56" id="Dap-6D-bpO"/>
                                     <constraint firstAttribute="width" constant="56" id="ImP-Cf-wfa"/>
@@ -48,15 +48,8 @@
                                 <color key="textColor" red="0.074509803920000006" green="0.078431372550000003" blue="0.08235294118" alpha="1" colorSpace="calibratedRGB"/>
                                 <nil key="highlightedColor"/>
                             </label>
-                            <imageView clipsSubviews="YES" userInteractionEnabled="NO" contentMode="scaleAspectFit" horizontalHuggingPriority="251" verticalHuggingPriority="251" image="product_play" translatesAutoresizingMaskIntoConstraints="NO" id="eCe-Xb-XFd">
-                                <rect key="frame" x="313" y="34" width="20" height="20"/>
-                                <constraints>
-                                    <constraint firstAttribute="height" constant="20" id="VaQ-TC-cFh"/>
-                                    <constraint firstAttribute="width" constant="20" id="sMn-lC-Vws"/>
-                                </constraints>
-                            </imageView>
-                            <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" horizontalCompressionResistancePriority="752" text="2023-04-20" textAlignment="natural" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="MCo-vL-Avx">
-                                <rect key="frame" x="101" y="51" width="76.333333333333314" height="16"/>
+                            <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" horizontalCompressionResistancePriority="752" text="2023-04-20 13:24 创作" textAlignment="natural" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="MCo-vL-Avx">
+                                <rect key="frame" x="101" y="51" width="238" height="16"/>
                                 <fontDescription key="fontDescription" type="system" pointSize="13"/>
                                 <color key="textColor" red="0.66666666669999997" green="0.66666666669999997" blue="0.66666666669999997" alpha="1" colorSpace="custom" customColorSpace="calibratedRGB"/>
                                 <nil key="highlightedColor"/>
@@ -69,31 +62,106 @@
                                 </constraints>
                             </imageView>
                             <imageView hidden="YES" clipsSubviews="YES" userInteractionEnabled="NO" contentMode="scaleAspectFit" horizontalHuggingPriority="251" verticalHuggingPriority="251" image="unChoose_status" translatesAutoresizingMaskIntoConstraints="NO" id="Gqj-ha-fWI">
-                                <rect key="frame" x="0.0" y="35" width="0.0" height="18"/>
+                                <rect key="frame" x="0.0" y="34" width="0.0" height="18"/>
                                 <constraints>
                                     <constraint firstAttribute="height" constant="18" id="SfZ-3o-c0G"/>
                                     <constraint firstAttribute="width" id="cIM-pl-ep6"/>
                                 </constraints>
                             </imageView>
+                            <view contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="lv5-0H-DGl">
+                                <rect key="frame" x="12" y="80" width="327" height="1"/>
+                                <color key="backgroundColor" red="0.94901960784313721" green="0.94901960784313721" blue="0.94901960784313721" alpha="1" colorSpace="calibratedRGB"/>
+                                <constraints>
+                                    <constraint firstAttribute="height" constant="1" id="enV-H2-b6g"/>
+                                </constraints>
+                            </view>
+                            <view contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="tn0-No-tAv">
+                                <rect key="frame" x="12" y="92" width="63" height="18"/>
+                                <subviews>
+                                    <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="过期时间" textAlignment="center" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="sht-ae-Wtw">
+                                        <rect key="frame" x="6" y="0.0" width="51" height="17"/>
+                                        <fontDescription key="fontDescription" type="system" pointSize="12"/>
+                                        <color key="textColor" red="1" green="0.4823529411764706" blue="0.19215686274509802" alpha="1" colorSpace="calibratedRGB"/>
+                                        <nil key="highlightedColor"/>
+                                    </label>
+                                </subviews>
+                                <color key="backgroundColor" red="1" green="0.65098039215686276" blue="0.45098039215686275" alpha="0.070000000000000007" colorSpace="custom" customColorSpace="calibratedRGB"/>
+                                <constraints>
+                                    <constraint firstAttribute="width" constant="63" id="DUX-Ug-NEc"/>
+                                    <constraint firstAttribute="trailing" secondItem="sht-ae-Wtw" secondAttribute="trailing" constant="6" id="NUD-Fs-ZzW"/>
+                                    <constraint firstItem="sht-ae-Wtw" firstAttribute="top" secondItem="tn0-No-tAv" secondAttribute="top" id="XDI-7J-fD6"/>
+                                    <constraint firstItem="sht-ae-Wtw" firstAttribute="leading" secondItem="tn0-No-tAv" secondAttribute="leading" constant="6" id="iCd-L0-qaw"/>
+                                    <constraint firstAttribute="bottom" secondItem="sht-ae-Wtw" secondAttribute="bottom" constant="1" id="itY-ps-IZw"/>
+                                    <constraint firstItem="sht-ae-Wtw" firstAttribute="centerX" secondItem="tn0-No-tAv" secondAttribute="centerX" id="ivA-VY-fts"/>
+                                    <constraint firstAttribute="height" constant="18" id="uOp-96-Bat"/>
+                                </constraints>
+                                <userDefinedRuntimeAttributes>
+                                    <userDefinedRuntimeAttribute type="number" keyPath="cornerRadius">
+                                        <real key="value" value="9"/>
+                                    </userDefinedRuntimeAttribute>
+                                    <userDefinedRuntimeAttribute type="color" keyPath="borderColor">
+                                        <color key="value" red="1" green="0.74901960784313726" blue="0.60392156862745094" alpha="1" colorSpace="calibratedRGB"/>
+                                    </userDefinedRuntimeAttribute>
+                                    <userDefinedRuntimeAttribute type="number" keyPath="borderWidth">
+                                        <real key="value" value="0.5"/>
+                                    </userDefinedRuntimeAttribute>
+                                </userDefinedRuntimeAttributes>
+                            </view>
+                            <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="2023-04-27 23:59 " textAlignment="natural" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="ihw-ja-g5P">
+                                <rect key="frame" x="82" y="93" width="183" height="16"/>
+                                <fontDescription key="fontDescription" type="system" pointSize="13"/>
+                                <color key="textColor" red="0.46666666666666667" green="0.46666666666666667" blue="0.46666666666666667" alpha="1" colorSpace="calibratedRGB"/>
+                                <nil key="highlightedColor"/>
+                            </label>
+                            <view contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="09X-I4-Gx4">
+                                <rect key="frame" x="277" y="88" width="62" height="25"/>
+                                <subviews>
+                                    <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="去发布" textAlignment="natural" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="cZL-qI-9zG">
+                                        <rect key="frame" x="12.666666666666686" y="5.3333333333333295" width="37" height="14.333333333333336"/>
+                                        <fontDescription key="fontDescription" type="system" weight="medium" pointSize="12"/>
+                                        <color key="textColor" white="1" alpha="1" colorSpace="custom" customColorSpace="genericGamma22GrayColorSpace"/>
+                                        <nil key="highlightedColor"/>
+                                    </label>
+                                </subviews>
+                                <color key="backgroundColor" red="0.1764705882352941" green="0.7803921568627451" blue="0.66666666666666663" alpha="1" colorSpace="calibratedRGB"/>
+                                <constraints>
+                                    <constraint firstItem="cZL-qI-9zG" firstAttribute="centerY" secondItem="09X-I4-Gx4" secondAttribute="centerY" id="1bW-MW-fUc"/>
+                                    <constraint firstItem="cZL-qI-9zG" firstAttribute="centerX" secondItem="09X-I4-Gx4" secondAttribute="centerX" id="VX2-iU-vqw"/>
+                                    <constraint firstAttribute="height" constant="25" id="chW-5d-Pkb"/>
+                                    <constraint firstAttribute="width" constant="62" id="gJn-cZ-vYw"/>
+                                </constraints>
+                                <userDefinedRuntimeAttributes>
+                                    <userDefinedRuntimeAttribute type="number" keyPath="cornerRadius">
+                                        <real key="value" value="12.5"/>
+                                    </userDefinedRuntimeAttribute>
+                                </userDefinedRuntimeAttributes>
+                            </view>
                         </subviews>
                         <color key="backgroundColor" white="1" alpha="1" colorSpace="custom" customColorSpace="genericGamma22GrayColorSpace"/>
                         <constraints>
                             <constraint firstItem="Gqj-ha-fWI" firstAttribute="leading" secondItem="sbM-p5-CSI" secondAttribute="leading" id="4AR-Vh-8JS"/>
-                            <constraint firstItem="eCe-Xb-XFd" firstAttribute="centerY" secondItem="sbM-p5-CSI" secondAttribute="centerY" id="8ga-hH-ac5"/>
-                            <constraint firstItem="rxQ-sS-z9K" firstAttribute="centerY" secondItem="sbM-p5-CSI" secondAttribute="centerY" id="Aqj-0z-BCc"/>
-                            <constraint firstItem="eCe-Xb-XFd" firstAttribute="leading" relation="greaterThanOrEqual" secondItem="MCo-vL-Avx" secondAttribute="trailing" constant="10" id="BRx-Fv-RTk"/>
                             <constraint firstItem="WOO-8s-BT6" firstAttribute="top" secondItem="r93-WW-AsM" secondAttribute="bottom" constant="8" id="EUI-Xl-W83"/>
                             <constraint firstItem="rxQ-sS-z9K" firstAttribute="leading" secondItem="Gqj-ha-fWI" secondAttribute="trailing" constant="12" id="FzA-y3-tKP"/>
+                            <constraint firstAttribute="trailing" secondItem="09X-I4-Gx4" secondAttribute="trailing" constant="12" id="G5Q-X3-MPL"/>
                             <constraint firstItem="rxQ-sS-z9K" firstAttribute="trailing" secondItem="1jM-kS-ueU" secondAttribute="trailing" constant="-5" id="Ij2-7k-M1X"/>
-                            <constraint firstItem="1jM-kS-ueU" firstAttribute="centerY" secondItem="sbM-p5-CSI" secondAttribute="centerY" id="KBD-2t-dV3"/>
                             <constraint firstItem="MCo-vL-Avx" firstAttribute="centerY" secondItem="WOO-8s-BT6" secondAttribute="centerY" id="KRL-Ut-jDM"/>
+                            <constraint firstItem="09X-I4-Gx4" firstAttribute="top" secondItem="lv5-0H-DGl" secondAttribute="bottom" constant="7" id="Qcy-aC-C0y"/>
+                            <constraint firstAttribute="trailing" secondItem="lv5-0H-DGl" secondAttribute="trailing" constant="12" id="Svx-mg-YjT"/>
+                            <constraint firstItem="ihw-ja-g5P" firstAttribute="leading" secondItem="tn0-No-tAv" secondAttribute="trailing" constant="7" id="T2L-cV-uue"/>
+                            <constraint firstItem="rxQ-sS-z9K" firstAttribute="top" secondItem="sbM-p5-CSI" secondAttribute="top" constant="15" id="W3x-yP-4u7"/>
+                            <constraint firstItem="lv5-0H-DGl" firstAttribute="leading" secondItem="sbM-p5-CSI" secondAttribute="leading" constant="12" id="WqN-Iy-tLG"/>
+                            <constraint firstItem="tn0-No-tAv" firstAttribute="top" secondItem="lv5-0H-DGl" secondAttribute="bottom" constant="11" id="a7x-1n-qfN"/>
+                            <constraint firstItem="ihw-ja-g5P" firstAttribute="centerY" secondItem="tn0-No-tAv" secondAttribute="centerY" id="aNz-GF-fma"/>
+                            <constraint firstItem="Gqj-ha-fWI" firstAttribute="centerY" secondItem="rxQ-sS-z9K" secondAttribute="centerY" id="ewI-LS-p9x"/>
+                            <constraint firstItem="tn0-No-tAv" firstAttribute="leading" secondItem="sbM-p5-CSI" secondAttribute="leading" constant="12" id="fQW-kJ-Mes"/>
                             <constraint firstItem="r93-WW-AsM" firstAttribute="top" secondItem="sbM-p5-CSI" secondAttribute="top" constant="23" id="gSD-y8-h6X"/>
                             <constraint firstItem="MCo-vL-Avx" firstAttribute="leading" secondItem="WOO-8s-BT6" secondAttribute="trailing" constant="4" id="gWK-ze-Cac"/>
                             <constraint firstItem="r93-WW-AsM" firstAttribute="leading" secondItem="1jM-kS-ueU" secondAttribute="trailing" constant="12" id="jtU-xR-hVE"/>
-                            <constraint firstItem="eCe-Xb-XFd" firstAttribute="leading" relation="greaterThanOrEqual" secondItem="r93-WW-AsM" secondAttribute="trailing" constant="10" id="mnY-fn-mZe"/>
-                            <constraint firstAttribute="trailing" secondItem="eCe-Xb-XFd" secondAttribute="trailing" constant="18" id="uXA-wM-5xf"/>
+                            <constraint firstItem="1jM-kS-ueU" firstAttribute="top" secondItem="sbM-p5-CSI" secondAttribute="top" constant="16" id="nBE-gH-aqV"/>
+                            <constraint firstAttribute="trailing" secondItem="MCo-vL-Avx" secondAttribute="trailing" constant="12" id="r4i-PG-ZM4"/>
+                            <constraint firstItem="09X-I4-Gx4" firstAttribute="leading" secondItem="ihw-ja-g5P" secondAttribute="trailing" constant="12" id="ryl-f0-0C3"/>
                             <constraint firstItem="WOO-8s-BT6" firstAttribute="leading" secondItem="r93-WW-AsM" secondAttribute="leading" id="whY-67-po0"/>
-                            <constraint firstItem="Gqj-ha-fWI" firstAttribute="centerY" secondItem="sbM-p5-CSI" secondAttribute="centerY" id="yvt-il-Rz2"/>
+                            <constraint firstItem="lv5-0H-DGl" firstAttribute="top" secondItem="rxQ-sS-z9K" secondAttribute="bottom" constant="9" id="zkc-1s-5hy"/>
                         </constraints>
                         <userDefinedRuntimeAttributes>
                             <userDefinedRuntimeAttribute type="number" keyPath="cornerRadius">
@@ -115,16 +183,17 @@
                 <outlet property="chooseImageLeft" destination="4AR-Vh-8JS" id="3ks-8c-Yhx"/>
                 <outlet property="chooseImgWidth" destination="cIM-pl-ep6" id="i1f-qv-Bx3"/>
                 <outlet property="chooseStatusImage" destination="Gqj-ha-fWI" id="ISp-Lu-tyA"/>
+                <outlet property="deadlineLabel" destination="ihw-ja-g5P" id="3y3-Jj-lyG"/>
                 <outlet property="musicCoverImage" destination="rxQ-sS-z9K" id="efD-11-BDK"/>
                 <outlet property="musicName" destination="r93-WW-AsM" id="7LH-IV-lKm"/>
+                <outlet property="publishTips" destination="09X-I4-Gx4" id="Fo4-im-dZy"/>
                 <outlet property="timeLabel" destination="MCo-vL-Avx" id="4oT-ak-gLh"/>
             </connections>
-            <point key="canvasLocation" x="95.419847328244273" y="43.661971830985919"/>
+            <point key="canvasLocation" x="95.419847328244273" y="55.633802816901408"/>
         </tableViewCell>
     </objects>
     <resources>
         <image name="music_coverBg" width="54" height="54"/>
-        <image name="product_play" width="20" height="20"/>
         <image name="pub_music_placeholder" width="205" height="205"/>
         <image name="time_grey" width="12" height="12"/>
         <image name="unChoose_status" width="18" height="18"/>