首次提交
This commit is contained in:
18
SweetParty/主类/狸猫新增/情侣空间/LMCPInRoomVapView.h
Normal file
18
SweetParty/主类/狸猫新增/情侣空间/LMCPInRoomVapView.h
Normal file
@@ -0,0 +1,18 @@
|
||||
//
|
||||
// LMCPInRoomVapView.h
|
||||
// SweetParty
|
||||
//
|
||||
// Created by Xmac on 2024/8/17.
|
||||
//
|
||||
|
||||
#import <UIKit/UIKit.h>
|
||||
|
||||
NS_ASSUME_NONNULL_BEGIN
|
||||
|
||||
@interface LMCPInRoomVapView : UIView
|
||||
|
||||
- (void)playVapWithDict:(NSDictionary *)dict;
|
||||
|
||||
@end
|
||||
|
||||
NS_ASSUME_NONNULL_END
|
||||
147
SweetParty/主类/狸猫新增/情侣空间/LMCPInRoomVapView.m
Normal file
147
SweetParty/主类/狸猫新增/情侣空间/LMCPInRoomVapView.m
Normal file
@@ -0,0 +1,147 @@
|
||||
//
|
||||
// LMCPInRoomVapView.m
|
||||
// SweetParty
|
||||
//
|
||||
// Created by Xmac on 2024/8/17.
|
||||
//
|
||||
|
||||
#import "LMCPInRoomVapView.h"
|
||||
#import "QGVAPWrapView.h"
|
||||
#import "UIView+VAP.h"
|
||||
#import "QGVAPWrapView+download.h"
|
||||
|
||||
@interface LMCPInRoomVapView ()<HWDMP4PlayDelegate,VAPWrapViewDelegate>
|
||||
|
||||
@property (weak, nonatomic) IBOutlet UIView *inRoomTXCover;
|
||||
@property (weak, nonatomic) IBOutlet UIView *leftHeaderVapCover;
|
||||
@property (weak, nonatomic) IBOutlet UIView *rightHeaderVapCover;
|
||||
|
||||
@property (weak, nonatomic) IBOutlet UIImageView *leftHeaderPic;
|
||||
@property (weak, nonatomic) IBOutlet UIImageView *rightHeaderPic;
|
||||
@property (weak, nonatomic) IBOutlet UILabel *leftNicknameLabel;
|
||||
@property (weak, nonatomic) IBOutlet UILabel *rightNicknameLabel;
|
||||
|
||||
@property (nonatomic, strong) QGVAPWrapView *leftHeaderVapView;
|
||||
@property (nonatomic, strong) QGVAPWrapView *rightHeaderVapView;
|
||||
@property (nonatomic, strong) QGVAPWrapView *texiaoVapView;
|
||||
|
||||
@end
|
||||
|
||||
@implementation LMCPInRoomVapView
|
||||
|
||||
- (void)awakeFromNib
|
||||
{
|
||||
[super awakeFromNib];
|
||||
[self.leftHeaderVapCover addSubview:self.leftHeaderVapView];
|
||||
[self.leftHeaderVapView mas_makeConstraints:^(MASConstraintMaker *make) {
|
||||
make.edges.equalTo(self.leftHeaderVapCover);
|
||||
}];
|
||||
|
||||
[self.rightHeaderVapCover addSubview:self.rightHeaderVapView];
|
||||
[self.rightHeaderVapView mas_makeConstraints:^(MASConstraintMaker *make) {
|
||||
make.edges.equalTo(self.rightHeaderVapCover);
|
||||
}];
|
||||
|
||||
[self.inRoomTXCover addSubview:self.texiaoVapView];
|
||||
[self.texiaoVapView mas_makeConstraints:^(MASConstraintMaker *make) {
|
||||
make.left.mas_equalTo(0);
|
||||
make.top.mas_equalTo(0);
|
||||
make.width.mas_equalTo(APPW);
|
||||
make.height.mas_equalTo(APPH);
|
||||
}];
|
||||
}
|
||||
|
||||
- (void)playVapWithDict:(NSDictionary *)dict
|
||||
{
|
||||
NSString *send_nick_name = [dict safeStringForKey:@"send_nick_name"];
|
||||
NSString *send_head_pic = [dict safeStringForKey:@"send_head_pic"];
|
||||
NSString *receive_nick_name = [dict safeStringForKey:@"receive_nick_name"];
|
||||
NSString *receive_head_pic = [dict safeStringForKey:@"receive_head_pic"];
|
||||
NSString *texiao_img = [dict safeStringForKey:@"texiao_img"];
|
||||
NSString *avatar_play_image = [dict safeStringForKey:@"avatar_play_image"];
|
||||
NSString *receive_avatar_play_image = [dict safeStringForKey:@"receive_avatar_play_image"];
|
||||
|
||||
if (avatar_play_image.length>0){
|
||||
[self.leftHeaderVapView playMemoryWithStr:C_string(avatar_play_image) Success:^(NSURL * _Nonnull filePath) {
|
||||
NSString *fileStr = [filePath absoluteString];
|
||||
if ([fileStr containsString:@"file://"]) {
|
||||
fileStr = [fileStr substringFromIndex:7];
|
||||
}
|
||||
[self.leftHeaderVapView playHWDMP4:fileStr repeatCount:-1 delegate:nil];
|
||||
} Failure:^(NSError * _Nonnull error) {
|
||||
[self.leftHeaderVapView removeFromSuperview];
|
||||
}];
|
||||
}
|
||||
if (receive_avatar_play_image.length>0){
|
||||
[self.rightHeaderVapView playMemoryWithStr:C_string(receive_avatar_play_image) Success:^(NSURL * _Nonnull filePath) {
|
||||
NSString *fileStr = [filePath absoluteString];
|
||||
if ([fileStr containsString:@"file://"]) {
|
||||
fileStr = [fileStr substringFromIndex:7];
|
||||
}
|
||||
[self.rightHeaderVapView playHWDMP4:fileStr repeatCount:-1 delegate:nil];
|
||||
} Failure:^(NSError * _Nonnull error) {
|
||||
[self.rightHeaderVapView removeFromSuperview];
|
||||
}];
|
||||
}
|
||||
if (texiao_img.length>0){
|
||||
[self.texiaoVapView playMemoryWithStr:C_string(texiao_img) Success:^(NSURL * _Nonnull filePath) {
|
||||
NSString *fileStr = [filePath absoluteString];
|
||||
if ([fileStr containsString:@"file://"]) {
|
||||
fileStr = [fileStr substringFromIndex:7];
|
||||
}
|
||||
[self.texiaoVapView playHWDMP4:fileStr repeatCount:0 delegate:self];
|
||||
} Failure:^(NSError * _Nonnull error) {
|
||||
[self.texiaoVapView removeFromSuperview];
|
||||
}];
|
||||
}
|
||||
|
||||
|
||||
[self.leftHeaderPic sd_setImageWithURL:[NSURL URLWithString:send_head_pic] placeholderImage:kDefaultUserIcon];
|
||||
[self.rightHeaderPic sd_setImageWithURL:[NSURL URLWithString:receive_head_pic] placeholderImage:kDefaultUserIcon];
|
||||
self.leftNicknameLabel.text = send_nick_name;
|
||||
self.rightNicknameLabel.text = receive_nick_name;
|
||||
}
|
||||
|
||||
|
||||
- (QGVAPWrapView *)leftHeaderVapView {
|
||||
if (!_leftHeaderVapView) {
|
||||
_leftHeaderVapView = [[QGVAPWrapView alloc] initWithFrame:CGRectZero];
|
||||
_leftHeaderVapView.hwd_Delegate = self;
|
||||
_leftHeaderVapView.contentMode = QGVAPWrapViewContentModeScaleToFill;
|
||||
_leftHeaderVapView.userInteractionEnabled = NO;
|
||||
}
|
||||
return _leftHeaderVapView;
|
||||
}
|
||||
|
||||
- (QGVAPWrapView *)rightHeaderVapView {
|
||||
if (!_rightHeaderVapView) {
|
||||
_rightHeaderVapView = [[QGVAPWrapView alloc] initWithFrame:CGRectZero];
|
||||
_rightHeaderVapView.hwd_Delegate = self;
|
||||
_rightHeaderVapView.contentMode = QGVAPWrapViewContentModeScaleToFill;
|
||||
_rightHeaderVapView.userInteractionEnabled = NO;
|
||||
}
|
||||
return _rightHeaderVapView;
|
||||
}
|
||||
|
||||
|
||||
- (QGVAPWrapView *)texiaoVapView {
|
||||
if (!_texiaoVapView) {
|
||||
_texiaoVapView = [[QGVAPWrapView alloc] initWithFrame:CGRectZero];
|
||||
_texiaoVapView.hwd_Delegate = self;
|
||||
_texiaoVapView.contentMode = QGVAPWrapViewContentModeScaleToFill;
|
||||
_texiaoVapView.userInteractionEnabled = NO;
|
||||
}
|
||||
return _texiaoVapView;
|
||||
}
|
||||
|
||||
- (void)vapWrap_viewDidStopPlayMP4:(NSInteger)lastFrameIndex view:(VAPView *)container
|
||||
{
|
||||
RCMicMainThread(^{
|
||||
self.hidden = YES;
|
||||
[self.leftHeaderVapView stopHWDMP4];
|
||||
[self.rightHeaderVapView stopHWDMP4];
|
||||
})
|
||||
}
|
||||
|
||||
|
||||
@end
|
||||
121
SweetParty/主类/狸猫新增/情侣空间/LMCPInRoomVapView.xib
Normal file
121
SweetParty/主类/狸猫新增/情侣空间/LMCPInRoomVapView.xib
Normal file
@@ -0,0 +1,121 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<document type="com.apple.InterfaceBuilder3.CocoaTouch.XIB" version="3.0" toolsVersion="21701" targetRuntime="iOS.CocoaTouch" propertyAccessControl="none" useAutolayout="YES" useTraitCollections="YES" useSafeAreas="YES" colorMatched="YES">
|
||||
<device id="retina6_12" orientation="portrait" appearance="light"/>
|
||||
<dependencies>
|
||||
<deployment identifier="iOS"/>
|
||||
<plugIn identifier="com.apple.InterfaceBuilder.IBCocoaTouchPlugin" version="21679"/>
|
||||
<capability name="Safe area layout guides" minToolsVersion="9.0"/>
|
||||
<capability name="documents saved in the Xcode 8 format" minToolsVersion="8.0"/>
|
||||
</dependencies>
|
||||
<objects>
|
||||
<placeholder placeholderIdentifier="IBFilesOwner" id="-1" userLabel="File's Owner"/>
|
||||
<placeholder placeholderIdentifier="IBFirstResponder" id="-2" customClass="UIResponder"/>
|
||||
<view userInteractionEnabled="NO" contentMode="scaleToFill" id="iN0-l3-epB" customClass="LMCPInRoomVapView">
|
||||
<rect key="frame" x="0.0" y="0.0" width="393" height="852"/>
|
||||
<autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/>
|
||||
<subviews>
|
||||
<view userInteractionEnabled="NO" contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="Vbv-lO-DaV">
|
||||
<rect key="frame" x="0.0" y="0.0" width="393" height="852"/>
|
||||
<color key="backgroundColor" white="0.0" alpha="0.0" colorSpace="custom" customColorSpace="genericGamma22GrayColorSpace"/>
|
||||
</view>
|
||||
<view userInteractionEnabled="NO" contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="edZ-H6-JHw">
|
||||
<rect key="frame" x="96.666666666666686" y="536.33333333333337" width="200" height="120"/>
|
||||
<subviews>
|
||||
<imageView clipsSubviews="YES" userInteractionEnabled="NO" contentMode="scaleAspectFit" horizontalHuggingPriority="251" verticalHuggingPriority="251" image="default_userIcon" translatesAutoresizingMaskIntoConstraints="NO" id="hAa-5x-Dy5">
|
||||
<rect key="frame" x="20" y="20" width="50" height="50"/>
|
||||
<constraints>
|
||||
<constraint firstAttribute="height" constant="50" id="E7k-03-41o"/>
|
||||
<constraint firstAttribute="width" constant="50" id="wWZ-Ke-bj3"/>
|
||||
</constraints>
|
||||
<userDefinedRuntimeAttributes>
|
||||
<userDefinedRuntimeAttribute type="number" keyPath="cornerRadius">
|
||||
<real key="value" value="25"/>
|
||||
</userDefinedRuntimeAttribute>
|
||||
</userDefinedRuntimeAttributes>
|
||||
</imageView>
|
||||
<imageView clipsSubviews="YES" userInteractionEnabled="NO" contentMode="scaleAspectFit" horizontalHuggingPriority="251" verticalHuggingPriority="251" image="default_userIcon" translatesAutoresizingMaskIntoConstraints="NO" id="gZ1-2p-scn">
|
||||
<rect key="frame" x="130" y="20" width="50" height="50"/>
|
||||
<constraints>
|
||||
<constraint firstAttribute="width" constant="50" id="Lsr-6o-Fn8"/>
|
||||
<constraint firstAttribute="height" constant="50" id="jDo-JX-gFo"/>
|
||||
</constraints>
|
||||
<userDefinedRuntimeAttributes>
|
||||
<userDefinedRuntimeAttribute type="number" keyPath="cornerRadius">
|
||||
<real key="value" value="25"/>
|
||||
</userDefinedRuntimeAttribute>
|
||||
</userDefinedRuntimeAttributes>
|
||||
</imageView>
|
||||
<view contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="8wW-wP-nRE">
|
||||
<rect key="frame" x="10" y="10" width="70" height="70"/>
|
||||
<color key="backgroundColor" white="0.0" alpha="0.0" colorSpace="custom" customColorSpace="genericGamma22GrayColorSpace"/>
|
||||
<constraints>
|
||||
<constraint firstAttribute="width" constant="70" id="VPR-Ln-qZb"/>
|
||||
<constraint firstAttribute="height" constant="70" id="kCS-2a-ds0"/>
|
||||
</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="rKm-0E-Tig">
|
||||
<rect key="frame" x="31.666666666666671" y="85" width="26.666666666666671" height="15.666666666666671"/>
|
||||
<fontDescription key="fontDescription" type="boldSystem" pointSize="13"/>
|
||||
<color key="textColor" white="1" alpha="1" colorSpace="custom" customColorSpace="genericGamma22GrayColorSpace"/>
|
||||
<nil key="highlightedColor"/>
|
||||
</label>
|
||||
<label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="昵称" textAlignment="natural" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="Gev-q6-ARG">
|
||||
<rect key="frame" x="141.66666666666669" y="85" width="26.666666666666657" height="15.666666666666671"/>
|
||||
<fontDescription key="fontDescription" type="boldSystem" pointSize="13"/>
|
||||
<color key="textColor" white="1" alpha="1" colorSpace="custom" customColorSpace="genericGamma22GrayColorSpace"/>
|
||||
<nil key="highlightedColor"/>
|
||||
</label>
|
||||
<view contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="gaQ-5h-dua">
|
||||
<rect key="frame" x="120" y="10" width="70" height="70"/>
|
||||
<color key="backgroundColor" white="0.0" alpha="0.0" colorSpace="custom" customColorSpace="genericGamma22GrayColorSpace"/>
|
||||
<constraints>
|
||||
<constraint firstAttribute="height" constant="70" id="aW8-Mh-ruo"/>
|
||||
<constraint firstAttribute="width" constant="70" id="rZ7-I6-JKM"/>
|
||||
</constraints>
|
||||
</view>
|
||||
</subviews>
|
||||
<color key="backgroundColor" white="0.0" alpha="0.0" colorSpace="custom" customColorSpace="genericGamma22GrayColorSpace"/>
|
||||
<constraints>
|
||||
<constraint firstItem="8wW-wP-nRE" firstAttribute="centerX" secondItem="hAa-5x-Dy5" secondAttribute="centerX" id="1Zz-6B-85S"/>
|
||||
<constraint firstAttribute="trailing" secondItem="gZ1-2p-scn" secondAttribute="trailing" constant="20" id="4nU-dP-uXb"/>
|
||||
<constraint firstItem="rKm-0E-Tig" firstAttribute="top" secondItem="8wW-wP-nRE" secondAttribute="bottom" constant="5" id="Fjn-P9-rhY"/>
|
||||
<constraint firstItem="8wW-wP-nRE" firstAttribute="centerY" secondItem="hAa-5x-Dy5" secondAttribute="centerY" id="GFW-Lg-PzS"/>
|
||||
<constraint firstAttribute="width" constant="200" id="Je5-6X-H1s"/>
|
||||
<constraint firstItem="gZ1-2p-scn" firstAttribute="top" secondItem="edZ-H6-JHw" secondAttribute="top" constant="20" id="T8s-yp-hIR"/>
|
||||
<constraint firstItem="gaQ-5h-dua" firstAttribute="centerX" secondItem="gZ1-2p-scn" secondAttribute="centerX" id="TcU-nA-XUc"/>
|
||||
<constraint firstItem="hAa-5x-Dy5" firstAttribute="leading" secondItem="edZ-H6-JHw" secondAttribute="leading" constant="20" id="cnV-YJ-sqj"/>
|
||||
<constraint firstItem="Gev-q6-ARG" firstAttribute="centerX" secondItem="gaQ-5h-dua" secondAttribute="centerX" id="d4f-up-UIO"/>
|
||||
<constraint firstItem="rKm-0E-Tig" firstAttribute="centerX" secondItem="8wW-wP-nRE" secondAttribute="centerX" id="gPJ-vs-0Rw"/>
|
||||
<constraint firstItem="hAa-5x-Dy5" firstAttribute="top" secondItem="edZ-H6-JHw" secondAttribute="top" constant="20" id="gyw-u3-ocG"/>
|
||||
<constraint firstItem="gaQ-5h-dua" firstAttribute="centerY" secondItem="gZ1-2p-scn" secondAttribute="centerY" id="irb-YC-otu"/>
|
||||
<constraint firstAttribute="height" constant="120" id="mCw-rd-Nv6"/>
|
||||
<constraint firstItem="Gev-q6-ARG" firstAttribute="top" secondItem="gaQ-5h-dua" secondAttribute="bottom" constant="5" id="rnH-vN-uaS"/>
|
||||
</constraints>
|
||||
</view>
|
||||
</subviews>
|
||||
<viewLayoutGuide key="safeArea" id="vUN-kp-3ea"/>
|
||||
<color key="backgroundColor" white="0.0" alpha="0.0" colorSpace="custom" customColorSpace="genericGamma22GrayColorSpace"/>
|
||||
<constraints>
|
||||
<constraint firstItem="edZ-H6-JHw" firstAttribute="centerY" secondItem="iN0-l3-epB" secondAttribute="centerY" multiplier="1.4" id="Svx-ob-u7O"/>
|
||||
<constraint firstAttribute="bottom" secondItem="Vbv-lO-DaV" secondAttribute="bottom" id="amc-rq-iI7"/>
|
||||
<constraint firstItem="Vbv-lO-DaV" firstAttribute="top" secondItem="iN0-l3-epB" secondAttribute="top" id="f77-mD-aGl"/>
|
||||
<constraint firstItem="Vbv-lO-DaV" firstAttribute="leading" secondItem="vUN-kp-3ea" secondAttribute="leading" id="niT-AW-BDZ"/>
|
||||
<constraint firstItem="Vbv-lO-DaV" firstAttribute="trailing" secondItem="vUN-kp-3ea" secondAttribute="trailing" id="oO3-1Q-XFh"/>
|
||||
<constraint firstItem="edZ-H6-JHw" firstAttribute="centerX" secondItem="iN0-l3-epB" secondAttribute="centerX" id="qHk-Ad-X2E"/>
|
||||
</constraints>
|
||||
<connections>
|
||||
<outlet property="inRoomTXCover" destination="Vbv-lO-DaV" id="x6s-Hr-NR8"/>
|
||||
<outlet property="leftHeaderPic" destination="hAa-5x-Dy5" id="BTa-dh-cof"/>
|
||||
<outlet property="leftHeaderVapCover" destination="8wW-wP-nRE" id="3op-sA-4pX"/>
|
||||
<outlet property="leftNicknameLabel" destination="rKm-0E-Tig" id="nY0-z0-odV"/>
|
||||
<outlet property="rightHeaderPic" destination="gZ1-2p-scn" id="bR8-E4-tf3"/>
|
||||
<outlet property="rightHeaderVapCover" destination="gaQ-5h-dua" id="Hpa-qK-Xsm"/>
|
||||
<outlet property="rightNicknameLabel" destination="Gev-q6-ARG" id="NAF-Uv-enH"/>
|
||||
</connections>
|
||||
<point key="canvasLocation" x="130.53435114503816" y="-11.267605633802818"/>
|
||||
</view>
|
||||
</objects>
|
||||
<resources>
|
||||
<image name="default_userIcon" width="90" height="90"/>
|
||||
</resources>
|
||||
</document>
|
||||
29
SweetParty/主类/狸猫新增/情侣空间/LMCPSpaceCollectionViewCell.h
Normal file
29
SweetParty/主类/狸猫新增/情侣空间/LMCPSpaceCollectionViewCell.h
Normal file
@@ -0,0 +1,29 @@
|
||||
//
|
||||
// LMCPSpaceCollectionViewCell.h
|
||||
// SweetParty
|
||||
//
|
||||
// Created by Xmac on 2024/8/13.
|
||||
//
|
||||
|
||||
#import <UIKit/UIKit.h>
|
||||
#import "LMCPSpaceDressListModel.h"
|
||||
|
||||
NS_ASSUME_NONNULL_BEGIN
|
||||
static NSString *LMCPSpaceCollectionViewCellID = @"LMCPSpaceCollectionViewCellID";
|
||||
@interface LMCPSpaceCollectionViewCell : UICollectionViewCell
|
||||
|
||||
@property (weak, nonatomic) IBOutlet UILabel *levelLabel;
|
||||
@property (weak, nonatomic) IBOutlet UIImageView *dressIcon;
|
||||
@property (weak, nonatomic) IBOutlet UIImageView *basePic;
|
||||
@property (weak, nonatomic) IBOutlet UILabel *dressName;
|
||||
|
||||
|
||||
@property (nonatomic, strong) LMCPSpaceDressListModel *model;
|
||||
|
||||
- (void)setHeaderDecInfoWithModel:(LMCPSpaceDressListModel *)model;
|
||||
- (void)setCPTexiaoInfoWithModel:(LMCPSpaceDressListModel *)model;
|
||||
|
||||
|
||||
@end
|
||||
|
||||
NS_ASSUME_NONNULL_END
|
||||
54
SweetParty/主类/狸猫新增/情侣空间/LMCPSpaceCollectionViewCell.m
Normal file
54
SweetParty/主类/狸猫新增/情侣空间/LMCPSpaceCollectionViewCell.m
Normal file
@@ -0,0 +1,54 @@
|
||||
//
|
||||
// LMCPSpaceCollectionViewCell.m
|
||||
// SweetParty
|
||||
//
|
||||
// Created by Xmac on 2024/8/13.
|
||||
//
|
||||
|
||||
#import "LMCPSpaceCollectionViewCell.h"
|
||||
|
||||
@implementation LMCPSpaceCollectionViewCell
|
||||
|
||||
- (void)awakeFromNib {
|
||||
[super awakeFromNib];
|
||||
// Initialization code
|
||||
self.levelLabel.backgroundColor = [UIColor bm_colorGradientChangeWithSize:CGSizeMake(32, 16) direction:(FXGradientChangeDirectionHorizontal) startColor:mainLightColor endColor:mainDeepColor];
|
||||
}
|
||||
|
||||
- (void)setHeaderDecInfoWithModel:(LMCPSpaceDressListModel *)model
|
||||
{
|
||||
[self.basePic sd_setImageWithURL:[NSURL URLWithString:model.head_decorate_img] placeholderImage:kDefaultUserIcon];
|
||||
self.dressName.text = model.head_decorate_title;
|
||||
if ([model.is_using isEqualToString:@"1"]){
|
||||
self.dressIcon.hidden = NO;
|
||||
}else{
|
||||
self.dressIcon.hidden = YES;
|
||||
}
|
||||
self.levelLabel.text = [NSString stringWithFormat:@"Lv%@",model.level];
|
||||
if ([model.js_suo isEqualToString:@"2"]){
|
||||
self.contentView.alpha = 0.6;
|
||||
}else{
|
||||
self.contentView.alpha = 1;
|
||||
}
|
||||
}
|
||||
|
||||
- (void)setCPTexiaoInfoWithModel:(LMCPSpaceDressListModel *)model
|
||||
{
|
||||
[self.basePic sd_setImageWithURL:[NSURL URLWithString:model.cp_tx_img] placeholderImage:kDefaultUserIcon];
|
||||
self.dressName.text = model.cp_tx_title;
|
||||
if ([model.is_using isEqualToString:@"1"]){
|
||||
self.dressIcon.hidden = NO;
|
||||
}else{
|
||||
self.dressIcon.hidden = YES;
|
||||
}
|
||||
self.levelLabel.text = [NSString stringWithFormat:@"Lv%@",model.level];
|
||||
if ([model.js_suo isEqualToString:@"2"]){
|
||||
self.contentView.alpha = 0.6;
|
||||
}else{
|
||||
self.contentView.alpha = 1;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
@end
|
||||
92
SweetParty/主类/狸猫新增/情侣空间/LMCPSpaceCollectionViewCell.xib
Normal file
92
SweetParty/主类/狸猫新增/情侣空间/LMCPSpaceCollectionViewCell.xib
Normal file
@@ -0,0 +1,92 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<document type="com.apple.InterfaceBuilder3.CocoaTouch.XIB" version="3.0" toolsVersion="21701" targetRuntime="iOS.CocoaTouch" propertyAccessControl="none" useAutolayout="YES" useTraitCollections="YES" colorMatched="YES">
|
||||
<device id="retina6_12" orientation="portrait" appearance="light"/>
|
||||
<dependencies>
|
||||
<deployment identifier="iOS"/>
|
||||
<plugIn identifier="com.apple.InterfaceBuilder.IBCocoaTouchPlugin" version="21679"/>
|
||||
<capability name="documents saved in the Xcode 8 format" minToolsVersion="8.0"/>
|
||||
</dependencies>
|
||||
<objects>
|
||||
<placeholder placeholderIdentifier="IBFilesOwner" id="-1" userLabel="File's Owner"/>
|
||||
<placeholder placeholderIdentifier="IBFirstResponder" id="-2" customClass="UIResponder"/>
|
||||
<collectionViewCell opaque="NO" clipsSubviews="YES" multipleTouchEnabled="YES" contentMode="center" id="gTV-IL-0wX" customClass="LMCPSpaceCollectionViewCell">
|
||||
<rect key="frame" x="0.0" y="0.0" width="95" height="126"/>
|
||||
<autoresizingMask key="autoresizingMask"/>
|
||||
<view key="contentView" opaque="NO" clipsSubviews="YES" multipleTouchEnabled="YES" contentMode="center">
|
||||
<rect key="frame" x="0.0" y="0.0" width="95" height="126"/>
|
||||
<autoresizingMask key="autoresizingMask" flexibleMaxX="YES" flexibleMaxY="YES"/>
|
||||
<subviews>
|
||||
<imageView clipsSubviews="YES" userInteractionEnabled="NO" contentMode="scaleToFill" horizontalHuggingPriority="251" verticalHuggingPriority="251" image="cp_kongjian_item_sel" translatesAutoresizingMaskIntoConstraints="NO" id="Cfc-K8-jxe">
|
||||
<rect key="frame" x="0.0" y="0.0" width="95" height="126"/>
|
||||
<color key="backgroundColor" white="0.0" alpha="0.0" colorSpace="custom" customColorSpace="genericGamma22GrayColorSpace"/>
|
||||
</imageView>
|
||||
<imageView clipsSubviews="YES" userInteractionEnabled="NO" contentMode="scaleToFill" horizontalHuggingPriority="251" verticalHuggingPriority="251" image="cp_kongjian_level" translatesAutoresizingMaskIntoConstraints="NO" id="2BV-aZ-nJL">
|
||||
<rect key="frame" x="0.0" y="0.0" width="36" height="22"/>
|
||||
<constraints>
|
||||
<constraint firstAttribute="height" constant="22" id="LvF-DJ-4sG"/>
|
||||
<constraint firstAttribute="width" constant="36" id="hrp-k3-zra"/>
|
||||
</constraints>
|
||||
</imageView>
|
||||
<label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="LV1" textAlignment="center" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="PeZ-TY-yuL">
|
||||
<rect key="frame" x="9.3333333333333339" y="5" width="17.333333333333329" height="12"/>
|
||||
<color key="backgroundColor" white="0.0" alpha="0.0" colorSpace="custom" customColorSpace="genericGamma22GrayColorSpace"/>
|
||||
<fontDescription key="fontDescription" type="system" weight="medium" pointSize="10"/>
|
||||
<color key="textColor" white="1" alpha="1" colorSpace="custom" customColorSpace="genericGamma22GrayColorSpace"/>
|
||||
<nil key="highlightedColor"/>
|
||||
<userDefinedRuntimeAttributes>
|
||||
<userDefinedRuntimeAttribute type="number" keyPath="cornerRadius">
|
||||
<real key="value" value="8"/>
|
||||
</userDefinedRuntimeAttribute>
|
||||
</userDefinedRuntimeAttributes>
|
||||
</label>
|
||||
<imageView clipsSubviews="YES" userInteractionEnabled="NO" contentMode="scaleAspectFit" horizontalHuggingPriority="251" verticalHuggingPriority="251" image="cp_kongjian_yipeidai" translatesAutoresizingMaskIntoConstraints="NO" id="8wS-aM-Vxj">
|
||||
<rect key="frame" x="25.666666666666671" y="98" width="44" height="18"/>
|
||||
</imageView>
|
||||
<imageView clipsSubviews="YES" userInteractionEnabled="NO" contentMode="scaleAspectFit" horizontalHuggingPriority="251" verticalHuggingPriority="251" image="default_userIcon" translatesAutoresizingMaskIntoConstraints="NO" id="p1m-d3-TuH">
|
||||
<rect key="frame" x="20" y="20" width="55" height="55"/>
|
||||
<constraints>
|
||||
<constraint firstAttribute="width" constant="55" id="Mwb-l5-lPI"/>
|
||||
<constraint firstAttribute="height" constant="55" id="uTI-OZ-jqj"/>
|
||||
</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="hLv-gz-U8i">
|
||||
<rect key="frame" x="35.333333333333336" y="81" width="24.666666666666664" height="14.333333333333329"/>
|
||||
<fontDescription key="fontDescription" type="boldSystem" pointSize="12"/>
|
||||
<color key="textColor" red="0.20000000000000001" green="0.20000000000000001" blue="0.20000000000000001" alpha="1" colorSpace="calibratedRGB"/>
|
||||
<nil key="highlightedColor"/>
|
||||
</label>
|
||||
</subviews>
|
||||
</view>
|
||||
<constraints>
|
||||
<constraint firstItem="p1m-d3-TuH" firstAttribute="top" secondItem="gTV-IL-0wX" secondAttribute="top" constant="20" id="1RZ-2x-HpK"/>
|
||||
<constraint firstAttribute="bottom" secondItem="8wS-aM-Vxj" secondAttribute="bottom" constant="10" id="3T6-3U-UqR"/>
|
||||
<constraint firstItem="hLv-gz-U8i" firstAttribute="centerX" secondItem="gTV-IL-0wX" secondAttribute="centerX" id="3fd-QW-fAY"/>
|
||||
<constraint firstItem="8wS-aM-Vxj" firstAttribute="centerX" secondItem="gTV-IL-0wX" secondAttribute="centerX" id="4hd-Gq-lpm"/>
|
||||
<constraint firstItem="Cfc-K8-jxe" firstAttribute="top" secondItem="gTV-IL-0wX" secondAttribute="top" id="8ci-BN-gJB"/>
|
||||
<constraint firstItem="2BV-aZ-nJL" firstAttribute="leading" secondItem="gTV-IL-0wX" secondAttribute="leading" id="COf-Rt-dDi"/>
|
||||
<constraint firstItem="PeZ-TY-yuL" firstAttribute="centerX" secondItem="2BV-aZ-nJL" secondAttribute="centerX" id="CW8-Np-4to"/>
|
||||
<constraint firstAttribute="trailing" secondItem="Cfc-K8-jxe" secondAttribute="trailing" id="JYq-7S-egm"/>
|
||||
<constraint firstItem="hLv-gz-U8i" firstAttribute="top" secondItem="p1m-d3-TuH" secondAttribute="bottom" constant="6" id="L5l-0Q-yoK"/>
|
||||
<constraint firstItem="2BV-aZ-nJL" firstAttribute="top" secondItem="gTV-IL-0wX" secondAttribute="top" id="RS2-eX-1W3"/>
|
||||
<constraint firstAttribute="bottom" secondItem="Cfc-K8-jxe" secondAttribute="bottom" id="XXG-F8-GXS"/>
|
||||
<constraint firstItem="p1m-d3-TuH" firstAttribute="centerX" secondItem="gTV-IL-0wX" secondAttribute="centerX" id="Y2y-o8-58v"/>
|
||||
<constraint firstItem="Cfc-K8-jxe" firstAttribute="leading" secondItem="gTV-IL-0wX" secondAttribute="leading" id="ceD-i0-Cb7"/>
|
||||
<constraint firstItem="PeZ-TY-yuL" firstAttribute="centerY" secondItem="2BV-aZ-nJL" secondAttribute="centerY" id="rv5-E3-hoV"/>
|
||||
</constraints>
|
||||
<size key="customSize" width="107" height="116"/>
|
||||
<connections>
|
||||
<outlet property="basePic" destination="p1m-d3-TuH" id="Vqs-tq-8PF"/>
|
||||
<outlet property="dressIcon" destination="8wS-aM-Vxj" id="78s-7E-mpj"/>
|
||||
<outlet property="dressName" destination="hLv-gz-U8i" id="pwC-0E-Owd"/>
|
||||
<outlet property="levelLabel" destination="PeZ-TY-yuL" id="lwT-CW-sPx"/>
|
||||
</connections>
|
||||
<point key="canvasLocation" x="-22" y="59"/>
|
||||
</collectionViewCell>
|
||||
</objects>
|
||||
<resources>
|
||||
<image name="cp_kongjian_item_sel" width="95" height="126"/>
|
||||
<image name="cp_kongjian_level" width="36" height="22"/>
|
||||
<image name="cp_kongjian_yipeidai" width="44" height="18"/>
|
||||
<image name="default_userIcon" width="512" height="512"/>
|
||||
</resources>
|
||||
</document>
|
||||
29
SweetParty/主类/狸猫新增/情侣空间/LMCPSpaceDressListModel.h
Normal file
29
SweetParty/主类/狸猫新增/情侣空间/LMCPSpaceDressListModel.h
Normal file
@@ -0,0 +1,29 @@
|
||||
//
|
||||
// LMCPSpaceDressListModel.h
|
||||
// SweetParty
|
||||
//
|
||||
// Created by Xmac on 2024/8/16.
|
||||
//
|
||||
|
||||
#import <Foundation/Foundation.h>
|
||||
|
||||
NS_ASSUME_NONNULL_BEGIN
|
||||
|
||||
@interface LMCPSpaceDressListModel : NSObject
|
||||
|
||||
@property (nonatomic, strong) NSString *cp_tx_play_img;
|
||||
@property (nonatomic, strong) NSString *js_suo;
|
||||
@property (nonatomic, strong) NSString *is_using;
|
||||
@property (nonatomic, strong) NSString *head_decorate_img;
|
||||
@property (nonatomic, strong) NSString *head_decorate_title;
|
||||
@property (nonatomic, strong) NSString *head_decorate_play_img;
|
||||
@property (nonatomic, strong) NSString *level;
|
||||
@property (nonatomic, strong) NSString *head_decorate_id;
|
||||
@property (nonatomic, strong) NSString *cp_tx_id;
|
||||
@property (nonatomic, strong) NSString *cp_tx_img;
|
||||
@property (nonatomic, strong) NSString *cp_tx_title;
|
||||
@property (nonatomic, strong) NSString *udid;
|
||||
|
||||
@end
|
||||
|
||||
NS_ASSUME_NONNULL_END
|
||||
12
SweetParty/主类/狸猫新增/情侣空间/LMCPSpaceDressListModel.m
Normal file
12
SweetParty/主类/狸猫新增/情侣空间/LMCPSpaceDressListModel.m
Normal file
@@ -0,0 +1,12 @@
|
||||
//
|
||||
// LMCPSpaceDressListModel.m
|
||||
// SweetParty
|
||||
//
|
||||
// Created by Xmac on 2024/8/16.
|
||||
//
|
||||
|
||||
#import "LMCPSpaceDressListModel.h"
|
||||
|
||||
@implementation LMCPSpaceDressListModel
|
||||
|
||||
@end
|
||||
29
SweetParty/主类/狸猫新增/情侣空间/LMCPSpaceInfoModel.h
Normal file
29
SweetParty/主类/狸猫新增/情侣空间/LMCPSpaceInfoModel.h
Normal file
@@ -0,0 +1,29 @@
|
||||
//
|
||||
// LMCPSpaceInfoModel.h
|
||||
// SweetParty
|
||||
//
|
||||
// Created by Xmac on 2024/8/16.
|
||||
//
|
||||
|
||||
#import <Foundation/Foundation.h>
|
||||
|
||||
NS_ASSUME_NONNULL_BEGIN
|
||||
|
||||
@interface LMCPSpaceInfoModel : NSObject
|
||||
|
||||
@property (nonatomic, strong) NSString *uid;
|
||||
@property (nonatomic, strong) NSString *receive_uid;
|
||||
@property (nonatomic, strong) NSString *cp_level;
|
||||
@property (nonatomic, assign) CGFloat cp_value;
|
||||
@property (nonatomic, strong) NSString *u_nick_name;
|
||||
@property (nonatomic, strong) NSString *u_head_pic;
|
||||
@property (nonatomic, strong) NSString *receive_nick_name;
|
||||
@property (nonatomic, strong) NSString *receive_head_pic;
|
||||
@property (nonatomic, assign) CGFloat next_cp_value;
|
||||
@property (nonatomic, strong) NSString *receive_avatar_play_image;
|
||||
@property (nonatomic, strong) NSString *u_avatar_play_image;
|
||||
|
||||
|
||||
@end
|
||||
|
||||
NS_ASSUME_NONNULL_END
|
||||
12
SweetParty/主类/狸猫新增/情侣空间/LMCPSpaceInfoModel.m
Normal file
12
SweetParty/主类/狸猫新增/情侣空间/LMCPSpaceInfoModel.m
Normal file
@@ -0,0 +1,12 @@
|
||||
//
|
||||
// LMCPSpaceInfoModel.m
|
||||
// SweetParty
|
||||
//
|
||||
// Created by Xmac on 2024/8/16.
|
||||
//
|
||||
|
||||
#import "LMCPSpaceInfoModel.h"
|
||||
|
||||
@implementation LMCPSpaceInfoModel
|
||||
|
||||
@end
|
||||
16
SweetParty/主类/狸猫新增/情侣空间/LMCPSpaceViewController.h
Normal file
16
SweetParty/主类/狸猫新增/情侣空间/LMCPSpaceViewController.h
Normal file
@@ -0,0 +1,16 @@
|
||||
//
|
||||
// LMCPSpaceViewController.h
|
||||
// SweetParty
|
||||
//
|
||||
// Created by Xmac on 2024/8/13.
|
||||
//
|
||||
|
||||
#import "BaseController.h"
|
||||
|
||||
NS_ASSUME_NONNULL_BEGIN
|
||||
|
||||
@interface LMCPSpaceViewController : BaseController
|
||||
|
||||
@end
|
||||
|
||||
NS_ASSUME_NONNULL_END
|
||||
293
SweetParty/主类/狸猫新增/情侣空间/LMCPSpaceViewController.m
Normal file
293
SweetParty/主类/狸猫新增/情侣空间/LMCPSpaceViewController.m
Normal file
@@ -0,0 +1,293 @@
|
||||
//
|
||||
// LMCPSpaceViewController.m
|
||||
// SweetParty
|
||||
//
|
||||
// Created by Xmac on 2024/8/13.
|
||||
//
|
||||
|
||||
#import "LMCPSpaceViewController.h"
|
||||
#import "LMCPSpaceCollectionViewCell.h"
|
||||
#import "LMCPSpaceInfoModel.h"
|
||||
#import "QGVAPWrapView.h"
|
||||
#import "UIView+VAP.h"
|
||||
#import "QGVAPWrapView+download.h"
|
||||
|
||||
@interface LMCPSpaceViewController ()<JXCategoryViewDelegate,UICollectionViewDelegate,UICollectionViewDataSource,HWDMP4PlayDelegate,VAPWrapViewDelegate>
|
||||
|
||||
@property (weak, nonatomic) IBOutlet UIView *cateCoverView;
|
||||
@property (weak, nonatomic) IBOutlet UILabel *topLevelLabel;
|
||||
|
||||
@property (weak, nonatomic) IBOutlet UIImageView *leftHeaderPic;
|
||||
@property (weak, nonatomic) IBOutlet UIImageView *rightHeaderPic;
|
||||
@property (weak, nonatomic) IBOutlet UILabel *valueLabel;
|
||||
@property (weak, nonatomic) IBOutlet UILabel *leftNameLabel;
|
||||
@property (weak, nonatomic) IBOutlet UILabel *rightNameLabel;
|
||||
|
||||
@property (nonatomic, strong) JXCategoryTitleView *categoryView;
|
||||
@property (weak, nonatomic) IBOutlet UICollectionView *dressItemView;
|
||||
|
||||
@property (nonatomic, strong) LMCPSpaceInfoModel *infoModel;
|
||||
@property (nonatomic, assign) NSInteger type;
|
||||
@property (nonatomic, strong) NSMutableArray *dataArr;
|
||||
|
||||
@property (nonatomic, strong) QGVAPWrapView *leftHeaderVapView;
|
||||
@property (nonatomic, strong) QGVAPWrapView *rightHeaderVapView;
|
||||
@property (nonatomic, strong) QGVAPWrapView *texiaoVapView;
|
||||
|
||||
@property (weak, nonatomic) IBOutlet UIView *rightVapCover;
|
||||
@property (weak, nonatomic) IBOutlet UIView *leftVapCover;
|
||||
|
||||
@end
|
||||
|
||||
@implementation LMCPSpaceViewController
|
||||
|
||||
- (void)viewDidLoad {
|
||||
[super viewDidLoad];
|
||||
self.navTitle = @"情侣空间";
|
||||
[self.customNavBar styleClear];
|
||||
self.type = 1;
|
||||
|
||||
[self setupUI];
|
||||
[self requestLoadMyCPInfo];
|
||||
[self requestLoadCPDressList];
|
||||
}
|
||||
|
||||
- (void)setupUI
|
||||
{
|
||||
[self.cateCoverView addSubview:self.categoryView];
|
||||
[self.categoryView mas_makeConstraints:^(MASConstraintMaker *make) {
|
||||
make.edges.equalTo(self.cateCoverView);
|
||||
}];
|
||||
|
||||
UICollectionViewFlowLayout *flowLayout = [[UICollectionViewFlowLayout alloc] init];
|
||||
flowLayout.itemSize = CGSizeMake((APPW-15*6)/3, 126);
|
||||
flowLayout.minimumLineSpacing = 15;
|
||||
flowLayout.minimumInteritemSpacing = 15;
|
||||
flowLayout.sectionInset = UIEdgeInsetsMake(0, 15, 15, 15);
|
||||
|
||||
self.dressItemView.collectionViewLayout = flowLayout;
|
||||
self.dressItemView.delegate = self;
|
||||
self.dressItemView.dataSource = self;
|
||||
[self.dressItemView registerNib:[UINib nibWithNibName:@"LMCPSpaceCollectionViewCell" bundle:nil] forCellWithReuseIdentifier:LMCPSpaceCollectionViewCellID];
|
||||
|
||||
[self.leftVapCover addSubview:self.leftHeaderVapView];
|
||||
[self.leftHeaderVapView mas_makeConstraints:^(MASConstraintMaker *make) {
|
||||
make.edges.equalTo(self.leftVapCover);
|
||||
}];
|
||||
|
||||
[self.rightVapCover addSubview:self.rightHeaderVapView];
|
||||
[self.rightHeaderVapView mas_makeConstraints:^(MASConstraintMaker *make) {
|
||||
make.edges.equalTo(self.rightVapCover);
|
||||
}];
|
||||
|
||||
[self.view addSubview:self.texiaoVapView];
|
||||
[self.texiaoVapView mas_makeConstraints:^(MASConstraintMaker *make) {
|
||||
make.edges.equalTo(self.view);
|
||||
}];
|
||||
}
|
||||
|
||||
|
||||
- (void)setupInfoWithModel
|
||||
{
|
||||
[self.leftHeaderPic sd_setImageWithURL:[NSURL URLWithString:self.infoModel.u_head_pic] placeholderImage:kDefaultUserIcon];
|
||||
[self.rightHeaderPic sd_setImageWithURL:[NSURL URLWithString:self.infoModel.receive_head_pic] placeholderImage:kDefaultUserIcon];
|
||||
self.leftNameLabel.text = self.infoModel.u_nick_name;
|
||||
self.rightNameLabel.text = self.infoModel.receive_nick_name;
|
||||
self.topLevelLabel.text = [NSString stringWithFormat:@"LV.%@",self.infoModel.cp_level];
|
||||
self.valueLabel.text = [NSString stringWithFormat:@"%.0f/%.0f",self.infoModel.cp_value,self.infoModel.next_cp_value];
|
||||
WEAK_SELF;
|
||||
if (self.infoModel.u_avatar_play_image.length>0){
|
||||
[self.leftHeaderVapView playMemoryWithStr:C_string(self.infoModel.u_avatar_play_image) Success:^(NSURL * _Nonnull filePath) {
|
||||
NSString *fileStr = [filePath absoluteString];
|
||||
if ([fileStr containsString:@"file://"]) {
|
||||
fileStr = [fileStr substringFromIndex:7];
|
||||
}
|
||||
[self.leftHeaderVapView playHWDMP4:fileStr repeatCount:-1 delegate:self];
|
||||
} Failure:^(NSError * _Nonnull error) {
|
||||
[weakSelf.leftHeaderVapView removeFromSuperview];
|
||||
}];
|
||||
}
|
||||
if (self.infoModel.receive_avatar_play_image.length>0){
|
||||
[self.rightHeaderVapView playMemoryWithStr:C_string(self.infoModel.receive_avatar_play_image) Success:^(NSURL * _Nonnull filePath) {
|
||||
NSString *fileStr = [filePath absoluteString];
|
||||
if ([fileStr containsString:@"file://"]) {
|
||||
fileStr = [fileStr substringFromIndex:7];
|
||||
}
|
||||
[self.rightHeaderVapView playHWDMP4:fileStr repeatCount:-1 delegate:self];
|
||||
} Failure:^(NSError * _Nonnull error) {
|
||||
[weakSelf.rightHeaderVapView removeFromSuperview];
|
||||
}];
|
||||
}
|
||||
}
|
||||
|
||||
- (NSInteger)collectionView:(UICollectionView *)collectionView numberOfItemsInSection:(NSInteger)section
|
||||
{
|
||||
return self.dataArr.count;
|
||||
}
|
||||
|
||||
- (__kindof UICollectionViewCell *)collectionView:(UICollectionView *)collectionView cellForItemAtIndexPath:(NSIndexPath *)indexPath
|
||||
{
|
||||
LMCPSpaceCollectionViewCell *cell = [collectionView dequeueReusableCellWithReuseIdentifier:LMCPSpaceCollectionViewCellID forIndexPath:indexPath];
|
||||
LMCPSpaceDressListModel *model = self.dataArr[indexPath.item];
|
||||
if (self.type == 1){
|
||||
[cell setHeaderDecInfoWithModel:model];
|
||||
}else{
|
||||
[cell setCPTexiaoInfoWithModel:model];
|
||||
}
|
||||
|
||||
return cell;
|
||||
}
|
||||
|
||||
- (void)collectionView:(UICollectionView *)collectionView didSelectItemAtIndexPath:(NSIndexPath *)indexPath {
|
||||
LMCPSpaceDressListModel *model = self.dataArr[indexPath.item];
|
||||
if ([model.js_suo isEqualToString:@"1"]){
|
||||
NSDictionary *params = @{@"udid":model.udid};
|
||||
NSString *urlStr = @"/api/decorate/user_use_decorate";
|
||||
[[AFNetworkRequset shared] postRequestWithParams:params Path:urlStr Loading:YES Hud:YES Success:^(id _Nonnull responseDic) {
|
||||
[self requestLoadCPDressList];
|
||||
if (self.type == 1){
|
||||
if ([self.infoModel.uid isEqualToString:[BJUserManager userInfo].uid]){
|
||||
[self.leftHeaderVapView playMemoryWithStr:C_string(model.head_decorate_play_img) Success:^(NSURL * _Nonnull filePath) {
|
||||
NSString *fileStr = [filePath absoluteString];
|
||||
if ([fileStr containsString:@"file://"]) {
|
||||
fileStr = [fileStr substringFromIndex:7];
|
||||
}
|
||||
[self.leftHeaderVapView playHWDMP4:fileStr repeatCount:-1 delegate:self];
|
||||
} Failure:^(NSError * _Nonnull error) {
|
||||
[self.leftHeaderVapView removeFromSuperview];
|
||||
}];
|
||||
}else{
|
||||
[self.rightHeaderVapView playMemoryWithStr:C_string(model.head_decorate_play_img) Success:^(NSURL * _Nonnull filePath) {
|
||||
NSString *fileStr = [filePath absoluteString];
|
||||
if ([fileStr containsString:@"file://"]) {
|
||||
fileStr = [fileStr substringFromIndex:7];
|
||||
}
|
||||
[self.rightHeaderVapView playHWDMP4:fileStr repeatCount:-1 delegate:self];
|
||||
} Failure:^(NSError * _Nonnull error) {
|
||||
[self.rightHeaderVapView removeFromSuperview];
|
||||
}];
|
||||
}
|
||||
}else{
|
||||
self.texiaoVapView.hidden = NO;
|
||||
[self.texiaoVapView playMemoryWithStr:C_string(model.cp_tx_play_img) Success:^(NSURL * _Nonnull filePath) {
|
||||
NSString *fileStr = [filePath absoluteString];
|
||||
if ([fileStr containsString:@"file://"]) {
|
||||
fileStr = [fileStr substringFromIndex:7];
|
||||
}
|
||||
[self.texiaoVapView playHWDMP4:fileStr repeatCount:0 delegate:self];
|
||||
} Failure:^(NSError * _Nonnull error) {
|
||||
[self.texiaoVapView removeFromSuperview];
|
||||
}];
|
||||
}
|
||||
} Failure:^(id _Nonnull errorData) {
|
||||
|
||||
}];
|
||||
}else{
|
||||
[HelpPageDefine showMessage:@"未解锁"];
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
- (void)requestLoadMyCPInfo
|
||||
{
|
||||
[BJHttpTool BJ_GetMy_cpWithParameters:@{} success:^(id response) {
|
||||
self.infoModel = [LMCPSpaceInfoModel mj_objectWithKeyValues:response[@"data"]];
|
||||
[self setupInfoWithModel];
|
||||
} failure:^(NSError *error) {
|
||||
[self.leftHeaderPic sd_setImageWithURL:[NSURL URLWithString:[BJUserManager userInfo].head_pic] placeholderImage:kDefaultUserIcon];
|
||||
self.leftNameLabel.text = [BJUserManager userInfo].nick_name;
|
||||
}];
|
||||
|
||||
}
|
||||
|
||||
- (void)requestLoadCPDressList
|
||||
{
|
||||
[BJHttpTool BJ_GetMy_cp_txkWithParameters:@{@"type":[NSString stringWithFormat:@"%ld",self.type]} success:^(id response) {
|
||||
self.dataArr = [LMCPSpaceDressListModel mj_objectArrayWithKeyValuesArray:response[@"data"]];
|
||||
[self.dressItemView reloadData];
|
||||
} failure:^(NSError *error) {
|
||||
|
||||
}];
|
||||
}
|
||||
|
||||
- (void)categoryView:(JXCategoryBaseView *)categoryView didSelectedItemAtIndex:(NSInteger)index
|
||||
{
|
||||
if (index == 0){
|
||||
self.type = 1;
|
||||
}else{
|
||||
self.type = 9;
|
||||
}
|
||||
[self requestLoadCPDressList];
|
||||
}
|
||||
|
||||
// 分页菜单视图
|
||||
- (JXCategoryTitleView *)categoryView {
|
||||
if (!_categoryView) {
|
||||
_categoryView = [[JXCategoryTitleView alloc] init];
|
||||
_categoryView.titleFont = YBBoldFont(14);
|
||||
_categoryView.titleSelectedFont = YBBoldFont(16);
|
||||
_categoryView.titleColor = HEXCOLORA(0x999999, 1);
|
||||
_categoryView.titleSelectedColor = HEXCOLOR(0x333333);
|
||||
_categoryView.delegate = self;
|
||||
_categoryView.contentEdgeInsetLeft = 60;
|
||||
_categoryView.contentEdgeInsetRight = 60;
|
||||
_categoryView.titles = @[@"头像框",@"入场特效"];
|
||||
|
||||
// JXCategoryIndicatorBackgroundView *backgroundView = [[JXCategoryIndicatorBackgroundView alloc] init];
|
||||
// backgroundView.indicatorWidth = 69;
|
||||
// backgroundView.indicatorHeight = 27;
|
||||
// backgroundView.indicatorCornerRadius = 13.5;
|
||||
// backgroundView.indicatorColor = [UIColor bm_colorGradientChangeWithSize:CGSizeMake(79, 27) direction:(FXGradientChangeDirectionHorizontal) startColor:mainLightColor endColor:mainDeepColor];
|
||||
// _categoryView.indicators = @[backgroundView];
|
||||
}
|
||||
return _categoryView;
|
||||
}
|
||||
|
||||
- (NSMutableArray *)dataArr
|
||||
{
|
||||
if (!_dataArr){
|
||||
_dataArr = [NSMutableArray array];
|
||||
}
|
||||
return _dataArr;
|
||||
}
|
||||
|
||||
- (QGVAPWrapView *)leftHeaderVapView {
|
||||
if (!_leftHeaderVapView) {
|
||||
_leftHeaderVapView = [[QGVAPWrapView alloc] initWithFrame:CGRectZero];
|
||||
// _leftHeaderVapView.hwd_Delegate = self;
|
||||
_leftHeaderVapView.contentMode = QGVAPWrapViewContentModeScaleToFill;
|
||||
_leftHeaderVapView.userInteractionEnabled = NO;
|
||||
}
|
||||
return _leftHeaderVapView;
|
||||
}
|
||||
|
||||
- (QGVAPWrapView *)rightHeaderVapView {
|
||||
if (!_rightHeaderVapView) {
|
||||
_rightHeaderVapView = [[QGVAPWrapView alloc] initWithFrame:CGRectZero];
|
||||
// _rightHeaderVapView.hwd_Delegate = self;
|
||||
_rightHeaderVapView.contentMode = QGVAPWrapViewContentModeScaleToFill;
|
||||
_rightHeaderVapView.userInteractionEnabled = NO;
|
||||
}
|
||||
return _rightHeaderVapView;
|
||||
}
|
||||
|
||||
|
||||
- (QGVAPWrapView *)texiaoVapView {
|
||||
if (!_texiaoVapView) {
|
||||
_texiaoVapView = [[QGVAPWrapView alloc] initWithFrame:CGRectZero];
|
||||
_texiaoVapView.hwd_Delegate = self;
|
||||
_texiaoVapView.contentMode = QGVAPWrapViewContentModeScaleToFill;
|
||||
_texiaoVapView.userInteractionEnabled = NO;
|
||||
_texiaoVapView.hidden = YES;
|
||||
}
|
||||
return _texiaoVapView;
|
||||
}
|
||||
|
||||
- (void)vapWrap_viewDidStopPlayMP4:(NSInteger)lastFrameIndex view:(VAPView *)container
|
||||
{
|
||||
if (container == self.texiaoVapView){
|
||||
self.texiaoVapView.hidden = YES;
|
||||
}
|
||||
}
|
||||
|
||||
@end
|
||||
212
SweetParty/主类/狸猫新增/情侣空间/LMCPSpaceViewController.xib
Normal file
212
SweetParty/主类/狸猫新增/情侣空间/LMCPSpaceViewController.xib
Normal file
@@ -0,0 +1,212 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<document type="com.apple.InterfaceBuilder3.CocoaTouch.XIB" version="3.0" toolsVersion="22505" targetRuntime="iOS.CocoaTouch" propertyAccessControl="none" useAutolayout="YES" useTraitCollections="YES" colorMatched="YES">
|
||||
<device id="retina6_12" orientation="portrait" appearance="light"/>
|
||||
<dependencies>
|
||||
<deployment identifier="iOS"/>
|
||||
<plugIn identifier="com.apple.InterfaceBuilder.IBCocoaTouchPlugin" version="22504"/>
|
||||
<capability name="System colors in document resources" minToolsVersion="11.0"/>
|
||||
<capability name="documents saved in the Xcode 8 format" minToolsVersion="8.0"/>
|
||||
</dependencies>
|
||||
<objects>
|
||||
<placeholder placeholderIdentifier="IBFilesOwner" id="-1" userLabel="File's Owner" customClass="LMCPSpaceViewController">
|
||||
<connections>
|
||||
<outlet property="cateCoverView" destination="0aK-s3-7s8" id="Job-7k-RuU"/>
|
||||
<outlet property="dressItemView" destination="76g-EA-cPC" id="Myc-l0-tHx"/>
|
||||
<outlet property="leftHeaderPic" destination="sJd-PV-na8" id="u3K-63-voU"/>
|
||||
<outlet property="leftNameLabel" destination="Ja1-NL-mjq" id="Y2t-17-Y6Q"/>
|
||||
<outlet property="leftVapCover" destination="k7U-7U-i90" id="dGF-Qf-0Wt"/>
|
||||
<outlet property="rightHeaderPic" destination="X0H-IS-qTE" id="XJc-CT-Bmu"/>
|
||||
<outlet property="rightNameLabel" destination="ze8-xX-VJ9" id="KII-OD-kve"/>
|
||||
<outlet property="rightVapCover" destination="hPL-Sa-CGX" id="s4c-Nn-NgE"/>
|
||||
<outlet property="topLevelLabel" destination="TLm-4o-mPF" id="dcc-tv-1Uw"/>
|
||||
<outlet property="valueLabel" destination="Hv5-Pl-XGV" id="dNT-9K-4E0"/>
|
||||
<outlet property="view" destination="i5M-Pr-FkT" id="sfx-zR-JGt"/>
|
||||
</connections>
|
||||
</placeholder>
|
||||
<placeholder placeholderIdentifier="IBFirstResponder" id="-2" customClass="UIResponder"/>
|
||||
<view clearsContextBeforeDrawing="NO" contentMode="scaleToFill" id="i5M-Pr-FkT">
|
||||
<rect key="frame" x="0.0" y="0.0" width="375" height="812"/>
|
||||
<autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/>
|
||||
<subviews>
|
||||
<imageView clipsSubviews="YES" userInteractionEnabled="NO" contentMode="scaleToFill" horizontalHuggingPriority="251" verticalHuggingPriority="251" image="cp_kongjian_bg" translatesAutoresizingMaskIntoConstraints="NO" id="Ryg-GP-IRe">
|
||||
<rect key="frame" x="0.0" y="0.0" width="375" height="812"/>
|
||||
</imageView>
|
||||
<imageView clipsSubviews="YES" userInteractionEnabled="NO" contentMode="scaleAspectFill" horizontalHuggingPriority="251" verticalHuggingPriority="251" image="default_userIcon" translatesAutoresizingMaskIntoConstraints="NO" id="sJd-PV-na8">
|
||||
<rect key="frame" x="48.666666666666657" y="134" width="60" height="60"/>
|
||||
<constraints>
|
||||
<constraint firstAttribute="width" constant="60" id="EFn-T8-W7Y"/>
|
||||
<constraint firstAttribute="height" constant="60" id="xgN-0f-BC9"/>
|
||||
</constraints>
|
||||
<userDefinedRuntimeAttributes>
|
||||
<userDefinedRuntimeAttribute type="number" keyPath="cornerRadius">
|
||||
<real key="value" value="30"/>
|
||||
</userDefinedRuntimeAttribute>
|
||||
</userDefinedRuntimeAttributes>
|
||||
</imageView>
|
||||
<imageView clipsSubviews="YES" userInteractionEnabled="NO" contentMode="scaleAspectFill" horizontalHuggingPriority="251" verticalHuggingPriority="251" image="default_userIcon" translatesAutoresizingMaskIntoConstraints="NO" id="X0H-IS-qTE">
|
||||
<rect key="frame" x="266.66666666666669" y="134" width="60" height="60"/>
|
||||
<constraints>
|
||||
<constraint firstAttribute="width" constant="60" id="YMr-pe-fzT"/>
|
||||
<constraint firstAttribute="height" constant="60" id="yfz-Uv-76z"/>
|
||||
</constraints>
|
||||
<userDefinedRuntimeAttributes>
|
||||
<userDefinedRuntimeAttribute type="number" keyPath="cornerRadius">
|
||||
<real key="value" value="30"/>
|
||||
</userDefinedRuntimeAttribute>
|
||||
</userDefinedRuntimeAttributes>
|
||||
</imageView>
|
||||
<view contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="k7U-7U-i90">
|
||||
<rect key="frame" x="38.666666666666657" y="124" width="80" height="80"/>
|
||||
<color key="backgroundColor" white="0.0" alpha="0.0" colorSpace="custom" customColorSpace="genericGamma22GrayColorSpace"/>
|
||||
</view>
|
||||
<view contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="hPL-Sa-CGX">
|
||||
<rect key="frame" x="256.66666666666669" y="124" width="80" height="80"/>
|
||||
<color key="backgroundColor" white="0.0" alpha="0.0" colorSpace="custom" customColorSpace="genericGamma22GrayColorSpace"/>
|
||||
</view>
|
||||
<imageView clipsSubviews="YES" userInteractionEnabled="NO" contentMode="scaleAspectFit" horizontalHuggingPriority="251" verticalHuggingPriority="251" image="cp_kongjian_aixin" translatesAutoresizingMaskIntoConstraints="NO" id="cuk-9h-KEb">
|
||||
<rect key="frame" x="138.66666666666666" y="115" width="98" height="98"/>
|
||||
<constraints>
|
||||
<constraint firstAttribute="height" constant="98" id="CaL-C8-wgd"/>
|
||||
<constraint firstAttribute="width" constant="98" id="ki3-no-Sfa"/>
|
||||
</constraints>
|
||||
</imageView>
|
||||
<label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="LV.0" textAlignment="natural" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="TLm-4o-mPF">
|
||||
<rect key="frame" x="163.33333333333334" y="149.66666666666666" width="48.333333333333343" height="28.666666666666657"/>
|
||||
<fontDescription key="fontDescription" type="boldSystem" pointSize="24"/>
|
||||
<color key="textColor" white="1" alpha="1" colorSpace="custom" customColorSpace="genericGamma22GrayColorSpace"/>
|
||||
<nil key="highlightedColor"/>
|
||||
</label>
|
||||
<view contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="4fi-Ly-4vV">
|
||||
<rect key="frame" x="155" y="193" width="65" height="20"/>
|
||||
<subviews>
|
||||
<label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="0/0" textAlignment="center" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="Hv5-Pl-XGV">
|
||||
<rect key="frame" x="10" y="0.0" width="45" height="20"/>
|
||||
<fontDescription key="fontDescription" type="boldSystem" pointSize="12"/>
|
||||
<color key="textColor" red="0.5725490196078431" green="0.28627450980392155" blue="1" alpha="1" colorSpace="calibratedRGB"/>
|
||||
<nil key="highlightedColor"/>
|
||||
</label>
|
||||
</subviews>
|
||||
<color key="backgroundColor" red="1" green="1" blue="1" alpha="0.5" colorSpace="custom" customColorSpace="calibratedRGB"/>
|
||||
<constraints>
|
||||
<constraint firstAttribute="trailing" secondItem="Hv5-Pl-XGV" secondAttribute="trailing" constant="10" id="4dh-YD-5E1"/>
|
||||
<constraint firstItem="Hv5-Pl-XGV" firstAttribute="top" secondItem="4fi-Ly-4vV" secondAttribute="top" id="PHm-1d-XkP"/>
|
||||
<constraint firstItem="Hv5-Pl-XGV" firstAttribute="leading" secondItem="4fi-Ly-4vV" secondAttribute="leading" constant="10" id="PLD-nA-heR"/>
|
||||
<constraint firstAttribute="height" constant="20" id="cPU-oV-JRI"/>
|
||||
<constraint firstAttribute="bottom" secondItem="Hv5-Pl-XGV" secondAttribute="bottom" id="gV8-ZW-6q0"/>
|
||||
<constraint firstAttribute="width" relation="greaterThanOrEqual" constant="65" id="yKj-H7-KGb"/>
|
||||
</constraints>
|
||||
<userDefinedRuntimeAttributes>
|
||||
<userDefinedRuntimeAttribute type="number" keyPath="cornerRadius">
|
||||
<real key="value" value="10"/>
|
||||
</userDefinedRuntimeAttribute>
|
||||
</userDefinedRuntimeAttributes>
|
||||
</view>
|
||||
<label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="虚位以待" textAlignment="natural" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="Ja1-NL-mjq">
|
||||
<rect key="frame" x="54" y="214" width="49.333333333333343" height="14.333333333333343"/>
|
||||
<fontDescription key="fontDescription" type="boldSystem" pointSize="12"/>
|
||||
<color key="textColor" red="0.20000000000000001" green="0.20000000000000001" blue="0.20000000000000001" alpha="1" colorSpace="calibratedRGB"/>
|
||||
<nil key="highlightedColor"/>
|
||||
</label>
|
||||
<label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="暂无" textAlignment="natural" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="ze8-xX-VJ9">
|
||||
<rect key="frame" x="284.33333333333331" y="214" width="24.666666666666686" height="14.333333333333343"/>
|
||||
<fontDescription key="fontDescription" type="boldSystem" pointSize="12"/>
|
||||
<color key="textColor" red="0.20000000000000001" green="0.20000000000000001" blue="0.20000000000000001" alpha="1" colorSpace="calibratedRGB"/>
|
||||
<nil key="highlightedColor"/>
|
||||
</label>
|
||||
<view contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="t4z-qg-WDl">
|
||||
<rect key="frame" x="15" y="240" width="345" height="512"/>
|
||||
<subviews>
|
||||
<imageView clipsSubviews="YES" userInteractionEnabled="NO" contentMode="scaleToFill" horizontalHuggingPriority="251" verticalHuggingPriority="251" image="cp_list_bg" translatesAutoresizingMaskIntoConstraints="NO" id="uOR-TF-ybU">
|
||||
<rect key="frame" x="0.0" y="0.0" width="345" height="512"/>
|
||||
</imageView>
|
||||
<label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="专属福利" textAlignment="natural" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="fgJ-QT-F3U">
|
||||
<rect key="frame" x="135.66666666666666" y="15" width="74" height="22"/>
|
||||
<fontDescription key="fontDescription" type="boldSystem" pointSize="18"/>
|
||||
<color key="textColor" red="0.20000000000000001" green="0.20000000000000001" blue="0.20000000000000001" alpha="1" colorSpace="calibratedRGB"/>
|
||||
<nil key="highlightedColor"/>
|
||||
</label>
|
||||
<view contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="0aK-s3-7s8">
|
||||
<rect key="frame" x="0.0" y="45" width="345" height="44"/>
|
||||
<color key="backgroundColor" white="0.0" alpha="0.0" colorSpace="custom" customColorSpace="genericGamma22GrayColorSpace"/>
|
||||
<constraints>
|
||||
<constraint firstAttribute="height" constant="44" id="yUR-vV-UcB"/>
|
||||
</constraints>
|
||||
</view>
|
||||
<collectionView clipsSubviews="YES" multipleTouchEnabled="YES" contentMode="scaleToFill" dataMode="none" translatesAutoresizingMaskIntoConstraints="NO" id="76g-EA-cPC">
|
||||
<rect key="frame" x="0.0" y="89" width="345" height="423"/>
|
||||
<color key="backgroundColor" white="0.0" alpha="0.0" colorSpace="custom" customColorSpace="genericGamma22GrayColorSpace"/>
|
||||
<collectionViewFlowLayout key="collectionViewLayout" minimumLineSpacing="10" minimumInteritemSpacing="10" id="PEQ-OE-c8B">
|
||||
<size key="itemSize" width="128" height="128"/>
|
||||
<size key="headerReferenceSize" width="0.0" height="0.0"/>
|
||||
<size key="footerReferenceSize" width="0.0" height="0.0"/>
|
||||
<inset key="sectionInset" minX="0.0" minY="0.0" maxX="0.0" maxY="0.0"/>
|
||||
</collectionViewFlowLayout>
|
||||
</collectionView>
|
||||
</subviews>
|
||||
<color key="backgroundColor" white="0.0" alpha="0.0" colorSpace="custom" customColorSpace="genericGamma22GrayColorSpace"/>
|
||||
<constraints>
|
||||
<constraint firstAttribute="bottom" secondItem="uOR-TF-ybU" secondAttribute="bottom" id="55Q-K7-rMO"/>
|
||||
<constraint firstItem="76g-EA-cPC" firstAttribute="leading" secondItem="t4z-qg-WDl" secondAttribute="leading" id="A8E-d0-bFO"/>
|
||||
<constraint firstAttribute="trailing" secondItem="76g-EA-cPC" secondAttribute="trailing" id="EVU-Y4-x31"/>
|
||||
<constraint firstItem="fgJ-QT-F3U" firstAttribute="centerX" secondItem="t4z-qg-WDl" secondAttribute="centerX" id="JCa-J5-XNr"/>
|
||||
<constraint firstItem="76g-EA-cPC" firstAttribute="top" secondItem="0aK-s3-7s8" secondAttribute="bottom" id="KvJ-VJ-pWK"/>
|
||||
<constraint firstItem="0aK-s3-7s8" firstAttribute="top" secondItem="t4z-qg-WDl" secondAttribute="top" constant="45" id="LHr-lc-XXq"/>
|
||||
<constraint firstAttribute="trailing" secondItem="uOR-TF-ybU" secondAttribute="trailing" id="PMa-jW-acB"/>
|
||||
<constraint firstAttribute="trailing" secondItem="0aK-s3-7s8" secondAttribute="trailing" id="We9-JW-iy6"/>
|
||||
<constraint firstItem="uOR-TF-ybU" firstAttribute="top" secondItem="t4z-qg-WDl" secondAttribute="top" id="XVF-ep-li6"/>
|
||||
<constraint firstAttribute="bottom" secondItem="76g-EA-cPC" secondAttribute="bottom" id="dkB-Mk-IvW"/>
|
||||
<constraint firstItem="fgJ-QT-F3U" firstAttribute="top" secondItem="t4z-qg-WDl" secondAttribute="top" constant="15" id="eaS-6i-cEN"/>
|
||||
<constraint firstItem="uOR-TF-ybU" firstAttribute="leading" secondItem="t4z-qg-WDl" secondAttribute="leading" id="ey4-R7-YTS"/>
|
||||
<constraint firstItem="0aK-s3-7s8" firstAttribute="leading" secondItem="t4z-qg-WDl" secondAttribute="leading" id="uYG-7R-L02"/>
|
||||
</constraints>
|
||||
</view>
|
||||
</subviews>
|
||||
<color key="backgroundColor" systemColor="systemBackgroundColor"/>
|
||||
<constraints>
|
||||
<constraint firstItem="t4z-qg-WDl" firstAttribute="leading" secondItem="i5M-Pr-FkT" secondAttribute="leading" constant="15" id="01f-Cs-55c"/>
|
||||
<constraint firstAttribute="bottom" secondItem="t4z-qg-WDl" secondAttribute="bottom" constant="60" id="2d1-l0-dK2"/>
|
||||
<constraint firstItem="k7U-7U-i90" firstAttribute="top" secondItem="sJd-PV-na8" secondAttribute="top" constant="-10" id="6q3-lJ-f4j"/>
|
||||
<constraint firstItem="k7U-7U-i90" firstAttribute="leading" secondItem="sJd-PV-na8" secondAttribute="leading" constant="-10" id="76f-gp-nA9"/>
|
||||
<constraint firstItem="Ja1-NL-mjq" firstAttribute="centerX" secondItem="sJd-PV-na8" secondAttribute="centerX" id="CAf-x3-nUa"/>
|
||||
<constraint firstItem="cuk-9h-KEb" firstAttribute="leading" secondItem="sJd-PV-na8" secondAttribute="trailing" constant="30" id="ICp-9w-nbb"/>
|
||||
<constraint firstItem="X0H-IS-qTE" firstAttribute="leading" secondItem="cuk-9h-KEb" secondAttribute="trailing" constant="30" id="IGV-Ay-ZxT"/>
|
||||
<constraint firstItem="ze8-xX-VJ9" firstAttribute="top" secondItem="hPL-Sa-CGX" secondAttribute="bottom" constant="10" id="Jwh-BT-tx1"/>
|
||||
<constraint firstItem="TLm-4o-mPF" firstAttribute="centerX" secondItem="i5M-Pr-FkT" secondAttribute="centerX" id="Mjr-jU-wss"/>
|
||||
<constraint firstItem="4fi-Ly-4vV" firstAttribute="centerX" secondItem="cuk-9h-KEb" secondAttribute="centerX" id="Nhx-bf-XWA"/>
|
||||
<constraint firstItem="hPL-Sa-CGX" firstAttribute="trailing" secondItem="X0H-IS-qTE" secondAttribute="trailing" constant="10" id="Ni8-ue-h37"/>
|
||||
<constraint firstItem="cuk-9h-KEb" firstAttribute="top" secondItem="i5M-Pr-FkT" secondAttribute="top" constant="115" id="OfG-ge-WO7"/>
|
||||
<constraint firstItem="ze8-xX-VJ9" firstAttribute="centerX" secondItem="X0H-IS-qTE" secondAttribute="centerX" id="QSp-Cr-HrT"/>
|
||||
<constraint firstItem="X0H-IS-qTE" firstAttribute="centerY" secondItem="sJd-PV-na8" secondAttribute="centerY" id="TU7-dk-3fP"/>
|
||||
<constraint firstItem="Ryg-GP-IRe" firstAttribute="leading" secondItem="i5M-Pr-FkT" secondAttribute="leading" id="UHM-b5-m7c"/>
|
||||
<constraint firstAttribute="trailing" secondItem="t4z-qg-WDl" secondAttribute="trailing" constant="15" id="W68-It-y1B"/>
|
||||
<constraint firstItem="4fi-Ly-4vV" firstAttribute="bottom" secondItem="cuk-9h-KEb" secondAttribute="bottom" id="ZN5-GX-Byk"/>
|
||||
<constraint firstItem="Ryg-GP-IRe" firstAttribute="top" secondItem="i5M-Pr-FkT" secondAttribute="top" id="ZeU-bc-KpT"/>
|
||||
<constraint firstItem="cuk-9h-KEb" firstAttribute="centerY" secondItem="sJd-PV-na8" secondAttribute="centerY" id="bGn-V4-NVe"/>
|
||||
<constraint firstItem="cuk-9h-KEb" firstAttribute="centerX" secondItem="i5M-Pr-FkT" secondAttribute="centerX" id="bKR-yG-oXA"/>
|
||||
<constraint firstItem="hPL-Sa-CGX" firstAttribute="leading" secondItem="X0H-IS-qTE" secondAttribute="leading" constant="-10" id="cn1-ye-Djd"/>
|
||||
<constraint firstItem="Ryg-GP-IRe" firstAttribute="trailing" secondItem="i5M-Pr-FkT" secondAttribute="trailing" id="d3B-eY-4NI"/>
|
||||
<constraint firstItem="hPL-Sa-CGX" firstAttribute="top" secondItem="X0H-IS-qTE" secondAttribute="top" constant="-10" id="eGl-hH-N04"/>
|
||||
<constraint firstItem="k7U-7U-i90" firstAttribute="trailing" secondItem="sJd-PV-na8" secondAttribute="trailing" constant="10" id="hLa-lk-uMA"/>
|
||||
<constraint firstItem="hPL-Sa-CGX" firstAttribute="bottom" secondItem="X0H-IS-qTE" secondAttribute="bottom" constant="10" id="hz2-A2-qBB"/>
|
||||
<constraint firstItem="TLm-4o-mPF" firstAttribute="centerY" secondItem="cuk-9h-KEb" secondAttribute="centerY" id="mde-Ln-Ytz"/>
|
||||
<constraint firstItem="TLm-4o-mPF" firstAttribute="centerX" secondItem="cuk-9h-KEb" secondAttribute="centerX" id="ndJ-fS-PYa"/>
|
||||
<constraint firstItem="t4z-qg-WDl" firstAttribute="top" secondItem="i5M-Pr-FkT" secondAttribute="top" constant="240" id="v5p-7v-AQP"/>
|
||||
<constraint firstItem="Ja1-NL-mjq" firstAttribute="top" secondItem="k7U-7U-i90" secondAttribute="bottom" constant="10" id="vwK-LB-CRf"/>
|
||||
<constraint firstAttribute="bottom" secondItem="Ryg-GP-IRe" secondAttribute="bottom" id="yJf-dS-Y8e"/>
|
||||
<constraint firstItem="k7U-7U-i90" firstAttribute="bottom" secondItem="sJd-PV-na8" secondAttribute="bottom" constant="10" id="yeR-mg-tct"/>
|
||||
<constraint firstItem="cuk-9h-KEb" firstAttribute="centerY" secondItem="sJd-PV-na8" secondAttribute="centerY" id="zBy-LW-cr5"/>
|
||||
</constraints>
|
||||
<freeformSimulatedSizeMetrics key="simulatedDestinationMetrics"/>
|
||||
<point key="canvasLocation" x="80" y="149"/>
|
||||
</view>
|
||||
</objects>
|
||||
<resources>
|
||||
<image name="cp_kongjian_aixin" width="98" height="98"/>
|
||||
<image name="cp_kongjian_bg" width="375" height="812"/>
|
||||
<image name="cp_list_bg" width="345" height="515"/>
|
||||
<image name="default_userIcon" width="512" height="512"/>
|
||||
<systemColor name="systemBackgroundColor">
|
||||
<color white="1" alpha="1" colorSpace="custom" customColorSpace="genericGamma22GrayColorSpace"/>
|
||||
</systemColor>
|
||||
</resources>
|
||||
</document>
|
||||
Reference in New Issue
Block a user