Преглед на файлове

1.自定义课程规划滚动条
2.更换音乐厅图片和动效

Steven преди 7 месеца
родител
ревизия
32259eee11

BIN
KulexiuForStudent/KulexiuForStudent/Assets.xcassets/Tabbar/tab_musicSquare_unselected.imageset/tab_musicSquare_unselected@2x.png


BIN
KulexiuForStudent/KulexiuForStudent/Assets.xcassets/Tabbar/tab_musicSquare_unselected.imageset/tab_musicSquare_unselected@3x.png


Файловите разлики са ограничени, защото са твърде много
+ 0 - 0
KulexiuForStudent/KulexiuForStudent/Common/Base/TabbarAnimation/tabbar2.json


+ 0 - 4
KulexiuForStudent/KulexiuForStudent/Module/Course/Controller/CourseViewController.m

@@ -414,10 +414,6 @@
 }
 
 - (CGFloat)tableView:(UITableView *)tableView heightForRowAtIndexPath:(NSIndexPath *)indexPath {
-    TableCourseModel *model = self.dataArray[indexPath.row];
-    if ([model.courseType isEqualToString:@"PIANO_ROOM_CLASS"]) {
-       return 127.0f;
-    }
     return 137.0f;
 }
 

+ 16 - 16
KulexiuForStudent/KulexiuForStudent/Module/Course/View/CourseForLiveCell.xib

@@ -12,14 +12,14 @@
         <placeholder placeholderIdentifier="IBFilesOwner" id="-1" userLabel="File's Owner"/>
         <placeholder placeholderIdentifier="IBFirstResponder" id="-2" customClass="UIResponder"/>
         <tableViewCell contentMode="scaleToFill" selectionStyle="default" indentationWidth="10" rowHeight="159" id="KGk-i7-Jjw" customClass="CourseForLiveCell">
-            <rect key="frame" x="0.0" y="0.0" width="394" height="128"/>
+            <rect key="frame" x="0.0" y="0.0" width="394" height="137"/>
             <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="394" height="128"/>
+                <rect key="frame" x="0.0" y="0.0" width="394" height="137"/>
                 <autoresizingMask key="autoresizingMask"/>
                 <subviews>
                     <view contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="K4l-Dq-CXi">
-                        <rect key="frame" x="14" y="0.0" width="366" height="116"/>
+                        <rect key="frame" x="14" y="0.0" width="366" height="125"/>
                         <subviews>
                             <view contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="5Lp-rU-nqx">
                                 <rect key="frame" x="10" y="38" width="346" height="1"/>
@@ -51,10 +51,10 @@
                                 <nil key="highlightedColor"/>
                             </label>
                             <imageView clipsSubviews="YES" userInteractionEnabled="NO" contentMode="scaleAspectFill" horizontalHuggingPriority="251" verticalHuggingPriority="251" image="lesson_Live" translatesAutoresizingMaskIntoConstraints="NO" id="wA2-zs-RYl">
-                                <rect key="frame" x="11" y="56" width="47" height="47"/>
+                                <rect key="frame" x="11" y="55" width="54" height="54"/>
                                 <constraints>
-                                    <constraint firstAttribute="width" constant="47" id="9Wg-OO-U4i"/>
-                                    <constraint firstAttribute="height" constant="47" id="uww-MX-dub"/>
+                                    <constraint firstAttribute="width" constant="54" id="9Wg-OO-U4i"/>
+                                    <constraint firstAttribute="height" constant="54" id="uww-MX-dub"/>
                                 </constraints>
                                 <userDefinedRuntimeAttributes>
                                     <userDefinedRuntimeAttribute type="number" keyPath="cornerRadius">
@@ -63,16 +63,16 @@
                                 </userDefinedRuntimeAttributes>
                             </imageView>
                             <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="" textAlignment="natural" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="dEp-ou-JBA">
-                                <rect key="frame" x="68" y="56" width="0.0" height="24"/>
+                                <rect key="frame" x="75" y="57" width="0.0" height="22"/>
                                 <constraints>
-                                    <constraint firstAttribute="height" constant="24" id="fXZ-Y5-AoA"/>
+                                    <constraint firstAttribute="height" constant="22" id="fXZ-Y5-AoA"/>
                                 </constraints>
                                 <fontDescription key="fontDescription" type="system" weight="medium" pointSize="16"/>
-                                <color key="textColor" red="0.1019607843" green="0.1019607843" blue="0.1019607843" alpha="1" colorSpace="calibratedRGB"/>
+                                <color key="textColor" red="0.10196078431372549" green="0.10196078431372549" blue="0.10196078431372549" alpha="1" colorSpace="custom" customColorSpace="sRGB"/>
                                 <nil key="highlightedColor"/>
                             </label>
                             <view contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="EoV-cQ-MON">
-                                <rect key="frame" x="68" y="83" width="10" height="20"/>
+                                <rect key="frame" x="75" y="87" width="10" height="20"/>
                                 <subviews>
                                     <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="" textAlignment="natural" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="EmG-Yo-nbA">
                                         <rect key="frame" x="5" y="0.0" width="0.0" height="20"/>
@@ -96,7 +96,7 @@
                                 </userDefinedRuntimeAttributes>
                             </view>
                             <button opaque="NO" contentMode="scaleToFill" contentHorizontalAlignment="center" contentVerticalAlignment="center" lineBreakMode="middleTruncation" translatesAutoresizingMaskIntoConstraints="NO" id="2TM-qv-v7e">
-                                <rect key="frame" x="73" y="53" width="30" height="30"/>
+                                <rect key="frame" x="80" y="53" width="30" height="30"/>
                                 <constraints>
                                     <constraint firstAttribute="width" constant="30" id="lbN-u0-SFA"/>
                                     <constraint firstAttribute="height" constant="30" id="x6Y-49-gGY"/>
@@ -108,7 +108,7 @@
                                 </connections>
                             </button>
                             <button opaque="NO" contentMode="scaleToFill" contentHorizontalAlignment="center" contentVerticalAlignment="center" lineBreakMode="middleTruncation" translatesAutoresizingMaskIntoConstraints="NO" id="bRl-1p-cZu">
-                                <rect key="frame" x="284" y="68" width="70" height="28"/>
+                                <rect key="frame" x="284" y="77" width="70" height="28"/>
                                 <color key="backgroundColor" red="0.1764705882" green="0.78039215689999997" blue="0.66666666669999997" alpha="1" colorSpace="calibratedRGB"/>
                                 <constraints>
                                     <constraint firstAttribute="height" constant="28" id="Uge-1g-sLY"/>
@@ -127,7 +127,7 @@
                                 </connections>
                             </button>
                             <view contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="MTB-cE-tDv">
-                                <rect key="frame" x="83" y="83" width="191" height="20"/>
+                                <rect key="frame" x="90" y="87" width="184" height="20"/>
                                 <subviews>
                                     <view hidden="YES" contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="Nzy-gR-bLh">
                                         <rect key="frame" x="0.0" y="4.5" width="1" height="11"/>
@@ -162,16 +162,15 @@
                             <constraint firstItem="EoV-cQ-MON" firstAttribute="leading" secondItem="dEp-ou-JBA" secondAttribute="leading" id="7Vb-7S-FZM"/>
                             <constraint firstItem="7HA-oy-GhL" firstAttribute="centerY" secondItem="T9A-D2-1YE" secondAttribute="centerY" id="7cG-kE-7oR"/>
                             <constraint firstItem="2TM-qv-v7e" firstAttribute="leading" secondItem="dEp-ou-JBA" secondAttribute="trailing" constant="5" id="BMA-h3-EFf"/>
-                            <constraint firstItem="EoV-cQ-MON" firstAttribute="bottom" secondItem="wA2-zs-RYl" secondAttribute="bottom" id="Chd-et-KWm"/>
                             <constraint firstAttribute="bottom" secondItem="bRl-1p-cZu" secondAttribute="bottom" constant="20" id="DSL-E3-U1J"/>
                             <constraint firstItem="T9A-D2-1YE" firstAttribute="centerY" secondItem="pTS-nC-xAK" secondAttribute="centerY" id="Hlv-G6-Ihl"/>
                             <constraint firstAttribute="trailing" secondItem="5Lp-rU-nqx" secondAttribute="trailing" constant="10" id="IrU-1o-C7S"/>
                             <constraint firstItem="7HA-oy-GhL" firstAttribute="leading" relation="greaterThanOrEqual" secondItem="T9A-D2-1YE" secondAttribute="trailing" constant="10" id="LMB-sX-uzM"/>
                             <constraint firstItem="wA2-zs-RYl" firstAttribute="leading" secondItem="K4l-Dq-CXi" secondAttribute="leading" constant="11" id="Lc0-sK-oXd"/>
-                            <constraint firstItem="wA2-zs-RYl" firstAttribute="top" secondItem="5Lp-rU-nqx" secondAttribute="bottom" constant="17" id="MsY-pI-vsy"/>
+                            <constraint firstItem="wA2-zs-RYl" firstAttribute="top" secondItem="5Lp-rU-nqx" secondAttribute="bottom" constant="16" id="MsY-pI-vsy"/>
                             <constraint firstAttribute="trailing" secondItem="bRl-1p-cZu" secondAttribute="trailing" constant="12" id="OK3-7Z-Oyp"/>
                             <constraint firstItem="T9A-D2-1YE" firstAttribute="leading" secondItem="pTS-nC-xAK" secondAttribute="trailing" constant="7" id="OQD-n7-8U1"/>
-                            <constraint firstItem="dEp-ou-JBA" firstAttribute="top" secondItem="wA2-zs-RYl" secondAttribute="top" id="OSg-qL-j0d"/>
+                            <constraint firstItem="dEp-ou-JBA" firstAttribute="top" secondItem="wA2-zs-RYl" secondAttribute="top" constant="2" id="OSg-qL-j0d"/>
                             <constraint firstItem="bRl-1p-cZu" firstAttribute="leading" relation="greaterThanOrEqual" secondItem="2TM-qv-v7e" secondAttribute="trailing" constant="5" id="T9Z-Hq-NcK"/>
                             <constraint firstAttribute="trailing" secondItem="7HA-oy-GhL" secondAttribute="trailing" constant="11" id="Whn-GB-iyS"/>
                             <constraint firstItem="5Lp-rU-nqx" firstAttribute="top" secondItem="pTS-nC-xAK" secondAttribute="bottom" constant="10" id="ZN2-we-wfB"/>
@@ -181,6 +180,7 @@
                             <constraint firstItem="bRl-1p-cZu" firstAttribute="leading" secondItem="MTB-cE-tDv" secondAttribute="trailing" constant="10" id="swi-oP-0xd"/>
                             <constraint firstItem="MTB-cE-tDv" firstAttribute="centerY" secondItem="EoV-cQ-MON" secondAttribute="centerY" id="uTO-Pb-zuG"/>
                             <constraint firstItem="2TM-qv-v7e" firstAttribute="centerY" secondItem="dEp-ou-JBA" secondAttribute="centerY" id="zPS-Ez-UpN"/>
+                            <constraint firstItem="EoV-cQ-MON" firstAttribute="top" secondItem="dEp-ou-JBA" secondAttribute="bottom" constant="8" id="zqd-wy-Avw"/>
                         </constraints>
                         <userDefinedRuntimeAttributes>
                             <userDefinedRuntimeAttribute type="number" keyPath="cornerRadius">

+ 65 - 2
KulexiuForStudent/KulexiuForStudent/Module/Course/View/CourseGroupView/CourseGroupPlanDescView.m

@@ -9,19 +9,38 @@
 
 @interface CourseGroupPlanDescView ()<UITextViewDelegate>
 
+@property (weak, nonatomic) IBOutlet UIView *textBgView;
+
 @property (weak, nonatomic) IBOutlet UITextView *textView;
 
 @property (nonatomic, copy) ModifyGroupPlanCallback callback;
 
+@property (nonatomic, strong) UIView *customScollBar;
+
+@property (nonatomic, assign) CGFloat scrollBarHeight;
+
 @end
 
 @implementation CourseGroupPlanDescView
+
 - (void)awakeFromNib {
     [super awakeFromNib];
     self.textView.delegate = self;
     self.textView.textContainer.lineFragmentPadding = 0;
     self.textView.textContainerInset = UIEdgeInsetsMake(0, 0, 0, 4);
+    [self.textBgView addSubview:self.customScollBar];
+    self.scrollBarHeight = 43.0f;
+    [self.customScollBar mas_makeConstraints:^(MASConstraintMaker *make) {
+        make.right.mas_equalTo(self.textBgView.mas_right);
+        make.width.mas_equalTo(3);
+        make.height.mas_equalTo(self.scrollBarHeight);
+        make.top.mas_equalTo(self.textBgView.mas_top);
+    }];
+    self.customScollBar.hidden = YES;
 }
+
+
+
 + (instancetype)sharedInstance {
     CourseGroupPlanDescView *view = [[[NSBundle mainBundle] loadNibNamed:@"CourseGroupPlanDescView" owner:nil options:nil] firstObject];
     return view;
@@ -33,6 +52,10 @@
     CGFloat baselineOffset = [CourseGroupPlanDescView getBaseOffline:[UIFont systemFontOfSize:13.0f] lineHeight:22.0f];
     NSMutableAttributedString *attrs = [[NSMutableAttributedString alloc] initWithString:planDesc attributes:@{NSParagraphStyleAttributeName:paragraphStyle, NSBaselineOffsetAttributeName:@(baselineOffset),NSFontAttributeName:[UIFont systemFontOfSize:13.0f], NSForegroundColorAttributeName:HexRGB(0x777777)}];
     self.textView.attributedText = attrs;
+    CGFloat height = [CourseGroupPlanDescView getViewRealHeight:planDesc];
+    if (height > 152) {
+        self.customScollBar.hidden = NO;
+    }
 }
 
 - (void)modifyPlanAction:(ModifyGroupPlanCallback)callback {
@@ -60,11 +83,15 @@
     return paragraphStyle;
 }
 
-
-+ (CGFloat)getViewHeight:(NSString *)planString {
++ (CGFloat)getViewRealHeight:(NSString *)planString {
     NSMutableParagraphStyle *paragraphStyle = [self getParagraphStyleWithFont:[UIFont systemFontOfSize:13.0f] lineHeight:22.0f];
     CGFloat baselineOffset = [self getBaseOffline:[UIFont systemFontOfSize:13.0f] lineHeight:22.0f];
     CGFloat height = [planString boundingRectWithSize:CGSizeMake(KPortraitWidth - 26, CGFLOAT_MAX) options:NSStringDrawingUsesLineFragmentOrigin attributes:@{NSParagraphStyleAttributeName:paragraphStyle, NSBaselineOffsetAttributeName:@(baselineOffset),NSFontAttributeName:[UIFont systemFontOfSize:13.0f]} context:nil].size.height + 1 + 42 + 10 + 12;
+    return height;
+}
+
++ (CGFloat)getViewHeight:(NSString *)planString {
+    CGFloat height = [self getViewRealHeight:planString];
     if (height < 96) {
         height = 96.0f;
     }
@@ -89,6 +116,42 @@
     [[NSNotificationCenter defaultCenter] postNotificationName:@"UITextViewEndScroll" object:nil];
 }
 
+- (void)scrollViewDidScroll:(UIScrollView *)scrollView {
+    if (self.customScollBar.hidden == NO) {
+        [UIView animateWithDuration:0.1 animations:^{
+            [self updateCustomScrollBar];
+        }];
+    }
+}
+
+// 更新滚动条位置的逻辑
+- (void)updateCustomScrollBar {
+    CGFloat contentHeight = self.textView.contentSize.height;
+    CGFloat visibleHeight = self.textView.bounds.size.height;
+    
+    // 计算滚动条位置
+    CGFloat scrollBarY = (self.textView.contentOffset.y / contentHeight) * visibleHeight;
+    if (scrollBarY < 0) {
+        scrollBarY = 0;
+    }
+    if (scrollBarY > visibleHeight - self.scrollBarHeight) {
+        scrollBarY = visibleHeight - self.scrollBarHeight;
+    }
+    // 更新滚动条的 Frame
+    [self.customScollBar mas_updateConstraints:^(MASConstraintMaker *make) {
+        make.top.mas_equalTo(self.textBgView.mas_top).offset(scrollBarY);
+    }];
+}
+
+- (UIView *)customScollBar {
+    if (!_customScollBar) {
+        _customScollBar = [[UIView alloc] init];
+        _customScollBar.backgroundColor = HexRGB(0xE2E2E2);
+        _customScollBar.layer.cornerRadius = 1.5; // 圆角效果
+    }
+    return _customScollBar;
+}
+
 /*
 // Only override drawRect: if you perform custom drawing.
 // An empty implementation adversely affects performance during animation.

+ 1 - 1
KulexiuForStudent/KulexiuForStudent/Module/Course/View/CourseGroupView/CourseGroupPlanDescView.xib

@@ -53,7 +53,7 @@
                                 <action selector="buttonAction:" destination="iN0-l3-epB" eventType="touchUpInside" id="7O5-OQ-PEc"/>
                             </connections>
                         </button>
-                        <textView clipsSubviews="YES" multipleTouchEnabled="YES" contentMode="scaleToFill" showsHorizontalScrollIndicator="NO" editable="NO" textAlignment="natural" selectable="NO" translatesAutoresizingMaskIntoConstraints="NO" id="djD-FS-SLG">
+                        <textView clipsSubviews="YES" multipleTouchEnabled="YES" contentMode="scaleToFill" showsHorizontalScrollIndicator="NO" showsVerticalScrollIndicator="NO" editable="NO" textAlignment="natural" selectable="NO" translatesAutoresizingMaskIntoConstraints="NO" id="djD-FS-SLG">
                             <rect key="frame" x="12" y="42" width="373" height="81"/>
                             <color key="backgroundColor" systemColor="systemBackgroundColor"/>
                             <color key="textColor" red="0.46666666666666667" green="0.46666666666666667" blue="0.46666666666666667" alpha="1" colorSpace="custom" customColorSpace="sRGB"/>

+ 17 - 17
KulexiuForStudent/KulexiuForStudent/Module/Course/View/MusicRoomCourseCell.xib

@@ -12,14 +12,14 @@
         <placeholder placeholderIdentifier="IBFilesOwner" id="-1" userLabel="File's Owner"/>
         <placeholder placeholderIdentifier="IBFirstResponder" id="-2" customClass="UIResponder"/>
         <tableViewCell contentMode="scaleToFill" selectionStyle="default" indentationWidth="10" rowHeight="136" id="KGk-i7-Jjw" customClass="MusicRoomCourseCell">
-            <rect key="frame" x="0.0" y="0.0" width="435" height="127"/>
+            <rect key="frame" x="0.0" y="0.0" width="435" height="137"/>
             <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="435" height="127"/>
+                <rect key="frame" x="0.0" y="0.0" width="435" height="137"/>
                 <autoresizingMask key="autoresizingMask"/>
                 <subviews>
                     <view contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="Wl9-sn-VK0">
-                        <rect key="frame" x="14" y="0.0" width="407" height="117"/>
+                        <rect key="frame" x="14" y="0.0" width="407" height="127"/>
                         <subviews>
                             <imageView clipsSubviews="YES" userInteractionEnabled="NO" contentMode="scaleAspectFit" horizontalHuggingPriority="251" verticalHuggingPriority="251" image="course_time" translatesAutoresizingMaskIntoConstraints="NO" id="VjP-WA-4SG">
                                 <rect key="frame" x="12" y="12" width="16" height="16"/>
@@ -45,16 +45,16 @@
                                 </constraints>
                             </view>
                             <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="" textAlignment="natural" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="l2B-EY-GWY">
-                                <rect key="frame" x="68" y="53" width="0.0" height="28"/>
+                                <rect key="frame" x="75" y="59" width="0.0" height="22"/>
                                 <constraints>
-                                    <constraint firstAttribute="height" constant="28" id="kAd-0f-k5x"/>
+                                    <constraint firstAttribute="height" constant="22" id="kAd-0f-k5x"/>
                                 </constraints>
                                 <fontDescription key="fontDescription" type="system" weight="medium" pointSize="16"/>
-                                <color key="textColor" red="0.10196078431372549" green="0.10196078431372549" blue="0.10196078431372549" alpha="1" colorSpace="calibratedRGB"/>
+                                <color key="textColor" red="0.10196078431372549" green="0.10196078431372549" blue="0.10196078431372549" alpha="1" colorSpace="custom" customColorSpace="sRGB"/>
                                 <nil key="highlightedColor"/>
                             </label>
                             <view contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="Dys-CR-rsC">
-                                <rect key="frame" x="68" y="81" width="10" height="20"/>
+                                <rect key="frame" x="75" y="89" width="10" height="20"/>
                                 <subviews>
                                     <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="" textAlignment="natural" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="TPd-JA-v98">
                                         <rect key="frame" x="5" y="0.0" width="0.0" height="20"/>
@@ -78,7 +78,7 @@
                                 </userDefinedRuntimeAttributes>
                             </view>
                             <button opaque="NO" userInteractionEnabled="NO" contentMode="scaleToFill" contentHorizontalAlignment="center" contentVerticalAlignment="center" lineBreakMode="middleTruncation" translatesAutoresizingMaskIntoConstraints="NO" id="Vxw-2k-cqR">
-                                <rect key="frame" x="325" y="69" width="70" height="28"/>
+                                <rect key="frame" x="325" y="79" width="70" height="28"/>
                                 <color key="backgroundColor" red="0.1764705882" green="0.78039215689999997" blue="0.66666666669999997" alpha="1" colorSpace="calibratedRGB"/>
                                 <constraints>
                                     <constraint firstAttribute="width" constant="70" id="e5h-nv-3mR"/>
@@ -100,14 +100,14 @@
                                 </userDefinedRuntimeAttributes>
                             </button>
                             <imageView clipsSubviews="YES" userInteractionEnabled="NO" contentMode="scaleAspectFit" horizontalHuggingPriority="251" verticalHuggingPriority="251" image="course_musicRoom" translatesAutoresizingMaskIntoConstraints="NO" id="KUE-40-5Jn">
-                                <rect key="frame" x="11" y="55" width="47" height="47"/>
+                                <rect key="frame" x="11" y="57" width="54" height="54"/>
                                 <constraints>
-                                    <constraint firstAttribute="height" constant="47" id="S6z-NU-xg3"/>
-                                    <constraint firstAttribute="width" constant="47" id="c6q-Yc-a17"/>
+                                    <constraint firstAttribute="height" constant="54" id="S6z-NU-xg3"/>
+                                    <constraint firstAttribute="width" constant="54" id="c6q-Yc-a17"/>
                                 </constraints>
                             </imageView>
                             <view hidden="YES" contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="sVq-IR-gIH">
-                                <rect key="frame" x="86" y="85" width="1" height="12"/>
+                                <rect key="frame" x="93" y="93" width="1" height="12"/>
                                 <color key="backgroundColor" red="0.87058823529999996" green="0.87058823529999996" blue="0.87058823529999996" alpha="1" colorSpace="calibratedRGB"/>
                                 <constraints>
                                     <constraint firstAttribute="height" constant="12" id="Uhv-oB-NVg"/>
@@ -115,13 +115,13 @@
                                 </constraints>
                             </view>
                             <label hidden="YES" opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="" textAlignment="right" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="W7K-ER-kaU">
-                                <rect key="frame" x="95" y="91" width="0.0" height="0.0"/>
+                                <rect key="frame" x="102" y="99" width="0.0" height="0.0"/>
                                 <fontDescription key="fontDescription" type="system" pointSize="14"/>
                                 <color key="textColor" red="0.59999999999999998" green="0.59999999999999998" blue="0.59999999999999998" alpha="1" colorSpace="calibratedRGB"/>
                                 <nil key="highlightedColor"/>
                             </label>
                             <button opaque="NO" contentMode="scaleToFill" contentHorizontalAlignment="center" contentVerticalAlignment="center" lineBreakMode="middleTruncation" translatesAutoresizingMaskIntoConstraints="NO" id="frc-dG-90z">
-                                <rect key="frame" x="68" y="47" width="40" height="40"/>
+                                <rect key="frame" x="75" y="50" width="40" height="40"/>
                                 <constraints>
                                     <constraint firstAttribute="height" constant="40" id="uL1-Gj-W3y"/>
                                     <constraint firstAttribute="width" constant="40" id="yA6-mm-wkc"/>
@@ -145,7 +145,7 @@
                         <color key="backgroundColor" systemColor="systemBackgroundColor"/>
                         <constraints>
                             <constraint firstItem="VjP-WA-4SG" firstAttribute="leading" secondItem="Wl9-sn-VK0" secondAttribute="leading" constant="12" id="76s-eU-Ril"/>
-                            <constraint firstItem="Dys-CR-rsC" firstAttribute="top" secondItem="l2B-EY-GWY" secondAttribute="bottom" id="9Pu-wW-GUr"/>
+                            <constraint firstItem="Dys-CR-rsC" firstAttribute="top" secondItem="l2B-EY-GWY" secondAttribute="bottom" constant="8" id="9Pu-wW-GUr"/>
                             <constraint firstItem="sVq-IR-gIH" firstAttribute="leading" secondItem="Dys-CR-rsC" secondAttribute="trailing" constant="8" id="Axw-an-ZIM"/>
                             <constraint firstItem="VjP-WA-4SG" firstAttribute="top" secondItem="Wl9-sn-VK0" secondAttribute="top" constant="12" id="B95-QO-f7C"/>
                             <constraint firstItem="W7K-ER-kaU" firstAttribute="centerY" secondItem="Dys-CR-rsC" secondAttribute="centerY" id="CcI-U9-CQp"/>
@@ -157,7 +157,7 @@
                             <constraint firstItem="89l-Qb-VVR" firstAttribute="top" secondItem="VjP-WA-4SG" secondAttribute="bottom" constant="12" id="Qui-l2-OSZ"/>
                             <constraint firstAttribute="trailing" secondItem="iGm-1d-ScL" secondAttribute="trailing" constant="11" id="RCi-Qj-EP0"/>
                             <constraint firstItem="frc-dG-90z" firstAttribute="centerY" secondItem="l2B-EY-GWY" secondAttribute="centerY" id="Tub-Um-bTn"/>
-                            <constraint firstItem="KUE-40-5Jn" firstAttribute="top" secondItem="89l-Qb-VVR" secondAttribute="bottom" constant="14" id="Wtf-un-EEq"/>
+                            <constraint firstItem="KUE-40-5Jn" firstAttribute="top" secondItem="89l-Qb-VVR" secondAttribute="bottom" constant="16" id="Wtf-un-EEq"/>
                             <constraint firstItem="iGm-1d-ScL" firstAttribute="leading" secondItem="UxS-Xs-zTk" secondAttribute="trailing" constant="10" id="YBZ-5b-TA4"/>
                             <constraint firstAttribute="bottom" secondItem="Vxw-2k-cqR" secondAttribute="bottom" constant="20" id="YBw-Ge-ULu"/>
                             <constraint firstItem="l2B-EY-GWY" firstAttribute="leading" secondItem="KUE-40-5Jn" secondAttribute="trailing" constant="10" id="cfy-Be-GKk"/>
@@ -165,7 +165,7 @@
                             <constraint firstItem="Vxw-2k-cqR" firstAttribute="leading" relation="greaterThanOrEqual" secondItem="frc-dG-90z" secondAttribute="trailing" constant="10" id="ipj-Bl-ghE"/>
                             <constraint firstItem="W7K-ER-kaU" firstAttribute="leading" secondItem="sVq-IR-gIH" secondAttribute="trailing" constant="8" id="mUe-1U-PpA"/>
                             <constraint firstItem="89l-Qb-VVR" firstAttribute="leading" secondItem="Wl9-sn-VK0" secondAttribute="leading" constant="10" id="pgO-Fi-Mwz"/>
-                            <constraint firstItem="l2B-EY-GWY" firstAttribute="top" secondItem="KUE-40-5Jn" secondAttribute="top" constant="-2" id="v6g-OI-y76"/>
+                            <constraint firstItem="l2B-EY-GWY" firstAttribute="top" secondItem="KUE-40-5Jn" secondAttribute="top" constant="2" id="v6g-OI-y76"/>
                             <constraint firstItem="UxS-Xs-zTk" firstAttribute="centerY" secondItem="VjP-WA-4SG" secondAttribute="centerY" id="vcI-Cy-0Bk"/>
                             <constraint firstAttribute="trailing" secondItem="Vxw-2k-cqR" secondAttribute="trailing" constant="12" id="xYc-E1-jA1"/>
                             <constraint firstItem="frc-dG-90z" firstAttribute="leading" secondItem="l2B-EY-GWY" secondAttribute="trailing" id="zJy-iw-QMQ"/>

Някои файлове не бяха показани, защото твърде много файлове са промени