提交
This commit is contained in:
23
QXLive/Mine(音域)/View/QXBodyPriceRuleView.h
Normal file
23
QXLive/Mine(音域)/View/QXBodyPriceRuleView.h
Normal file
@@ -0,0 +1,23 @@
|
||||
//
|
||||
// QXBodyPriceRuleView.h
|
||||
// QXLive
|
||||
//
|
||||
// Created by 启星 on 2025/11/25.
|
||||
//
|
||||
|
||||
#import <UIKit/UIKit.h>
|
||||
|
||||
NS_ASSUME_NONNULL_BEGIN
|
||||
|
||||
@interface QXBodyPriceRuleView : UIView
|
||||
@property (weak, nonatomic) IBOutlet UILabel *currentPriceLabel;
|
||||
@property (weak, nonatomic) IBOutlet UILabel *beyoundPriceLabel;
|
||||
@property (weak, nonatomic) IBOutlet UILabel *recievePriceLabel;
|
||||
@property (weak, nonatomic) IBOutlet UILabel *realPriceLabel;
|
||||
@property (weak, nonatomic) IBOutlet UIButton *commitBtn;
|
||||
@property (weak, nonatomic) IBOutlet UIButton *closeBtn;
|
||||
@property (weak, nonatomic) IBOutlet UIView *bgView;
|
||||
+(void)showInView:(UIView*)view;
|
||||
@end
|
||||
|
||||
NS_ASSUME_NONNULL_END
|
||||
41
QXLive/Mine(音域)/View/QXBodyPriceRuleView.m
Normal file
41
QXLive/Mine(音域)/View/QXBodyPriceRuleView.m
Normal file
@@ -0,0 +1,41 @@
|
||||
//
|
||||
// QXBodyPriceRuleView.m
|
||||
// QXLive
|
||||
//
|
||||
// Created by 启星 on 2025/11/25.
|
||||
//
|
||||
|
||||
#import "QXBodyPriceRuleView.h"
|
||||
|
||||
@implementation QXBodyPriceRuleView
|
||||
|
||||
|
||||
+(void)showInView:(UIView*)view{
|
||||
UINib *nib = [UINib nibWithNibName:@"QXBodyPriceRuleView" bundle:[NSBundle mainBundle]];
|
||||
QXBodyPriceRuleView *ruleView = [nib instantiateWithOwner:nil options:nil].firstObject;
|
||||
ruleView.frame = UIScreen.mainScreen.bounds;
|
||||
ruleView.autoresizingMask = UIViewAutoresizingFlexibleWidth | UIViewAutoresizingFlexibleHeight;
|
||||
ruleView.bgView.alpha = 0;
|
||||
[view addSubview:ruleView];
|
||||
[UIView animateWithDuration:0.2 animations:^{
|
||||
ruleView.bgView.alpha = 1;
|
||||
}completion:^(BOOL finished) {
|
||||
|
||||
}];
|
||||
}
|
||||
- (IBAction)closeAction:(id)sender {
|
||||
[UIView animateWithDuration:0.2 animations:^{
|
||||
self.bgView.alpha = 0;
|
||||
}completion:^(BOOL finished) {
|
||||
[self removeFromSuperview];
|
||||
}];
|
||||
}
|
||||
|
||||
- (IBAction)commitAction:(id)sender {
|
||||
[UIView animateWithDuration:0.3 animations:^{
|
||||
self.bgView.alpha = 0;
|
||||
}completion:^(BOOL finished) {
|
||||
[self removeFromSuperview];
|
||||
}];
|
||||
}
|
||||
@end
|
||||
386
QXLive/Mine(音域)/View/QXBodyPriceRuleView.xib
Normal file
386
QXLive/Mine(音域)/View/QXBodyPriceRuleView.xib
Normal file
@@ -0,0 +1,386 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<document type="com.apple.InterfaceBuilder3.CocoaTouch.XIB" version="3.0" toolsVersion="23504" 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="23506"/>
|
||||
<capability name="Safe area layout guides" minToolsVersion="9.0"/>
|
||||
<capability name="System colors in document resources" minToolsVersion="11.0"/>
|
||||
<capability name="documents saved in the Xcode 8 format" minToolsVersion="8.0"/>
|
||||
</dependencies>
|
||||
<objects>
|
||||
<placeholder placeholderIdentifier="IBFilesOwner" id="-1" userLabel="File's Owner"/>
|
||||
<placeholder placeholderIdentifier="IBFirstResponder" id="-2" customClass="UIResponder"/>
|
||||
<view contentMode="scaleToFill" id="iN0-l3-epB" customClass="QXBodyPriceRuleView">
|
||||
<rect key="frame" x="0.0" y="0.0" width="393" height="852"/>
|
||||
<autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/>
|
||||
<subviews>
|
||||
<view contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="bjS-Eu-Wht">
|
||||
<rect key="frame" x="40.666666666666657" y="203.66666666666663" width="312" height="470"/>
|
||||
<subviews>
|
||||
<imageView clipsSubviews="YES" userInteractionEnabled="NO" contentMode="scaleToFill" horizontalHuggingPriority="251" verticalHuggingPriority="251" image="body_price_rule_bg" translatesAutoresizingMaskIntoConstraints="NO" id="0pu-br-WLc">
|
||||
<rect key="frame" x="0.0" y="0.0" width="312" height="470"/>
|
||||
</imageView>
|
||||
<label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="身价详情" textAlignment="natural" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="Cey-rm-4VM">
|
||||
<rect key="frame" x="124.00000000000001" y="11" width="63.666666666666671" height="24"/>
|
||||
<constraints>
|
||||
<constraint firstAttribute="height" constant="24" id="QMU-XW-UiY"/>
|
||||
</constraints>
|
||||
<fontDescription key="fontDescription" type="system" pointSize="16"/>
|
||||
<color key="textColor" red="0.20000000000000001" green="0.20000000000000001" blue="0.20000000000000001" alpha="1" colorSpace="custom" customColorSpace="sRGB"/>
|
||||
<nil key="highlightedColor"/>
|
||||
</label>
|
||||
<button opaque="NO" contentMode="scaleToFill" contentHorizontalAlignment="center" contentVerticalAlignment="center" lineBreakMode="middleTruncation" translatesAutoresizingMaskIntoConstraints="NO" id="ag3-iq-BzI">
|
||||
<rect key="frame" x="272" y="2" width="40" height="40"/>
|
||||
<constraints>
|
||||
<constraint firstAttribute="width" constant="40" id="1RM-bw-F5f"/>
|
||||
<constraint firstAttribute="height" constant="40" id="jXb-VG-MeW"/>
|
||||
</constraints>
|
||||
<inset key="imageEdgeInsets" minX="0.0" minY="0.0" maxX="2.2250738585072014e-308" maxY="0.0"/>
|
||||
<state key="normal" image="wallet_close"/>
|
||||
<connections>
|
||||
<action selector="closeAction:" destination="iN0-l3-epB" eventType="touchUpInside" id="Kn0-Ed-x94"/>
|
||||
</connections>
|
||||
</button>
|
||||
<view contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="r7a-Qi-IKE">
|
||||
<rect key="frame" x="16" y="46" width="280" height="113"/>
|
||||
<subviews>
|
||||
<label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="当前身价" textAlignment="natural" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="zaH-Pt-FkB">
|
||||
<rect key="frame" x="112" y="10.000000000000028" width="56" height="18"/>
|
||||
<constraints>
|
||||
<constraint firstAttribute="height" constant="18" id="c6c-Ff-k6z"/>
|
||||
</constraints>
|
||||
<fontDescription key="fontDescription" type="system" pointSize="14"/>
|
||||
<color key="textColor" red="1" green="0.46666666666666667" blue="0.0" alpha="1" colorSpace="custom" customColorSpace="sRGB"/>
|
||||
<nil key="highlightedColor"/>
|
||||
</label>
|
||||
<label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="1" textAlignment="natural" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="yoB-8g-xXJ">
|
||||
<rect key="frame" x="126.33333333333333" y="34.000000000000028" width="9.3333333333333286" height="28"/>
|
||||
<constraints>
|
||||
<constraint firstAttribute="height" constant="28" id="ZUT-FY-fDo"/>
|
||||
</constraints>
|
||||
<fontDescription key="fontDescription" type="system" weight="medium" pointSize="20"/>
|
||||
<color key="textColor" red="0.20000000000000001" green="0.20000000000000001" blue="0.20000000000000001" alpha="1" colorSpace="custom" customColorSpace="sRGB"/>
|
||||
<nil key="highlightedColor"/>
|
||||
</label>
|
||||
<imageView clipsSubviews="YES" userInteractionEnabled="NO" contentMode="scaleToFill" horizontalHuggingPriority="251" verticalHuggingPriority="251" image="room_upseat_coin" translatesAutoresizingMaskIntoConstraints="NO" id="yiz-ZZ-xxm">
|
||||
<rect key="frame" x="137.66666666666669" y="39.000000000000028" width="18" height="18"/>
|
||||
<constraints>
|
||||
<constraint firstAttribute="height" constant="18" id="AN3-EC-ehA"/>
|
||||
<constraint firstAttribute="width" constant="18" id="wI0-ag-JJ4"/>
|
||||
</constraints>
|
||||
</imageView>
|
||||
<label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="注:每个用户默认身价是1金币,收到礼物后按照比例进行换算身价" textAlignment="natural" lineBreakMode="tailTruncation" numberOfLines="0" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="WwA-Jn-1rz">
|
||||
<rect key="frame" x="16" y="68.000000000000028" width="248" height="39"/>
|
||||
<fontDescription key="fontDescription" type="system" pointSize="14"/>
|
||||
<color key="textColor" red="0.81176470588235294" green="0.61568627450980395" blue="0.25098039215686274" alpha="1" colorSpace="custom" customColorSpace="sRGB"/>
|
||||
<nil key="highlightedColor"/>
|
||||
</label>
|
||||
</subviews>
|
||||
<color key="backgroundColor" systemColor="systemBackgroundColor"/>
|
||||
<constraints>
|
||||
<constraint firstItem="zaH-Pt-FkB" firstAttribute="centerX" secondItem="r7a-Qi-IKE" secondAttribute="centerX" id="0oM-i5-9OG"/>
|
||||
<constraint firstAttribute="bottom" secondItem="WwA-Jn-1rz" secondAttribute="bottom" constant="6" id="71t-4W-LuP"/>
|
||||
<constraint firstItem="yiz-ZZ-xxm" firstAttribute="leading" secondItem="yoB-8g-xXJ" secondAttribute="trailing" constant="2" id="Ggm-C5-Wcb"/>
|
||||
<constraint firstAttribute="height" constant="113" id="MH5-pp-kd7"/>
|
||||
<constraint firstItem="yoB-8g-xXJ" firstAttribute="centerX" secondItem="r7a-Qi-IKE" secondAttribute="centerX" constant="-9" id="Saa-J0-KwU"/>
|
||||
<constraint firstAttribute="trailing" secondItem="WwA-Jn-1rz" secondAttribute="trailing" constant="16" id="YcU-Q9-sKB"/>
|
||||
<constraint firstItem="WwA-Jn-1rz" firstAttribute="leading" secondItem="r7a-Qi-IKE" secondAttribute="leading" constant="16" id="auv-o8-JaK"/>
|
||||
<constraint firstItem="WwA-Jn-1rz" firstAttribute="top" secondItem="yoB-8g-xXJ" secondAttribute="bottom" constant="6" id="m3G-Qk-pBp"/>
|
||||
<constraint firstItem="zaH-Pt-FkB" firstAttribute="top" secondItem="r7a-Qi-IKE" secondAttribute="top" constant="10" id="maZ-g1-7I4"/>
|
||||
<constraint firstItem="yiz-ZZ-xxm" firstAttribute="centerY" secondItem="yoB-8g-xXJ" secondAttribute="centerY" id="rIl-iA-pcw"/>
|
||||
<constraint firstItem="yoB-8g-xXJ" firstAttribute="top" secondItem="zaH-Pt-FkB" secondAttribute="bottom" constant="6" id="ywl-ba-UsO"/>
|
||||
</constraints>
|
||||
<userDefinedRuntimeAttributes>
|
||||
<userDefinedRuntimeAttribute type="boolean" keyPath="layer.masksToBounds" value="YES"/>
|
||||
<userDefinedRuntimeAttribute type="number" keyPath="layer.cornerRadius">
|
||||
<integer key="value" value="8"/>
|
||||
</userDefinedRuntimeAttribute>
|
||||
</userDefinedRuntimeAttributes>
|
||||
</view>
|
||||
<view contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="22W-Pg-BGs">
|
||||
<rect key="frame" x="16" y="167" width="280" height="229"/>
|
||||
<subviews>
|
||||
<imageView clipsSubviews="YES" userInteractionEnabled="NO" contentMode="scaleAspectFit" horizontalHuggingPriority="251" verticalHuggingPriority="251" translatesAutoresizingMaskIntoConstraints="NO" id="1qh-1U-0g1">
|
||||
<rect key="frame" x="19.000000000000007" y="25" width="47.999999999999993" height="48"/>
|
||||
<color key="backgroundColor" red="0.72156862745098038" green="0.92156862745098034" blue="0.97647058823529409" alpha="1" colorSpace="custom" customColorSpace="sRGB"/>
|
||||
<constraints>
|
||||
<constraint firstAttribute="height" constant="48" id="Bvl-n0-GY5"/>
|
||||
<constraint firstAttribute="width" constant="48" id="e9Z-Jy-yV7"/>
|
||||
</constraints>
|
||||
<userDefinedRuntimeAttributes>
|
||||
<userDefinedRuntimeAttribute type="boolean" keyPath="layer.masksToBounds" value="YES"/>
|
||||
<userDefinedRuntimeAttribute type="number" keyPath="layer.cornerRadius">
|
||||
<integer key="value" value="24"/>
|
||||
</userDefinedRuntimeAttribute>
|
||||
</userDefinedRuntimeAttributes>
|
||||
</imageView>
|
||||
<label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="竞拍溢价" textAlignment="center" lineBreakMode="tailTruncation" numberOfLines="2" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="R5s-ew-2ma">
|
||||
<rect key="frame" x="23.000000000000007" y="31.999999999999996" width="40" height="33.666666666666657"/>
|
||||
<constraints>
|
||||
<constraint firstAttribute="width" constant="40" id="55m-tS-xSt"/>
|
||||
</constraints>
|
||||
<fontDescription key="fontDescription" type="system" weight="medium" pointSize="14"/>
|
||||
<color key="textColor" red="0.20392156862745098" green="0.54117647058823526" blue="0.83529411764705885" alpha="1" colorSpace="custom" customColorSpace="sRGB"/>
|
||||
<nil key="highlightedColor"/>
|
||||
</label>
|
||||
<label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="+" textAlignment="center" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="1nL-zB-s12">
|
||||
<rect key="frame" x="79" y="35" width="12.666666666666671" height="28"/>
|
||||
<constraints>
|
||||
<constraint firstAttribute="height" constant="28" id="Npx-zw-09W"/>
|
||||
</constraints>
|
||||
<fontDescription key="fontDescription" type="system" weight="medium" pointSize="20"/>
|
||||
<color key="textColor" red="0.20000000000000001" green="0.20000000000000001" blue="0.20000000000000001" alpha="1" colorSpace="custom" customColorSpace="sRGB"/>
|
||||
<nil key="highlightedColor"/>
|
||||
</label>
|
||||
<imageView clipsSubviews="YES" userInteractionEnabled="NO" contentMode="scaleAspectFit" horizontalHuggingPriority="251" verticalHuggingPriority="251" translatesAutoresizingMaskIntoConstraints="NO" id="pvx-IE-jQQ">
|
||||
<rect key="frame" x="103.66666666666669" y="25" width="48" height="48"/>
|
||||
<color key="backgroundColor" red="0.97254901960784312" green="0.90980392156862744" blue="0.78431372549019607" alpha="1" colorSpace="custom" customColorSpace="sRGB"/>
|
||||
<constraints>
|
||||
<constraint firstAttribute="height" constant="48" id="9wK-lu-5ww"/>
|
||||
<constraint firstAttribute="width" constant="48" id="oXU-Bh-nt7"/>
|
||||
</constraints>
|
||||
<userDefinedRuntimeAttributes>
|
||||
<userDefinedRuntimeAttribute type="boolean" keyPath="layer.masksToBounds" value="YES"/>
|
||||
<userDefinedRuntimeAttribute type="number" keyPath="layer.cornerRadius">
|
||||
<integer key="value" value="24"/>
|
||||
</userDefinedRuntimeAttribute>
|
||||
</userDefinedRuntimeAttributes>
|
||||
</imageView>
|
||||
<label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" fixedFrame="YES" text="=" textAlignment="center" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="2Ef-wH-HNE">
|
||||
<rect key="frame" x="163.66666666666669" y="34" width="12.666666666666657" height="28"/>
|
||||
<autoresizingMask key="autoresizingMask" flexibleMaxX="YES" flexibleMaxY="YES"/>
|
||||
<fontDescription key="fontDescription" type="system" weight="medium" pointSize="20"/>
|
||||
<color key="textColor" red="0.20000000000000001" green="0.20000000000000001" blue="0.20000000000000001" alpha="1" colorSpace="custom" customColorSpace="sRGB"/>
|
||||
<nil key="highlightedColor"/>
|
||||
</label>
|
||||
<label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="收礼身价" textAlignment="center" lineBreakMode="tailTruncation" numberOfLines="2" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="FDt-UE-yKg">
|
||||
<rect key="frame" x="107.66666666666669" y="31.999999999999996" width="40" height="33.666666666666657"/>
|
||||
<constraints>
|
||||
<constraint firstAttribute="width" constant="40" id="md1-1F-BXo"/>
|
||||
</constraints>
|
||||
<fontDescription key="fontDescription" type="system" weight="medium" pointSize="14"/>
|
||||
<color key="textColor" red="0.92941176470588238" green="0.66666666666666663" blue="0.098039215686274508" alpha="1" colorSpace="custom" customColorSpace="sRGB"/>
|
||||
<nil key="highlightedColor"/>
|
||||
</label>
|
||||
<imageView clipsSubviews="YES" userInteractionEnabled="NO" contentMode="scaleAspectFit" horizontalHuggingPriority="251" verticalHuggingPriority="251" translatesAutoresizingMaskIntoConstraints="NO" id="TCX-JN-r9B">
|
||||
<rect key="frame" x="189" y="13" width="72" height="72"/>
|
||||
<color key="backgroundColor" red="0.6470588235294118" green="1" blue="0.76078431372549016" alpha="1" colorSpace="custom" customColorSpace="sRGB"/>
|
||||
<constraints>
|
||||
<constraint firstAttribute="width" constant="72" id="UFB-82-XSq"/>
|
||||
<constraint firstAttribute="height" constant="72" id="h6t-2i-vCw"/>
|
||||
</constraints>
|
||||
<userDefinedRuntimeAttributes>
|
||||
<userDefinedRuntimeAttribute type="boolean" keyPath="layer.masksToBounds" value="YES"/>
|
||||
<userDefinedRuntimeAttribute type="number" keyPath="layer.cornerRadius">
|
||||
<integer key="value" value="36"/>
|
||||
</userDefinedRuntimeAttribute>
|
||||
</userDefinedRuntimeAttributes>
|
||||
</imageView>
|
||||
<label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="实际身价" textAlignment="center" lineBreakMode="tailTruncation" numberOfLines="2" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="TJG-ml-Bip">
|
||||
<rect key="frame" x="200.00000000000003" y="27.333333333333314" width="50" height="43"/>
|
||||
<constraints>
|
||||
<constraint firstAttribute="width" constant="50" id="Kof-yq-JSa"/>
|
||||
</constraints>
|
||||
<fontDescription key="fontDescription" type="system" weight="medium" pointSize="18"/>
|
||||
<color key="textColor" red="0.0" green="0.53725490196078429" blue="0.15294117647058825" alpha="1" colorSpace="custom" customColorSpace="sRGB"/>
|
||||
<nil key="highlightedColor"/>
|
||||
</label>
|
||||
<view contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="dJ6-LR-vgw">
|
||||
<rect key="frame" x="16" y="98" width="117" height="119"/>
|
||||
<subviews>
|
||||
<view contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="1RH-Mf-SWP">
|
||||
<rect key="frame" x="0.0" y="0.0" width="117" height="24"/>
|
||||
<subviews>
|
||||
<label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="竞拍溢价" textAlignment="natural" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="uK0-7X-IBc">
|
||||
<rect key="frame" x="34.333333333333329" y="4.3333333333333144" width="48" height="15"/>
|
||||
<fontDescription key="fontDescription" type="system" pointSize="12"/>
|
||||
<color key="textColor" red="0.20392156862745098" green="0.54117647058823526" blue="0.83529411764705885" alpha="1" colorSpace="custom" customColorSpace="sRGB"/>
|
||||
<nil key="highlightedColor"/>
|
||||
</label>
|
||||
</subviews>
|
||||
<color key="backgroundColor" red="0.68235294117647061" green="0.92941176470588238" blue="1" alpha="1" colorSpace="custom" customColorSpace="sRGB"/>
|
||||
<constraints>
|
||||
<constraint firstAttribute="height" constant="24" id="8em-ee-gLY"/>
|
||||
<constraint firstItem="uK0-7X-IBc" firstAttribute="centerY" secondItem="1RH-Mf-SWP" secondAttribute="centerY" id="Q5j-gJ-Sxm"/>
|
||||
<constraint firstItem="uK0-7X-IBc" firstAttribute="centerX" secondItem="1RH-Mf-SWP" secondAttribute="centerX" id="cha-7w-LSq"/>
|
||||
</constraints>
|
||||
</view>
|
||||
<label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="签约竞拍次数越多,签约成交比签约时身价更高,则竞拍溢价就越高" textAlignment="natural" lineBreakMode="tailTruncation" numberOfLines="0" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="NRs-fX-FIN">
|
||||
<rect key="frame" x="8" y="32" width="101" height="79"/>
|
||||
<fontDescription key="fontDescription" type="system" pointSize="12"/>
|
||||
<color key="textColor" red="0.29411764705882354" green="0.66274509803921566" blue="0.76862745098039209" alpha="1" colorSpace="custom" customColorSpace="sRGB"/>
|
||||
<nil key="highlightedColor"/>
|
||||
</label>
|
||||
</subviews>
|
||||
<color key="backgroundColor" red="0.89803921568627454" green="0.96862745098039216" blue="1" alpha="1" colorSpace="custom" customColorSpace="sRGB"/>
|
||||
<constraints>
|
||||
<constraint firstAttribute="width" constant="117" id="4rA-dE-Rhv"/>
|
||||
<constraint firstAttribute="trailing" secondItem="1RH-Mf-SWP" secondAttribute="trailing" id="5da-35-QcR"/>
|
||||
<constraint firstItem="NRs-fX-FIN" firstAttribute="top" secondItem="1RH-Mf-SWP" secondAttribute="bottom" constant="8" id="QTq-Mw-KUH"/>
|
||||
<constraint firstItem="NRs-fX-FIN" firstAttribute="leading" secondItem="dJ6-LR-vgw" secondAttribute="leading" constant="8" id="Wtk-ZE-Iu3"/>
|
||||
<constraint firstAttribute="bottom" secondItem="NRs-fX-FIN" secondAttribute="bottom" constant="8" id="YMJ-9a-hmC"/>
|
||||
<constraint firstItem="1RH-Mf-SWP" firstAttribute="top" secondItem="dJ6-LR-vgw" secondAttribute="top" id="Z3L-1R-FJy"/>
|
||||
<constraint firstAttribute="trailing" secondItem="NRs-fX-FIN" secondAttribute="trailing" constant="8" id="kfY-Vy-yGv"/>
|
||||
<constraint firstItem="1RH-Mf-SWP" firstAttribute="leading" secondItem="dJ6-LR-vgw" secondAttribute="leading" id="lmc-Ys-kzq"/>
|
||||
</constraints>
|
||||
<userDefinedRuntimeAttributes>
|
||||
<userDefinedRuntimeAttribute type="boolean" keyPath="layer.masksToBounds" value="YES"/>
|
||||
<userDefinedRuntimeAttribute type="number" keyPath="layer.cornerRadius">
|
||||
<integer key="value" value="8"/>
|
||||
</userDefinedRuntimeAttribute>
|
||||
</userDefinedRuntimeAttributes>
|
||||
</view>
|
||||
<view contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="5QI-g5-Etm">
|
||||
<rect key="frame" x="144" y="98" width="117" height="119"/>
|
||||
<subviews>
|
||||
<view contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="16p-zb-VAB">
|
||||
<rect key="frame" x="0.0" y="0.0" width="117" height="24"/>
|
||||
<subviews>
|
||||
<label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="竞拍溢价" textAlignment="natural" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="DfF-lh-oXh">
|
||||
<rect key="frame" x="34.333333333333343" y="4.3333333333333144" width="48" height="15"/>
|
||||
<fontDescription key="fontDescription" type="system" pointSize="12"/>
|
||||
<color key="textColor" red="0.72549019607843135" green="0.57647058823529407" blue="0.11372549019607843" alpha="1" colorSpace="custom" customColorSpace="sRGB"/>
|
||||
<nil key="highlightedColor"/>
|
||||
</label>
|
||||
</subviews>
|
||||
<color key="backgroundColor" red="1" green="0.90196078431372551" blue="0.59215686274509804" alpha="1" colorSpace="custom" customColorSpace="sRGB"/>
|
||||
<constraints>
|
||||
<constraint firstItem="DfF-lh-oXh" firstAttribute="centerY" secondItem="16p-zb-VAB" secondAttribute="centerY" id="6If-AV-pYD"/>
|
||||
<constraint firstItem="DfF-lh-oXh" firstAttribute="centerX" secondItem="16p-zb-VAB" secondAttribute="centerX" id="8Eb-hb-bCP"/>
|
||||
<constraint firstAttribute="height" constant="24" id="Oeu-V9-5eq"/>
|
||||
</constraints>
|
||||
</view>
|
||||
<label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="签约竞拍次数越多,签约成交比签约时身价更高,则竞拍溢价就越高" textAlignment="natural" lineBreakMode="tailTruncation" numberOfLines="0" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="M4h-lx-wJ4">
|
||||
<rect key="frame" x="8" y="32" width="101" height="79"/>
|
||||
<fontDescription key="fontDescription" type="system" pointSize="12"/>
|
||||
<color key="textColor" red="0.92941176470588238" green="0.66666666666666663" blue="0.098039215686274508" alpha="1" colorSpace="custom" customColorSpace="sRGB"/>
|
||||
<nil key="highlightedColor"/>
|
||||
</label>
|
||||
</subviews>
|
||||
<color key="backgroundColor" red="0.96470588235294119" green="0.97254901960784312" blue="0.89803921568627454" alpha="1" colorSpace="custom" customColorSpace="sRGB"/>
|
||||
<constraints>
|
||||
<constraint firstItem="16p-zb-VAB" firstAttribute="leading" secondItem="5QI-g5-Etm" secondAttribute="leading" id="Bbm-E2-7J9"/>
|
||||
<constraint firstAttribute="bottom" secondItem="M4h-lx-wJ4" secondAttribute="bottom" constant="8" id="GGC-6Y-cpC"/>
|
||||
<constraint firstItem="M4h-lx-wJ4" firstAttribute="leading" secondItem="5QI-g5-Etm" secondAttribute="leading" constant="8" id="OLC-Xu-jcE"/>
|
||||
<constraint firstItem="16p-zb-VAB" firstAttribute="top" secondItem="5QI-g5-Etm" secondAttribute="top" id="PQm-S7-LCt"/>
|
||||
<constraint firstItem="M4h-lx-wJ4" firstAttribute="top" secondItem="16p-zb-VAB" secondAttribute="bottom" constant="8" id="bhY-eL-Te3"/>
|
||||
<constraint firstAttribute="width" constant="117" id="fPg-ws-iOS"/>
|
||||
<constraint firstAttribute="trailing" secondItem="16p-zb-VAB" secondAttribute="trailing" id="haZ-oi-Jfa"/>
|
||||
<constraint firstAttribute="trailing" secondItem="M4h-lx-wJ4" secondAttribute="trailing" constant="8" id="wDq-f5-2aI"/>
|
||||
</constraints>
|
||||
<userDefinedRuntimeAttributes>
|
||||
<userDefinedRuntimeAttribute type="boolean" keyPath="layer.masksToBounds" value="YES"/>
|
||||
<userDefinedRuntimeAttribute type="number" keyPath="layer.cornerRadius">
|
||||
<integer key="value" value="8"/>
|
||||
</userDefinedRuntimeAttribute>
|
||||
</userDefinedRuntimeAttributes>
|
||||
</view>
|
||||
</subviews>
|
||||
<color key="backgroundColor" systemColor="systemBackgroundColor"/>
|
||||
<constraints>
|
||||
<constraint firstItem="1qh-1U-0g1" firstAttribute="top" secondItem="22W-Pg-BGs" secondAttribute="top" constant="25" id="5aA-MU-VhR"/>
|
||||
<constraint firstItem="FDt-UE-yKg" firstAttribute="centerY" secondItem="pvx-IE-jQQ" secondAttribute="centerY" id="729-Vm-24r"/>
|
||||
<constraint firstAttribute="trailing" secondItem="TCX-JN-r9B" secondAttribute="trailing" constant="19" id="DIH-n9-8BY"/>
|
||||
<constraint firstItem="TCX-JN-r9B" firstAttribute="centerY" secondItem="1qh-1U-0g1" secondAttribute="centerY" id="IFW-2s-j7V"/>
|
||||
<constraint firstItem="R5s-ew-2ma" firstAttribute="centerY" secondItem="1qh-1U-0g1" secondAttribute="centerY" id="N9g-k4-GdM"/>
|
||||
<constraint firstItem="pvx-IE-jQQ" firstAttribute="centerY" secondItem="1qh-1U-0g1" secondAttribute="centerY" id="PI4-ui-iG5"/>
|
||||
<constraint firstItem="FDt-UE-yKg" firstAttribute="centerX" secondItem="pvx-IE-jQQ" secondAttribute="centerX" id="TPS-17-unD"/>
|
||||
<constraint firstItem="5QI-g5-Etm" firstAttribute="top" secondItem="dJ6-LR-vgw" secondAttribute="top" id="VnE-Yk-Fs5"/>
|
||||
<constraint firstItem="dJ6-LR-vgw" firstAttribute="leading" secondItem="22W-Pg-BGs" secondAttribute="leading" constant="16" id="afz-KP-jxq"/>
|
||||
<constraint firstItem="5QI-g5-Etm" firstAttribute="bottom" secondItem="dJ6-LR-vgw" secondAttribute="bottom" id="cE5-G9-ELY"/>
|
||||
<constraint firstAttribute="bottom" secondItem="dJ6-LR-vgw" secondAttribute="bottom" constant="12" id="cu7-kg-F1S"/>
|
||||
<constraint firstItem="TJG-ml-Bip" firstAttribute="centerX" secondItem="TCX-JN-r9B" secondAttribute="centerX" id="dyH-i4-I9s"/>
|
||||
<constraint firstItem="dJ6-LR-vgw" firstAttribute="top" secondItem="1qh-1U-0g1" secondAttribute="bottom" constant="25" id="e3D-aw-dQb"/>
|
||||
<constraint firstItem="TJG-ml-Bip" firstAttribute="centerY" secondItem="TCX-JN-r9B" secondAttribute="centerY" id="fAq-7E-JQR"/>
|
||||
<constraint firstItem="pvx-IE-jQQ" firstAttribute="leading" secondItem="1nL-zB-s12" secondAttribute="trailing" constant="12" id="gvw-jh-Rfk"/>
|
||||
<constraint firstItem="1qh-1U-0g1" firstAttribute="leading" secondItem="22W-Pg-BGs" secondAttribute="leading" constant="19" id="h6D-gY-uge"/>
|
||||
<constraint firstItem="1nL-zB-s12" firstAttribute="leading" secondItem="1qh-1U-0g1" secondAttribute="trailing" constant="12" id="tfl-1O-cAo"/>
|
||||
<constraint firstAttribute="trailing" secondItem="5QI-g5-Etm" secondAttribute="trailing" constant="19" id="tt7-w6-uG8"/>
|
||||
<constraint firstItem="1nL-zB-s12" firstAttribute="centerY" secondItem="1qh-1U-0g1" secondAttribute="centerY" id="vIW-PX-cda"/>
|
||||
<constraint firstItem="R5s-ew-2ma" firstAttribute="centerX" secondItem="1qh-1U-0g1" secondAttribute="centerX" id="xP7-mU-bAf"/>
|
||||
</constraints>
|
||||
<userDefinedRuntimeAttributes>
|
||||
<userDefinedRuntimeAttribute type="boolean" keyPath="layer.masksToBounds" value="YES"/>
|
||||
<userDefinedRuntimeAttribute type="number" keyPath="layer.cornerRadius">
|
||||
<integer key="value" value="8"/>
|
||||
</userDefinedRuntimeAttribute>
|
||||
</userDefinedRuntimeAttributes>
|
||||
</view>
|
||||
<button opaque="NO" contentMode="scaleToFill" contentHorizontalAlignment="center" contentVerticalAlignment="center" lineBreakMode="middleTruncation" translatesAutoresizingMaskIntoConstraints="NO" id="PHh-tS-kNh">
|
||||
<rect key="frame" x="27" y="412" width="258" height="42"/>
|
||||
<color key="backgroundColor" red="0.22745098039215686" green="0.73725490196078436" blue="0.42745098039215684" alpha="1" colorSpace="custom" customColorSpace="sRGB"/>
|
||||
<constraints>
|
||||
<constraint firstAttribute="height" constant="42" id="4KY-On-BUi"/>
|
||||
</constraints>
|
||||
<fontDescription key="fontDescription" type="system" pointSize="14"/>
|
||||
<inset key="imageEdgeInsets" minX="0.0" minY="0.0" maxX="2.2250738585072014e-308" maxY="0.0"/>
|
||||
<state key="normal" title="确认">
|
||||
<color key="titleColor" red="1" green="1" blue="1" alpha="1" colorSpace="custom" customColorSpace="sRGB"/>
|
||||
</state>
|
||||
<userDefinedRuntimeAttributes>
|
||||
<userDefinedRuntimeAttribute type="boolean" keyPath="layer.masksToBounds" value="YES"/>
|
||||
<userDefinedRuntimeAttribute type="number" keyPath="layer.cornerRadius">
|
||||
<integer key="value" value="21"/>
|
||||
</userDefinedRuntimeAttribute>
|
||||
</userDefinedRuntimeAttributes>
|
||||
<connections>
|
||||
<action selector="commitAction:" destination="iN0-l3-epB" eventType="touchUpInside" id="mL0-U7-wQJ"/>
|
||||
</connections>
|
||||
</button>
|
||||
</subviews>
|
||||
<color key="backgroundColor" systemColor="systemBackgroundColor"/>
|
||||
<constraints>
|
||||
<constraint firstItem="22W-Pg-BGs" firstAttribute="top" secondItem="r7a-Qi-IKE" secondAttribute="bottom" constant="8" id="33m-VS-2sZ"/>
|
||||
<constraint firstAttribute="bottom" secondItem="0pu-br-WLc" secondAttribute="bottom" id="4e3-Y4-Tac"/>
|
||||
<constraint firstAttribute="trailing" secondItem="PHh-tS-kNh" secondAttribute="trailing" constant="27" id="6W3-Sf-nfN"/>
|
||||
<constraint firstItem="Cey-rm-4VM" firstAttribute="centerX" secondItem="bjS-Eu-Wht" secondAttribute="centerX" id="8p7-Yq-Bsl"/>
|
||||
<constraint firstItem="22W-Pg-BGs" firstAttribute="trailing" secondItem="r7a-Qi-IKE" secondAttribute="trailing" id="9hR-zr-C7I"/>
|
||||
<constraint firstItem="0pu-br-WLc" firstAttribute="top" secondItem="bjS-Eu-Wht" secondAttribute="top" id="CAS-bj-ppe"/>
|
||||
<constraint firstItem="PHh-tS-kNh" firstAttribute="leading" secondItem="bjS-Eu-Wht" secondAttribute="leading" constant="27" id="F9D-GW-pPi"/>
|
||||
<constraint firstAttribute="trailing" secondItem="r7a-Qi-IKE" secondAttribute="trailing" constant="16" id="Irf-7a-IAZ"/>
|
||||
<constraint firstAttribute="width" constant="312" id="KlA-b8-6yJ"/>
|
||||
<constraint firstItem="Cey-rm-4VM" firstAttribute="top" secondItem="bjS-Eu-Wht" secondAttribute="top" constant="11" id="MZ1-ir-rFg"/>
|
||||
<constraint firstAttribute="bottom" secondItem="PHh-tS-kNh" secondAttribute="bottom" constant="16" id="RnS-Jh-Wrf"/>
|
||||
<constraint firstItem="r7a-Qi-IKE" firstAttribute="leading" secondItem="bjS-Eu-Wht" secondAttribute="leading" constant="16" id="U7n-mt-ov1"/>
|
||||
<constraint firstItem="PHh-tS-kNh" firstAttribute="top" secondItem="22W-Pg-BGs" secondAttribute="bottom" constant="16" id="Uie-am-bsR"/>
|
||||
<constraint firstItem="ag3-iq-BzI" firstAttribute="top" secondItem="bjS-Eu-Wht" secondAttribute="top" constant="2" id="Vyo-LV-CcW"/>
|
||||
<constraint firstItem="0pu-br-WLc" firstAttribute="leading" secondItem="bjS-Eu-Wht" secondAttribute="leading" id="aL1-WV-fhl"/>
|
||||
<constraint firstItem="22W-Pg-BGs" firstAttribute="leading" secondItem="r7a-Qi-IKE" secondAttribute="leading" id="hEM-xo-DUO"/>
|
||||
<constraint firstAttribute="trailing" secondItem="ag3-iq-BzI" secondAttribute="trailing" id="oMO-jd-Kff"/>
|
||||
<constraint firstAttribute="trailing" secondItem="0pu-br-WLc" secondAttribute="trailing" id="tGt-Bl-B7G"/>
|
||||
<constraint firstAttribute="height" constant="470" id="tsx-66-top"/>
|
||||
<constraint firstItem="r7a-Qi-IKE" firstAttribute="top" secondItem="Cey-rm-4VM" secondAttribute="bottom" constant="11" id="wJM-pt-KcG"/>
|
||||
</constraints>
|
||||
<userDefinedRuntimeAttributes>
|
||||
<userDefinedRuntimeAttribute type="boolean" keyPath="layer.masksToBounds" value="YES"/>
|
||||
<userDefinedRuntimeAttribute type="number" keyPath="layer.cornerRadius">
|
||||
<integer key="value" value="10"/>
|
||||
</userDefinedRuntimeAttribute>
|
||||
</userDefinedRuntimeAttributes>
|
||||
</view>
|
||||
</subviews>
|
||||
<viewLayoutGuide key="safeArea" id="vUN-kp-3ea"/>
|
||||
<color key="backgroundColor" red="0.0" green="0.0" blue="0.0" alpha="0.29999999999999999" colorSpace="custom" customColorSpace="sRGB"/>
|
||||
<constraints>
|
||||
<constraint firstItem="bjS-Eu-Wht" firstAttribute="centerY" secondItem="vUN-kp-3ea" secondAttribute="centerY" id="XT7-vk-EsU"/>
|
||||
<constraint firstItem="bjS-Eu-Wht" firstAttribute="centerX" secondItem="vUN-kp-3ea" secondAttribute="centerX" id="h5o-I1-Iu2"/>
|
||||
</constraints>
|
||||
<connections>
|
||||
<outlet property="bgView" destination="bjS-Eu-Wht" id="7GC-AR-cpg"/>
|
||||
<outlet property="closeBtn" destination="ag3-iq-BzI" id="a0h-Fk-P2z"/>
|
||||
<outlet property="commitBtn" destination="PHh-tS-kNh" id="iOS-08-gnl"/>
|
||||
<outlet property="currentPriceLabel" destination="yoB-8g-xXJ" id="ZmR-gN-kho"/>
|
||||
</connections>
|
||||
<point key="canvasLocation" x="139.69465648854961" y="19.718309859154932"/>
|
||||
</view>
|
||||
</objects>
|
||||
<resources>
|
||||
<image name="body_price_rule_bg" width="312" height="470"/>
|
||||
<image name="room_upseat_coin" width="16" height="16"/>
|
||||
<image name="wallet_close" width="11" height="11"/>
|
||||
<systemColor name="systemBackgroundColor">
|
||||
<color white="1" alpha="1" colorSpace="custom" customColorSpace="genericGamma22GrayColorSpace"/>
|
||||
</systemColor>
|
||||
</resources>
|
||||
</document>
|
||||
@@ -45,6 +45,8 @@ typedef NS_ENUM(NSInteger) {
|
||||
QXMainHeaderOptionTypeWallet = 35,
|
||||
/// 礼物墙
|
||||
QXMainHeaderOptionTypeGiftWall = 36,
|
||||
/// 身价
|
||||
QXMainHeaderOptionTypeBodyPrice = 37,
|
||||
}QXMainHeaderOptionType;
|
||||
@protocol QXMainHeaderViewDelegate <NSObject>
|
||||
|
||||
|
||||
@@ -56,6 +56,11 @@
|
||||
@property (nonatomic, strong)UILabel *walletMoneyLabel;
|
||||
@property (nonatomic, strong)UIButton *walletBtn;
|
||||
|
||||
@property (nonatomic, strong)UIImageView *bodyPriceBgImageView;
|
||||
@property (nonatomic, strong)UILabel *bodyPriceBottomLabel;
|
||||
@property (nonatomic, strong)UILabel *bodyPriceMoneyLabel;
|
||||
@property (nonatomic, strong)UIButton *bodyPriceBtn;
|
||||
|
||||
@property (nonatomic, strong)UIImageView *giftWallBgImageView;
|
||||
@property (nonatomic, strong)UILabel *giftWallTitleLabel;
|
||||
@property (nonatomic, strong)UIButton *giftWallBtn;
|
||||
@@ -240,7 +245,7 @@
|
||||
self.walletTitleLabel.textColor = RGB16(0x929196);
|
||||
[self.walletBgView addSubview:self.walletTitleLabel];
|
||||
|
||||
CGFloat walletWidth = (self.topBgView.width - 16*3) / 2;
|
||||
CGFloat walletWidth = (self.topBgView.width - 16*4) / 3;
|
||||
self.walletBgImageView = [[UIImageView alloc] initWithFrame:CGRectMake(self.topBgView.left, self.walletTitleLabel.bottom+8, walletWidth, 60)];
|
||||
self.walletBgImageView.backgroundColor = RGB16(0xFFE38E);
|
||||
[self.walletBgImageView addRoundedCornersWithRadius:8];
|
||||
@@ -254,15 +259,35 @@
|
||||
[self.walletBgView addSubview:self.walletBottomLabel];
|
||||
|
||||
|
||||
self.walletMoneyLabel = [[UILabel alloc] initWithFrame:CGRectMake(self.walletBgImageView.left, self.walletBgImageView.top+11, walletWidth, 25)];
|
||||
self.walletMoneyLabel = [[UILabel alloc] initWithFrame:CGRectMake(self.walletBgImageView.left, self.walletBgImageView.top+11, walletWidth, 27)];
|
||||
self.walletMoneyLabel.text = @"0";
|
||||
self.walletMoneyLabel.textAlignment = NSTextAlignmentCenter;
|
||||
self.walletMoneyLabel.font = [UIFont fontWithName:@"DIN Condensed" size:25];
|
||||
self.walletMoneyLabel.textColor = RGB16(0x222222);
|
||||
[self.walletBgView addSubview:self.walletMoneyLabel];
|
||||
|
||||
self.bodyPriceBgImageView = [[UIImageView alloc] initWithFrame:CGRectMake(self.walletBgImageView.right+16, self.walletBgImageView.top, walletWidth, self.walletBgImageView.height)];
|
||||
self.bodyPriceBgImageView.backgroundColor = RGB16(0xFFB68F);
|
||||
[self.bodyPriceBgImageView addRoundedCornersWithRadius:8];
|
||||
[self.walletBgView addSubview:self.bodyPriceBgImageView];
|
||||
|
||||
self.giftWallBgImageView = [[UIImageView alloc] initWithFrame:CGRectMake(self.walletBgImageView.right+16, self.walletBgImageView.top, walletWidth, self.walletBgImageView.height)];
|
||||
self.bodyPriceBottomLabel = [[UILabel alloc] initWithFrame:CGRectMake(self.bodyPriceBgImageView.left, self.bodyPriceBgImageView.bottom-14-11, walletWidth, 14)];
|
||||
self.bodyPriceBottomLabel.text = @"身价";
|
||||
self.bodyPriceBottomLabel.textAlignment = NSTextAlignmentCenter;
|
||||
self.bodyPriceBottomLabel.font = [UIFont systemFontOfSize:12];
|
||||
self.bodyPriceBottomLabel.textColor = RGB16(0x333333);
|
||||
[self.walletBgView addSubview:self.bodyPriceBottomLabel];
|
||||
|
||||
|
||||
self.bodyPriceMoneyLabel = [[UILabel alloc] initWithFrame:CGRectMake(self.bodyPriceBgImageView.left, self.walletBgImageView.top+11, walletWidth, 27)];
|
||||
self.bodyPriceMoneyLabel.text = @"1";
|
||||
self.bodyPriceMoneyLabel.textAlignment = NSTextAlignmentCenter;
|
||||
self.bodyPriceMoneyLabel.font = [UIFont fontWithName:@"DIN Condensed" size:25];
|
||||
self.bodyPriceMoneyLabel.textColor = RGB16(0x222222);
|
||||
[self.walletBgView addSubview:self.bodyPriceMoneyLabel];
|
||||
|
||||
|
||||
self.giftWallBgImageView = [[UIImageView alloc] initWithFrame:CGRectMake(self.bodyPriceBgImageView.right+16, self.walletBgImageView.top, walletWidth, self.walletBgImageView.height)];
|
||||
self.giftWallBgImageView.backgroundColor = RGB16(0xF1B3FF);
|
||||
[self.giftWallBgImageView addRoundedCornersWithRadius:8];
|
||||
[self.walletBgView addSubview:self.giftWallBgImageView];
|
||||
@@ -281,6 +306,10 @@
|
||||
self.giftWallBtn = [[UIButton alloc] initWithFrame:self.giftWallBgImageView.frame];
|
||||
[self.giftWallBtn addTarget:self action:@selector(giftWalltAction) forControlEvents:(UIControlEventTouchUpInside)];
|
||||
[self.walletBgView addSubview:self.giftWallBtn];
|
||||
|
||||
self.bodyPriceBtn = [[UIButton alloc] initWithFrame:self.bodyPriceBgImageView.frame];
|
||||
[self.bodyPriceBtn addTarget:self action:@selector(bodyPriceAction) forControlEvents:(UIControlEventTouchUpInside)];
|
||||
[self.walletBgView addSubview:self.bodyPriceBtn];
|
||||
}
|
||||
-(CGFloat)getHeight{
|
||||
return self.walletBgView.bottom+6;
|
||||
@@ -359,6 +388,12 @@
|
||||
}
|
||||
}
|
||||
|
||||
-(void)bodyPriceAction{
|
||||
if (self.delegate && [self.delegate respondsToSelector:@selector(didClickOptionType:)]) {
|
||||
[self.delegate didClickOptionType:QXMainHeaderOptionTypeBodyPrice];
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
-(void)gotoUserHomePageClick{
|
||||
if (self.delegate && [self.delegate respondsToSelector:@selector(didClickOptionType:)]) {
|
||||
@@ -367,6 +402,7 @@
|
||||
}
|
||||
-(void)setUserModel:(QXUserModel *)userModel{
|
||||
_userModel = userModel;
|
||||
self.nameLabel.text = userModel.market_value;
|
||||
[self.userHeaderView setHeadIcon:userModel.avatar dress:userModel.dress];
|
||||
[self.userHeaderView.nobilityImageView sd_setImageWithURL:[NSURL URLWithString:userModel.nobility_image]];
|
||||
if ([userModel.nickname_color isExist]) {
|
||||
|
||||
@@ -17,6 +17,8 @@ typedef NS_ENUM(NSInteger) {
|
||||
QXMineServiceTypeBackpack = 42,
|
||||
/// 设置
|
||||
QXMineServiceTypeSetting = 43,
|
||||
/// 家族
|
||||
QXMineServiceTypeFamily = 80,
|
||||
/// 帮助中心
|
||||
QXMineServiceTypeHelp = 44,
|
||||
/// 邀请
|
||||
|
||||
@@ -165,12 +165,17 @@
|
||||
md4.icon = @"service_setting";
|
||||
md4.type = QXMineServiceTypeSetting;
|
||||
|
||||
QXServiceModel *md5 = [[QXServiceModel alloc] init];
|
||||
md5.title = @"家族";
|
||||
md5.icon = @"service_setting";
|
||||
md5.type = QXMineServiceTypeFamily;
|
||||
|
||||
_serviceArray = [NSMutableArray arrayWithArray:@[
|
||||
md1,
|
||||
md2,
|
||||
md3,
|
||||
md4,
|
||||
md5
|
||||
]];
|
||||
}
|
||||
return _serviceArray;
|
||||
|
||||
@@ -12,6 +12,7 @@ NS_ASSUME_NONNULL_BEGIN
|
||||
@interface QXUserHomeHeaderView : UIView
|
||||
@property (nonatomic,strong)QXUserHomeModel *model;
|
||||
@property (nonatomic,strong)NSString *userId;
|
||||
-(void)headerStartPlay;
|
||||
@end
|
||||
|
||||
@interface QXTagImageCell : UICollectionViewCell
|
||||
|
||||
@@ -17,8 +17,10 @@
|
||||
#import "QXUserCpCardView.h"
|
||||
#import "QXGiftWallViewController.h"
|
||||
#import "QXHeartBeatSpaceViewController.h"
|
||||
#import "QXUserHomePageViewController.h"
|
||||
#import "QXHeartBeatSpaceViewController.h"
|
||||
|
||||
@interface QXUserHomeHeaderView()<UICollectionViewDelegate,UICollectionViewDataSource>
|
||||
@interface QXUserHomeHeaderView()<UICollectionViewDelegate,UICollectionViewDataSource,QXUserCpCardViewDelegate>
|
||||
//@property (nonatomic,strong) CKShimmerLabel * tempName;
|
||||
@property (nonatomic,strong) QXSeatHeaderView* headerView;
|
||||
@property (nonatomic,strong) UIView * whiteBgView;
|
||||
@@ -57,8 +59,6 @@
|
||||
|
||||
self.backgroundColor = [UIColor clearColor];
|
||||
self.headerView = [[QXSeatHeaderView alloc] initWithFrame:CGRectMake(32, 26, 70, 84)];
|
||||
|
||||
[self.headerView addRoundedCornersWithRadius:35];
|
||||
[self addSubview:self.headerView];
|
||||
[self.headerView mas_makeConstraints:^(MASConstraintMaker *make) {
|
||||
make.left.mas_equalTo(32);
|
||||
@@ -264,6 +264,7 @@
|
||||
[self.whiteBgView addSubview:self.cpDressView];
|
||||
|
||||
self.cpCardView = [[QXUserCpCardView alloc] init];
|
||||
self.cpCardView.delegate = self;
|
||||
self.cpCardView.hidden = YES;
|
||||
MJWeakSelf
|
||||
[self.cpCardView addTapBlock:^(id _Nonnull obj) {
|
||||
@@ -289,8 +290,15 @@
|
||||
make.height.mas_equalTo(ScaleWidth(40));
|
||||
make.top.equalTo(self.cpCardView.mas_bottom).offset(8);
|
||||
}];
|
||||
[self.whiteBgView bringSubviewToFront:self.playBtn];
|
||||
[self bringSubviewToFront:self.followBtn];
|
||||
|
||||
}
|
||||
-(void)headerStartPlay{
|
||||
[self.headerView playHWDMP4];
|
||||
[self.cpCardView headerStartPlay];
|
||||
[self.cpDressView headerStartPlay];
|
||||
}
|
||||
|
||||
-(void)giftWallAction{
|
||||
QXGiftWallViewController *vc = [[QXGiftWallViewController alloc] init];
|
||||
vc.userId = self.userId;
|
||||
@@ -314,6 +322,21 @@
|
||||
[[QXGlobal shareGlobal] chatWithUserID:self.model.user_id nickname:self.model.nickname avatar:self.model.avatar navagationController:self.navigationController];
|
||||
}
|
||||
}
|
||||
-(void)didClickHeaderViewUserId:(NSString*)userId{
|
||||
if ([userId isEqualToString:self.userId]) {
|
||||
return;
|
||||
}
|
||||
QXUserHomePageViewController *vc = [[QXUserHomePageViewController alloc] init];
|
||||
vc.user_id = userId;
|
||||
[self.viewController.navigationController pushViewController:vc animated:YES];
|
||||
}
|
||||
|
||||
-(void)didClickHeaderCardViewWithUserId:(NSString*)userId{
|
||||
QXHeartBeatSpaceViewController *vc = [[QXHeartBeatSpaceViewController alloc] init];
|
||||
vc.userId = userId;
|
||||
[self.viewController.navigationController pushViewController:vc animated:YES];
|
||||
}
|
||||
|
||||
|
||||
-(NSInteger)collectionView:(UICollectionView *)collectionView numberOfItemsInSection:(NSInteger)section{
|
||||
if (collectionView == self.collectionView) {
|
||||
@@ -335,6 +358,10 @@
|
||||
}
|
||||
|
||||
}
|
||||
-(void)setUserId:(NSString *)userId{
|
||||
_userId = userId;
|
||||
self.cpCardView.userId = self.userId;
|
||||
}
|
||||
-(void)setModel:(QXUserHomeModel *)model{
|
||||
_model = model;
|
||||
// model.nickname = @"大家好撒客户端撒大厦尽快";
|
||||
|
||||
@@ -19,7 +19,11 @@
|
||||
_model = model;
|
||||
self.nameLabel.text = model.title;
|
||||
[self.dressImageView sd_setImageWithURL:[NSURL URLWithString:model.base_image]];
|
||||
self.timeLabel.text = [NSString stringWithFormat:@"%@%@",model.remaining_day,QXText(@"天")];
|
||||
if ([model.type isEqualToString:@"12"]) {
|
||||
self.timeLabel.text = [NSString stringWithFormat:@"x%@",model.num];
|
||||
}else{
|
||||
self.timeLabel.text = [NSString stringWithFormat:@"%@%@",model.remaining_day,QXText(@"天")];
|
||||
}
|
||||
// if (model.is_using.intValue == 1) {
|
||||
// self.selecteBtn.selected = NO;
|
||||
// }else{
|
||||
|
||||
@@ -11,21 +11,21 @@
|
||||
<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="QXDressCell">
|
||||
<rect key="frame" x="0.0" y="0.0" width="254" height="313"/>
|
||||
<rect key="frame" x="0.0" y="0.0" width="104" height="137"/>
|
||||
<autoresizingMask key="autoresizingMask"/>
|
||||
<view key="contentView" opaque="NO" clipsSubviews="YES" multipleTouchEnabled="YES" contentMode="center">
|
||||
<rect key="frame" x="0.0" y="0.0" width="254" height="313"/>
|
||||
<rect key="frame" x="0.0" y="0.0" width="104" height="137"/>
|
||||
<autoresizingMask key="autoresizingMask" flexibleMaxX="YES" flexibleMaxY="YES"/>
|
||||
<subviews>
|
||||
<view contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="n0W-rO-R0R">
|
||||
<rect key="frame" x="0.0" y="0.0" width="254" height="313"/>
|
||||
<rect key="frame" x="0.0" y="0.0" width="104" height="137"/>
|
||||
<subviews>
|
||||
<button opaque="NO" userInteractionEnabled="NO" contentMode="scaleToFill" contentHorizontalAlignment="center" contentVerticalAlignment="center" buttonType="system" lineBreakMode="middleTruncation" translatesAutoresizingMaskIntoConstraints="NO" id="Gk9-jf-oXA">
|
||||
<rect key="frame" x="0.0" y="0.0" width="254" height="313"/>
|
||||
<rect key="frame" x="0.0" y="0.0" width="104" height="137"/>
|
||||
<inset key="imageEdgeInsets" minX="0.0" minY="0.0" maxX="2.2250738585072014e-308" maxY="0.0"/>
|
||||
</button>
|
||||
<label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="Label" textAlignment="center" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="i9y-iF-N7k">
|
||||
<rect key="frame" x="10" y="281" width="234" height="21"/>
|
||||
<rect key="frame" x="10" y="105" width="84" height="21"/>
|
||||
<constraints>
|
||||
<constraint firstAttribute="height" constant="21" id="rrg-mb-mKp"/>
|
||||
</constraints>
|
||||
@@ -34,7 +34,7 @@
|
||||
<nil key="highlightedColor"/>
|
||||
</label>
|
||||
<imageView clipsSubviews="YES" userInteractionEnabled="NO" contentMode="scaleAspectFit" horizontalHuggingPriority="251" verticalHuggingPriority="251" translatesAutoresizingMaskIntoConstraints="NO" id="dze-FS-DlP">
|
||||
<rect key="frame" x="10" y="25" width="234" height="246"/>
|
||||
<rect key="frame" x="10" y="25" width="84" height="70"/>
|
||||
</imageView>
|
||||
</subviews>
|
||||
<constraints>
|
||||
@@ -58,9 +58,9 @@
|
||||
</userDefinedRuntimeAttributes>
|
||||
</view>
|
||||
<view contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="Jon-rv-RWs">
|
||||
<rect key="frame" x="213.66666666666666" y="0.0" width="40.333333333333343" height="15"/>
|
||||
<rect key="frame" x="63.666666666666657" y="0.0" width="40.333333333333343" height="15"/>
|
||||
<subviews>
|
||||
<imageView clipsSubviews="YES" userInteractionEnabled="NO" contentMode="scaleAspectFit" horizontalHuggingPriority="251" verticalHuggingPriority="251" image="gift_number_bg" translatesAutoresizingMaskIntoConstraints="NO" id="acA-Gl-J3f">
|
||||
<imageView clipsSubviews="YES" userInteractionEnabled="NO" contentMode="scaleToFill" horizontalHuggingPriority="251" verticalHuggingPriority="251" image="gift_number_bg" translatesAutoresizingMaskIntoConstraints="NO" id="acA-Gl-J3f">
|
||||
<rect key="frame" x="0.0" y="0.0" width="40.333333333333336" height="15"/>
|
||||
</imageView>
|
||||
<label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="30天" textAlignment="center" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="fQr-Il-R17">
|
||||
@@ -107,6 +107,6 @@
|
||||
</collectionViewCell>
|
||||
</objects>
|
||||
<resources>
|
||||
<image name="gift_number_bg" width="35" height="13"/>
|
||||
<image name="gift_number_bg" width="34" height="16"/>
|
||||
</resources>
|
||||
</document>
|
||||
|
||||
17
QXLive/Mine(音域)/View/亲密关系/QXHeartBeatLevelRuleView.h
Normal file
17
QXLive/Mine(音域)/View/亲密关系/QXHeartBeatLevelRuleView.h
Normal file
@@ -0,0 +1,17 @@
|
||||
//
|
||||
// QXHeartBeatLevelRuleView.h
|
||||
// QXLive
|
||||
//
|
||||
// Created by 启星 on 2025/11/22.
|
||||
//
|
||||
|
||||
#import <UIKit/UIKit.h>
|
||||
|
||||
NS_ASSUME_NONNULL_BEGIN
|
||||
|
||||
@interface QXHeartBeatLevelRuleView : UIView
|
||||
@property (nonatomic,strong)NSString*rule;
|
||||
-(void)showInView:(UIView *)view;
|
||||
@end
|
||||
|
||||
NS_ASSUME_NONNULL_END
|
||||
123
QXLive/Mine(音域)/View/亲密关系/QXHeartBeatLevelRuleView.m
Normal file
123
QXLive/Mine(音域)/View/亲密关系/QXHeartBeatLevelRuleView.m
Normal file
@@ -0,0 +1,123 @@
|
||||
//
|
||||
// QXHeartBeatLevelRuleView.m
|
||||
// QXLive
|
||||
//
|
||||
// Created by 启星 on 2025/11/22.
|
||||
//
|
||||
|
||||
#import "QXHeartBeatLevelRuleView.h"
|
||||
#import <WebKit/WebKit.h>
|
||||
@interface QXHeartBeatLevelRuleView()
|
||||
@property(nonatomic,strong)WKWebView *contentWebView;
|
||||
@property(nonatomic,strong)UIView* bgView;
|
||||
@property(nonatomic,strong)UIButton* closeBtn;
|
||||
@end
|
||||
@implementation QXHeartBeatLevelRuleView
|
||||
|
||||
|
||||
- (instancetype)init
|
||||
{
|
||||
self = [super init];
|
||||
if (self) {
|
||||
self.frame = CGRectMake(0, 0, SCREEN_WIDTH, SCREEN_HEIGHT);
|
||||
[self initSubviews];
|
||||
}
|
||||
return self;
|
||||
}
|
||||
-(void)initSubviews{
|
||||
self.backgroundColor = [UIColor colorWithWhite:0.0 alpha:0.3];
|
||||
|
||||
self.bgView = [[UIView alloc] initWithFrame:CGRectMake((self.width-ScaleWidth(312))/2, (self.height-ScaleWidth(492))/2-40, ScaleWidth(312), ScaleWidth(492))];
|
||||
[self.bgView addRoundedCornersWithRadius:16 byRoundingCorners:(UIRectCornerTopLeft|UIRectCornerTopRight)];
|
||||
[self addSubview:self.bgView];
|
||||
|
||||
[self.bgView addSubview:self.contentWebView];
|
||||
self.closeBtn = [[UIButton alloc] initWithFrame:CGRectMake((self.width-40)/2, self.bgView.bottom+10, 40, 40)];
|
||||
[self.closeBtn setBackgroundImage:[UIImage imageNamed:@"home_white_close"] forState:(UIControlStateNormal)];
|
||||
[self.closeBtn addTarget:self action:@selector(closeAction) forControlEvents:(UIControlEventTouchUpInside)];
|
||||
[self addSubview:self.closeBtn];
|
||||
[self.closeBtn mas_makeConstraints:^(MASConstraintMaker *make) {
|
||||
make.width.height.mas_equalTo(40);
|
||||
make.centerX.equalTo(self);
|
||||
make.top.mas_equalTo(self.bgView.bottom+10);
|
||||
}];
|
||||
}
|
||||
|
||||
|
||||
-(void)setRule:(NSString *)rule{
|
||||
_rule = rule;
|
||||
[self loadData];
|
||||
}
|
||||
- (void)loadData {
|
||||
NSURL* url=[NSURL URLWithString:self.rule];
|
||||
NSURLRequest *request =[NSURLRequest requestWithURL:url];
|
||||
[self.contentWebView loadRequest:request];
|
||||
}
|
||||
|
||||
|
||||
-(void)closeAction{
|
||||
[self hide];
|
||||
}
|
||||
|
||||
#pragma mark - getters and setters
|
||||
- (WKWebView *)contentWebView {
|
||||
if (!_contentWebView) {
|
||||
//设置网页的配置文件
|
||||
WKWebViewConfiguration * configuration = [[WKWebViewConfiguration alloc]init];
|
||||
// 允许可以与网页交互,选择视图
|
||||
configuration.selectionGranularity = YES;
|
||||
// web内容处理池pr
|
||||
configuration.processPool = [[WKProcessPool alloc] init];
|
||||
//自定义配置,一般用于 js调用oc方法(OC拦截URL中的数据做自定义操作)
|
||||
WKUserContentController * UserContentController = [[WKUserContentController alloc]init];
|
||||
// 是否支持记忆读取
|
||||
configuration.suppressesIncrementalRendering = NO;
|
||||
// 允许用户更改网页的设置
|
||||
configuration.preferences.javaScriptEnabled = YES;
|
||||
configuration.preferences.javaScriptCanOpenWindowsAutomatically = YES;
|
||||
configuration.userContentController = UserContentController;
|
||||
// 此处一定要做判断,因为是iOS9之后才有的方法,否则在iOS8下会崩溃
|
||||
if ([[UIDevice currentDevice].systemVersion floatValue] >= 9.0) {
|
||||
//允许视频播放
|
||||
configuration.allowsAirPlayForMediaPlayback = YES;
|
||||
// 允许在线播放
|
||||
configuration.allowsInlineMediaPlayback = YES;
|
||||
//开启手势触摸 默认设置就是NO。在ios8系统中会导致手势问题,程序崩溃
|
||||
_contentWebView.allowsBackForwardNavigationGestures = YES;
|
||||
}
|
||||
_contentWebView = [[WKWebView alloc] initWithFrame:CGRectMake(0, 0, self.bgView.width, self.bgView.height) configuration:configuration];
|
||||
_contentWebView.backgroundColor = UIColor.clearColor;
|
||||
[_contentWebView addRoundedCornersWithRadius:6];
|
||||
_contentWebView.opaque = NO;
|
||||
//适应你设定的尺寸
|
||||
[_contentWebView sizeToFit];
|
||||
_contentWebView.scrollView.showsVerticalScrollIndicator = NO;
|
||||
_contentWebView.scrollView.backgroundColor = [UIColor clearColor];
|
||||
_contentWebView.scrollView.bounces = NO;
|
||||
// 设置代理
|
||||
}
|
||||
return _contentWebView;
|
||||
}
|
||||
|
||||
|
||||
|
||||
-(void)showInView:(UIView *)view{
|
||||
self.bgView.y = -SCREEN_HEIGHT;
|
||||
[view addSubview:self];
|
||||
[UIView animateWithDuration:0.3 animations:^{
|
||||
self.bgView.y = (self.height-ScaleWidth(492))/2-40;
|
||||
} completion:^(BOOL finished) {
|
||||
self.closeBtn.hidden = NO;
|
||||
}];
|
||||
}
|
||||
-(void)hide{
|
||||
self.closeBtn.hidden = YES;
|
||||
[UIView animateWithDuration:0.3 animations:^{
|
||||
self.bgView.y = SCREEN_HEIGHT;
|
||||
} completion:^(BOOL finished) {
|
||||
|
||||
[self removeFromSuperview];
|
||||
}];
|
||||
}
|
||||
|
||||
@end
|
||||
22
QXLive/Mine(音域)/View/亲密关系/QXHeartBeatSpaceRecordCell.h
Normal file
22
QXLive/Mine(音域)/View/亲密关系/QXHeartBeatSpaceRecordCell.h
Normal file
@@ -0,0 +1,22 @@
|
||||
//
|
||||
// QXHeartBeatSpaceRecordCell.h
|
||||
// QXLive
|
||||
//
|
||||
// Created by 启星 on 2025/11/22.
|
||||
//
|
||||
|
||||
#import <UIKit/UIKit.h>
|
||||
|
||||
NS_ASSUME_NONNULL_BEGIN
|
||||
|
||||
@interface QXHeartBeatSpaceRecordCell : UITableViewCell
|
||||
@property (weak, nonatomic) IBOutlet QXSeatHeaderView *headerView;
|
||||
@property (weak, nonatomic) IBOutlet UILabel *nameLabel;
|
||||
@property (weak, nonatomic) IBOutlet UILabel *timeLabel;
|
||||
@property (weak, nonatomic) IBOutlet UILabel *contentLabel;
|
||||
@property (strong, nonatomic)QXUserHeartBeatSpaceLogModel *model;
|
||||
@property (strong, nonatomic)NSString *userId;
|
||||
+(instancetype)cellWithTableView:(UITableView *)tableView;
|
||||
@end
|
||||
|
||||
NS_ASSUME_NONNULL_END
|
||||
59
QXLive/Mine(音域)/View/亲密关系/QXHeartBeatSpaceRecordCell.m
Normal file
59
QXLive/Mine(音域)/View/亲密关系/QXHeartBeatSpaceRecordCell.m
Normal file
@@ -0,0 +1,59 @@
|
||||
//
|
||||
// QXHeartBeatSpaceRecordCell.m
|
||||
// QXLive
|
||||
//
|
||||
// Created by 启星 on 2025/11/22.
|
||||
//
|
||||
|
||||
#import "QXHeartBeatSpaceRecordCell.h"
|
||||
|
||||
@implementation QXHeartBeatSpaceRecordCell
|
||||
+(instancetype)cellWithTableView:(UITableView *)tableView{
|
||||
static NSString *cellId = @"QXHeartBeatSpaceRecordCell";
|
||||
QXHeartBeatSpaceRecordCell *cell = [tableView dequeueReusableCellWithIdentifier:cellId];
|
||||
if (!cell) {
|
||||
cell = [[NSBundle mainBundle] loadNibNamed:cellId owner:nil options:nil].lastObject;
|
||||
cell.backgroundColor = [UIColor clearColor];
|
||||
cell.contentView.backgroundColor = [UIColor clearColor];
|
||||
}
|
||||
return cell;
|
||||
}
|
||||
-(void)setUserId:(NSString *)userId{
|
||||
_userId = userId;
|
||||
}
|
||||
|
||||
-(void)setModel:(QXUserHeartBeatSpaceLogModel *)model{
|
||||
_model = model;
|
||||
[self.headerView setHeadIcon:model.from_user_info.avatar dress:model.from_user_info.dress];
|
||||
NSDate *date = [NSDate dateWithTimeIntervalSince1970:model.createtime.longLongValue]; //此处根据项目需求,选择是否除以1000 , 如果时间戳精确到秒则去掉1000
|
||||
NSDateFormatter *formatter = [[NSDateFormatter alloc]init];
|
||||
formatter.dateFormat = @"yyyy-MM-dd HH:mm:ss";
|
||||
NSString*time = [formatter stringFromDate:date];
|
||||
self.timeLabel.text = time;
|
||||
self.nameLabel.text = model.from_user_info.nickname;
|
||||
UIColor *nameColor = RGB16(0xFF53CC);
|
||||
UIColor *contentNameColor = RGB16(0x4A89FF);
|
||||
NSString *content = [NSString stringWithFormat:@"%@",model.remark];
|
||||
NSMutableAttributedString *attr = [[NSMutableAttributedString alloc] initWithString:content];
|
||||
|
||||
if ([model.from_user_id isEqualToString:self.userId] ) {
|
||||
self.nameLabel.textColor = nameColor;
|
||||
[attr yy_setColor:contentNameColor range:[content rangeOfString:model.to_user_info.nickname]];
|
||||
}else{
|
||||
self.nameLabel.textColor = contentNameColor;
|
||||
[attr yy_setColor:nameColor range:[content rangeOfString:model.to_user_info.nickname]];
|
||||
}
|
||||
self.contentLabel.attributedText = attr;
|
||||
}
|
||||
- (void)awakeFromNib {
|
||||
[super awakeFromNib];
|
||||
// Initialization code
|
||||
}
|
||||
|
||||
- (void)setSelected:(BOOL)selected animated:(BOOL)animated {
|
||||
[super setSelected:selected animated:animated];
|
||||
|
||||
// Configure the view for the selected state
|
||||
}
|
||||
|
||||
@end
|
||||
86
QXLive/Mine(音域)/View/亲密关系/QXHeartBeatSpaceRecordCell.xib
Normal file
86
QXLive/Mine(音域)/View/亲密关系/QXHeartBeatSpaceRecordCell.xib
Normal file
@@ -0,0 +1,86 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<document type="com.apple.InterfaceBuilder3.CocoaTouch.XIB" version="3.0" toolsVersion="23504" 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="23506"/>
|
||||
<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"/>
|
||||
<tableViewCell contentMode="scaleToFill" selectionStyle="none" indentationWidth="10" rowHeight="307" id="KGk-i7-Jjw" customClass="QXHeartBeatSpaceRecordCell">
|
||||
<rect key="frame" x="0.0" y="0.0" width="516" height="307"/>
|
||||
<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="516" height="307"/>
|
||||
<autoresizingMask key="autoresizingMask"/>
|
||||
<subviews>
|
||||
<view contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="kDB-P0-eAc" customClass="QXSeatHeaderView">
|
||||
<rect key="frame" x="16" y="16" width="48" height="48"/>
|
||||
<constraints>
|
||||
<constraint firstAttribute="width" constant="48" id="2z8-8O-4vb"/>
|
||||
<constraint firstAttribute="height" constant="48" id="aX5-8B-RZa"/>
|
||||
</constraints>
|
||||
</view>
|
||||
<label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="Label" textAlignment="natural" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="ZRa-V2-B3h">
|
||||
<rect key="frame" x="72" y="20" width="35.333333333333343" height="20"/>
|
||||
<constraints>
|
||||
<constraint firstAttribute="height" constant="20" id="2S3-wj-dYF"/>
|
||||
</constraints>
|
||||
<fontDescription key="fontDescription" type="system" pointSize="14"/>
|
||||
<color key="textColor" red="1" green="0.32549019607843138" blue="0.80000000000000004" alpha="1" colorSpace="custom" customColorSpace="sRGB"/>
|
||||
<nil key="highlightedColor"/>
|
||||
</label>
|
||||
<label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="Label" textAlignment="natural" lineBreakMode="tailTruncation" numberOfLines="0" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="uCL-M4-5Hx">
|
||||
<rect key="frame" x="72" y="68" width="408" height="223"/>
|
||||
<fontDescription key="fontDescription" type="system" pointSize="14"/>
|
||||
<color key="textColor" red="0.20000000000000001" green="0.20000000000000001" blue="0.20000000000000001" alpha="1" colorSpace="custom" customColorSpace="sRGB"/>
|
||||
<nil key="highlightedColor"/>
|
||||
</label>
|
||||
<view contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="3qb-wi-G90">
|
||||
<rect key="frame" x="16" y="306" width="484" height="1"/>
|
||||
<color key="backgroundColor" red="0.81568627450980391" green="0.81568627450980391" blue="0.81568627450980391" alpha="1" colorSpace="custom" customColorSpace="sRGB"/>
|
||||
<constraints>
|
||||
<constraint firstAttribute="height" constant="1" id="wlx-KN-3DQ"/>
|
||||
</constraints>
|
||||
</view>
|
||||
<label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="Label" textAlignment="natural" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="AYF-oO-8tq">
|
||||
<rect key="frame" x="72" y="43" width="428" height="17"/>
|
||||
<constraints>
|
||||
<constraint firstAttribute="height" constant="17" id="B9l-Hd-p4f"/>
|
||||
</constraints>
|
||||
<fontDescription key="fontDescription" type="system" pointSize="12"/>
|
||||
<color key="textColor" red="0.59999999999999998" green="0.59999999999999998" blue="0.59999999999999998" alpha="1" colorSpace="custom" customColorSpace="sRGB"/>
|
||||
<nil key="highlightedColor"/>
|
||||
</label>
|
||||
</subviews>
|
||||
<constraints>
|
||||
<constraint firstAttribute="trailing" secondItem="3qb-wi-G90" secondAttribute="trailing" constant="16" id="91k-0N-Wpr"/>
|
||||
<constraint firstItem="ZRa-V2-B3h" firstAttribute="top" secondItem="kDB-P0-eAc" secondAttribute="top" constant="4" id="Bny-jR-cys"/>
|
||||
<constraint firstAttribute="bottom" secondItem="uCL-M4-5Hx" secondAttribute="bottom" constant="16" id="CrK-CK-4Hs"/>
|
||||
<constraint firstItem="uCL-M4-5Hx" firstAttribute="leading" secondItem="ZRa-V2-B3h" secondAttribute="leading" id="P89-5y-Jqq"/>
|
||||
<constraint firstAttribute="trailingMargin" secondItem="uCL-M4-5Hx" secondAttribute="trailing" constant="16" id="VUI-pF-Aev"/>
|
||||
<constraint firstItem="kDB-P0-eAc" firstAttribute="leading" secondItem="H2p-sc-9uM" secondAttribute="leading" constant="16" id="Xor-lq-pkP"/>
|
||||
<constraint firstItem="uCL-M4-5Hx" firstAttribute="top" secondItem="AYF-oO-8tq" secondAttribute="bottom" constant="8" id="XuR-uq-ICR"/>
|
||||
<constraint firstAttribute="bottom" secondItem="3qb-wi-G90" secondAttribute="bottom" id="YpW-IW-hTe"/>
|
||||
<constraint firstAttribute="trailing" secondItem="AYF-oO-8tq" secondAttribute="trailing" constant="16" id="fAd-RQ-39L"/>
|
||||
<constraint firstItem="kDB-P0-eAc" firstAttribute="top" secondItem="H2p-sc-9uM" secondAttribute="top" constant="16" id="h9b-b5-5UI"/>
|
||||
<constraint firstItem="ZRa-V2-B3h" firstAttribute="leading" secondItem="kDB-P0-eAc" secondAttribute="trailing" constant="8" id="hLc-EK-j17"/>
|
||||
<constraint firstItem="AYF-oO-8tq" firstAttribute="leading" secondItem="ZRa-V2-B3h" secondAttribute="leading" id="jhq-zF-K72"/>
|
||||
<constraint firstItem="3qb-wi-G90" firstAttribute="leading" secondItem="H2p-sc-9uM" secondAttribute="leading" constant="16" id="sub-hr-L9S"/>
|
||||
<constraint firstItem="AYF-oO-8tq" firstAttribute="bottom" secondItem="kDB-P0-eAc" secondAttribute="bottom" constant="-4" id="u8f-kW-vSK"/>
|
||||
</constraints>
|
||||
</tableViewCellContentView>
|
||||
<viewLayoutGuide key="safeArea" id="aW0-zy-SZf"/>
|
||||
<connections>
|
||||
<outlet property="contentLabel" destination="uCL-M4-5Hx" id="Tco-Mw-PN0"/>
|
||||
<outlet property="headerView" destination="kDB-P0-eAc" id="qMe-nZ-45F"/>
|
||||
<outlet property="nameLabel" destination="ZRa-V2-B3h" id="uYk-gZ-QRb"/>
|
||||
<outlet property="timeLabel" destination="AYF-oO-8tq" id="WLP-Ta-oye"/>
|
||||
</connections>
|
||||
<point key="canvasLocation" x="287.02290076335879" y="112.32394366197184"/>
|
||||
</tableViewCell>
|
||||
</objects>
|
||||
</document>
|
||||
@@ -119,6 +119,7 @@
|
||||
|
||||
-(void)setUserId:(NSString *)userId{
|
||||
_userId = userId;
|
||||
self.cpCardView.userId = userId;
|
||||
self.page = 1;
|
||||
[self getList];
|
||||
}
|
||||
@@ -159,6 +160,7 @@
|
||||
QXMoreIntimateViewController *vc = [[QXMoreIntimateViewController alloc] init];
|
||||
vc.userId = self.userId;
|
||||
vc.relation_id = md.relation_list.firstObject.relation_id;
|
||||
vc.relation_name = md.relation_name;
|
||||
[self.viewController.navigationController pushViewController:vc animated:YES];
|
||||
}
|
||||
|
||||
@@ -175,11 +177,13 @@
|
||||
if (md.relation_list.count > 1) {
|
||||
QXIntimateListCell*cell = [QXIntimateListCell cellWithTableView:tableView];
|
||||
QXRoomBestFriendListModel *md = self.dataArray[indexPath.section];
|
||||
cell.userId = self.userId;
|
||||
cell.model = md;
|
||||
return cell;
|
||||
}else{
|
||||
MJWeakSelf
|
||||
QXIntimateMoreListCell *cell = [QXIntimateMoreListCell cellWithTableView:tableView];
|
||||
cell.userId = self.userId;
|
||||
cell.model = md.relation_list.firstObject;
|
||||
cell.deleteSuccessBlock = ^(QXRelationshipListModel * _Nonnull model) {
|
||||
weakSelf.page = 1;
|
||||
@@ -235,7 +239,7 @@
|
||||
|
||||
-(CGFloat)tableView:(UITableView *)tableView heightForRowAtIndexPath:(NSIndexPath *)indexPath{
|
||||
QXRoomBestFriendListModel *md = self.dataArray[indexPath.section];
|
||||
if (md.relation_list.count > 1) {
|
||||
if (md.relation_list.count == 1) {
|
||||
return ScaleWidth(92)+18;
|
||||
}else{
|
||||
if (md.relation_list.count == 0) {
|
||||
|
||||
@@ -6,11 +6,13 @@
|
||||
//
|
||||
|
||||
#import <UIKit/UIKit.h>
|
||||
|
||||
#import "QXUserCpCardView.h"
|
||||
NS_ASSUME_NONNULL_BEGIN
|
||||
|
||||
@interface QXIntimateCpCell : UITableViewCell
|
||||
@property (nonatomic,strong)QXUserCpInfoModel *model;
|
||||
@property (nonatomic,strong)NSString *userId;
|
||||
@property (nonatomic,weak)id<QXUserCpCardViewDelegate>delegate;
|
||||
+(instancetype)cellWithTableView:(UITableView *)tableView;
|
||||
@end
|
||||
|
||||
|
||||
@@ -6,8 +6,8 @@
|
||||
//
|
||||
|
||||
#import "QXIntimateCpCell.h"
|
||||
#import "QXUserCpCardView.h"
|
||||
@interface QXIntimateCpCell()
|
||||
|
||||
@interface QXIntimateCpCell()<QXUserCpCardViewDelegate>
|
||||
@property (nonatomic,strong)QXUserCpCardView *cardView;
|
||||
@end
|
||||
@implementation QXIntimateCpCell
|
||||
@@ -34,9 +34,13 @@
|
||||
_model = model;
|
||||
self.cardView.model = model;
|
||||
}
|
||||
|
||||
-(void)setUserId:(NSString *)userId{
|
||||
_userId = userId;
|
||||
self.cardView.userId = self.userId;
|
||||
}
|
||||
-(void)initSubviews{
|
||||
self.cardView = [[QXUserCpCardView alloc] init];
|
||||
self.cardView.delegate = self;
|
||||
[self.contentView addSubview:self.cardView];
|
||||
[self.cardView mas_makeConstraints:^(MASConstraintMaker *make) {
|
||||
make.left.mas_equalTo(24);
|
||||
@@ -44,6 +48,17 @@
|
||||
make.top.bottom.equalTo(self.contentView);
|
||||
}];
|
||||
}
|
||||
|
||||
-(void)didClickHeaderCardViewWithUserId:(NSString *)userId{
|
||||
if (self.delegate && [self.delegate respondsToSelector:@selector(didClickHeaderCardViewWithUserId:)]) {
|
||||
[self.delegate didClickHeaderCardViewWithUserId:userId];
|
||||
}
|
||||
}
|
||||
-(void)didClickHeaderViewUserId:(NSString *)userId{
|
||||
if (self.delegate && [self.delegate respondsToSelector:@selector(didClickHeaderViewUserId:)]) {
|
||||
[self.delegate didClickHeaderViewUserId:userId];
|
||||
}
|
||||
}
|
||||
- (void)awakeFromNib {
|
||||
[super awakeFromNib];
|
||||
// Initialization code
|
||||
|
||||
@@ -11,6 +11,7 @@ NS_ASSUME_NONNULL_BEGIN
|
||||
|
||||
@interface QXIntimateListCell : UITableViewCell
|
||||
@property (nonatomic,strong)QXRoomBestFriendListModel *model;
|
||||
@property (nonatomic,strong)NSString *userId;
|
||||
+(instancetype)cellWithTableView:(UITableView *)tableView;
|
||||
@end
|
||||
|
||||
|
||||
@@ -7,7 +7,7 @@
|
||||
|
||||
#import "QXIntimateListCell.h"
|
||||
#import "QXIntimateUserCell.h"
|
||||
|
||||
#import "QXUserHomePageViewController.h"
|
||||
@interface QXIntimateListCell()<UICollectionViewDataSource,UICollectionViewDelegate>
|
||||
@property (nonatomic,strong)UICollectionView *collectionView;
|
||||
@end
|
||||
@@ -68,9 +68,22 @@
|
||||
}
|
||||
-(__kindof UICollectionViewCell *)collectionView:(UICollectionView *)collectionView cellForItemAtIndexPath:(NSIndexPath *)indexPath{
|
||||
QXIntimateUserCell *cell = [collectionView dequeueReusableCellWithReuseIdentifier:@"QXIntimateUserCell" forIndexPath:indexPath];
|
||||
cell.userId = self.userId;
|
||||
cell.model = self.model.relation_list[indexPath.row];
|
||||
return cell;
|
||||
}
|
||||
-(void)collectionView:(UICollectionView *)collectionView didSelectItemAtIndexPath:(NSIndexPath *)indexPath{
|
||||
QXRelationshipListModel *md = self.model.relation_list[indexPath.row];
|
||||
NSString *userId = @"";
|
||||
if ([md.user_id1 isEqualToString:self.userId]) {
|
||||
userId = md.user_id2;
|
||||
}else{
|
||||
userId = md.user_id1;
|
||||
}
|
||||
QXUserHomePageViewController *vc = [[QXUserHomePageViewController alloc] init];
|
||||
vc.user_id = userId;
|
||||
[self.viewController.navigationController pushViewController:vc animated:YES];
|
||||
}
|
||||
- (void)awakeFromNib {
|
||||
[super awakeFromNib];
|
||||
// Initialization code
|
||||
|
||||
@@ -8,7 +8,12 @@
|
||||
#import <UIKit/UIKit.h>
|
||||
|
||||
NS_ASSUME_NONNULL_BEGIN
|
||||
@protocol QXIntimateMoreListCellDelegate <NSObject>
|
||||
|
||||
@optional
|
||||
-(void)didClickHeaderWithUserId:(NSString*)userId;
|
||||
|
||||
@end
|
||||
@interface QXIntimateMoreListCell : UITableViewCell
|
||||
@property (weak, nonatomic) IBOutlet QXSeatHeaderView *leftHeaderView;
|
||||
@property (weak, nonatomic) IBOutlet UIImageView *leftSexImageView;
|
||||
@@ -18,8 +23,10 @@ NS_ASSUME_NONNULL_BEGIN
|
||||
@property (weak, nonatomic) IBOutlet UILabel *rightNameLabel;
|
||||
@property (weak, nonatomic) IBOutlet UILabel *timeLabel;
|
||||
@property (nonatomic,strong)QXRelationshipListModel *model;
|
||||
@property (nonatomic,strong)NSString *userId;
|
||||
@property (nonatomic,copy)void(^topSuccessBlock)(QXRelationshipListModel*model);
|
||||
@property (nonatomic,copy)void(^deleteSuccessBlock)(QXRelationshipListModel*model);
|
||||
@property (nonatomic,weak)id<QXIntimateMoreListCellDelegate>delegate;
|
||||
+(instancetype)cellWithTableView:(UITableView *)tableView;
|
||||
@end
|
||||
|
||||
|
||||
@@ -67,25 +67,41 @@
|
||||
}];
|
||||
}
|
||||
|
||||
- (IBAction)leftAction:(id)sender {
|
||||
if (self.delegate && [self.delegate respondsToSelector:@selector(didClickHeaderWithUserId:)]) {
|
||||
[self.delegate didClickHeaderWithUserId:self.userId];
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
- (IBAction)rightAction:(id)sender {
|
||||
NSString *userId = @"";
|
||||
if ([self.model.user_id1 isEqualToString:self.userId]) {
|
||||
userId = self.model.user_id2;
|
||||
}else{
|
||||
userId = self.model.user_id1;
|
||||
}
|
||||
if (self.delegate && [self.delegate respondsToSelector:@selector(didClickHeaderWithUserId:)]) {
|
||||
[self.delegate didClickHeaderWithUserId:userId];
|
||||
}
|
||||
}
|
||||
|
||||
-(void)setModel:(QXRelationshipListModel *)model{
|
||||
_model = model;
|
||||
if ([model.user_id1 isEqualToString:QXGlobal.shareGlobal.loginModel.user_id]) {
|
||||
[self.leftHeaderView setHeadIcon:model.avatar2 dress:@""];
|
||||
self.leftNameLabel.text = model.nickname2;
|
||||
self.leftSexImageView.image = [UIImage imageNamed:model.sex2.intValue == 1?@"user_sex_boy":@"user_sex_girl"];
|
||||
[self.rightHeaderView setHeadIcon:model.avatar1 dress:@""];
|
||||
self.rightNameLabel.text = model.nickname1;
|
||||
self.rightSexImageView.image = [UIImage imageNamed:model.sex1.intValue == 1?@"user_sex_boy":@"user_sex_girl"];
|
||||
}else{
|
||||
if ([model.user_id1 isEqualToString:self.userId]) {
|
||||
[self.leftHeaderView setHeadIcon:model.avatar1 dress:@""];
|
||||
self.leftNameLabel.text = model.nickname1;
|
||||
self.leftSexImageView.image = [UIImage imageNamed:model.sex1.intValue == 1?@"user_sex_boy":@"user_sex_girl"];
|
||||
[self.rightHeaderView setHeadIcon:model.avatar2 dress:@""];
|
||||
self.rightNameLabel.text = model.nickname2;
|
||||
self.rightSexImageView.image = [UIImage imageNamed:model.sex2.intValue == 1?@"user_sex_boy":@"user_sex_girl"];
|
||||
}else{
|
||||
[self.leftHeaderView setHeadIcon:model.avatar2 dress:@""];
|
||||
self.leftNameLabel.text = model.nickname2;
|
||||
self.leftSexImageView.image = [UIImage imageNamed:model.sex2.intValue == 1?@"user_sex_boy":@"user_sex_girl"];
|
||||
[self.rightHeaderView setHeadIcon:model.avatar1 dress:@""];
|
||||
self.rightNameLabel.text = model.nickname1;
|
||||
self.rightSexImageView.image = [UIImage imageNamed:model.sex2.intValue == 1?@"user_sex_boy":@"user_sex_girl"];
|
||||
}
|
||||
NSTimeInterval currentTime = [[NSDate date] timeIntervalSince1970];
|
||||
long long milliseconds = (long long)(currentTime);
|
||||
|
||||
@@ -30,6 +30,19 @@
|
||||
<constraint firstAttribute="width" constant="50" id="f4E-eT-Fu8"/>
|
||||
</constraints>
|
||||
</view>
|
||||
<label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="Label" textAlignment="natural" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="eAs-09-73J">
|
||||
<rect key="frame" x="46.666666666666671" y="66" width="33" height="16"/>
|
||||
<fontDescription key="fontDescription" type="system" pointSize="13"/>
|
||||
<color key="textColor" red="0.36078431372549019" green="0.16470588235294117" blue="0.44313725490196076" alpha="1" colorSpace="calibratedRGB"/>
|
||||
<nil key="highlightedColor"/>
|
||||
</label>
|
||||
<button opaque="NO" contentMode="scaleToFill" contentHorizontalAlignment="center" contentVerticalAlignment="center" buttonType="system" lineBreakMode="middleTruncation" translatesAutoresizingMaskIntoConstraints="NO" id="xap-Up-DHk">
|
||||
<rect key="frame" x="38" y="12" width="50" height="70"/>
|
||||
<inset key="imageEdgeInsets" minX="0.0" minY="0.0" maxX="2.2250738585072014e-308" maxY="0.0"/>
|
||||
<connections>
|
||||
<action selector="leftAction:" destination="KGk-i7-Jjw" eventType="touchUpInside" id="r31-OZ-CWl"/>
|
||||
</connections>
|
||||
</button>
|
||||
<imageView clipsSubviews="YES" userInteractionEnabled="NO" contentMode="scaleAspectFit" horizontalHuggingPriority="251" verticalHuggingPriority="251" translatesAutoresizingMaskIntoConstraints="NO" id="fJj-mx-2yM">
|
||||
<rect key="frame" x="72" y="46" width="16" height="16"/>
|
||||
<constraints>
|
||||
@@ -70,35 +83,44 @@
|
||||
<color key="textColor" red="1" green="1" blue="1" alpha="1" colorSpace="calibratedRGB"/>
|
||||
<nil key="highlightedColor"/>
|
||||
</label>
|
||||
<label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="Label" textAlignment="natural" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="eAs-09-73J">
|
||||
<rect key="frame" x="46.666666666666671" y="66" width="33" height="16"/>
|
||||
<fontDescription key="fontDescription" type="system" pointSize="13"/>
|
||||
<color key="textColor" red="0.36078431372549019" green="0.16470588235294117" blue="0.44313725490196076" alpha="1" colorSpace="calibratedRGB"/>
|
||||
<nil key="highlightedColor"/>
|
||||
</label>
|
||||
<label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="Label" textAlignment="natural" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="tuv-zg-sBW">
|
||||
<rect key="frame" x="343.66666666666669" y="66" width="33" height="16"/>
|
||||
<fontDescription key="fontDescription" type="system" pointSize="13"/>
|
||||
<color key="textColor" red="0.36078431372549019" green="0.16470588235294117" blue="0.44313725490196076" alpha="1" colorSpace="calibratedRGB"/>
|
||||
<nil key="highlightedColor"/>
|
||||
</label>
|
||||
<button opaque="NO" contentMode="scaleToFill" contentHorizontalAlignment="center" contentVerticalAlignment="center" buttonType="system" lineBreakMode="middleTruncation" translatesAutoresizingMaskIntoConstraints="NO" id="SsY-uu-WFL">
|
||||
<rect key="frame" x="335" y="12" width="50" height="70"/>
|
||||
<inset key="imageEdgeInsets" minX="0.0" minY="0.0" maxX="2.2250738585072014e-308" maxY="0.0"/>
|
||||
<connections>
|
||||
<action selector="rightAction:" destination="KGk-i7-Jjw" eventType="touchUpInside" id="c6p-5f-wxW"/>
|
||||
</connections>
|
||||
</button>
|
||||
</subviews>
|
||||
<constraints>
|
||||
<constraint firstItem="50s-uU-EKD" firstAttribute="centerY" secondItem="pS6-S4-a2G" secondAttribute="centerY" id="5g4-vp-EYv"/>
|
||||
<constraint firstItem="SsY-uu-WFL" firstAttribute="top" secondItem="50s-uU-EKD" secondAttribute="top" id="8be-wg-JP2"/>
|
||||
<constraint firstItem="8wc-ZY-rQa" firstAttribute="top" secondItem="dAK-uZ-bVb" secondAttribute="bottom" constant="5" id="8rk-dg-kaQ"/>
|
||||
<constraint firstItem="fJj-mx-2yM" firstAttribute="trailing" secondItem="pS6-S4-a2G" secondAttribute="trailing" id="BEj-jg-gAB"/>
|
||||
<constraint firstItem="dAK-uZ-bVb" firstAttribute="top" secondItem="9uF-c2-o0x" secondAttribute="top" constant="24" id="D9p-BA-KBw"/>
|
||||
<constraint firstItem="6nc-bo-ejr" firstAttribute="bottom" secondItem="50s-uU-EKD" secondAttribute="bottom" id="FGe-n1-Wks"/>
|
||||
<constraint firstItem="pS6-S4-a2G" firstAttribute="leading" secondItem="9uF-c2-o0x" secondAttribute="leading" constant="38" id="H5c-Mz-Qma"/>
|
||||
<constraint firstItem="SsY-uu-WFL" firstAttribute="leading" secondItem="50s-uU-EKD" secondAttribute="leading" id="Rl2-c0-BBe"/>
|
||||
<constraint firstItem="dAK-uZ-bVb" firstAttribute="centerX" secondItem="9uF-c2-o0x" secondAttribute="centerX" id="VG0-8q-Lrq"/>
|
||||
<constraint firstAttribute="trailing" secondItem="50s-uU-EKD" secondAttribute="trailing" constant="38" id="Wh8-QI-j4t"/>
|
||||
<constraint firstItem="xap-Up-DHk" firstAttribute="leading" secondItem="pS6-S4-a2G" secondAttribute="leading" id="YQL-gI-xBB"/>
|
||||
<constraint firstItem="pS6-S4-a2G" firstAttribute="top" secondItem="9uF-c2-o0x" secondAttribute="top" constant="12" id="YtX-oa-Z5o"/>
|
||||
<constraint firstItem="SsY-uu-WFL" firstAttribute="bottom" secondItem="tuv-zg-sBW" secondAttribute="bottom" id="a00-qT-gYV"/>
|
||||
<constraint firstItem="fJj-mx-2yM" firstAttribute="bottom" secondItem="pS6-S4-a2G" secondAttribute="bottom" id="a5l-4I-UsC"/>
|
||||
<constraint firstItem="tuv-zg-sBW" firstAttribute="centerX" secondItem="50s-uU-EKD" secondAttribute="centerX" id="eA4-hx-xId"/>
|
||||
<constraint firstItem="eAs-09-73J" firstAttribute="top" secondItem="pS6-S4-a2G" secondAttribute="bottom" constant="4" id="inp-kG-exH"/>
|
||||
<constraint firstItem="6nc-bo-ejr" firstAttribute="trailing" secondItem="50s-uU-EKD" secondAttribute="trailing" id="j7A-eO-KSJ"/>
|
||||
<constraint firstItem="xap-Up-DHk" firstAttribute="top" secondItem="pS6-S4-a2G" secondAttribute="top" id="k1J-S0-BPd"/>
|
||||
<constraint firstItem="SsY-uu-WFL" firstAttribute="trailing" secondItem="50s-uU-EKD" secondAttribute="trailing" id="rQE-om-5xf"/>
|
||||
<constraint firstItem="eAs-09-73J" firstAttribute="centerX" secondItem="pS6-S4-a2G" secondAttribute="centerX" id="smC-jH-4iI"/>
|
||||
<constraint firstItem="xap-Up-DHk" firstAttribute="bottom" secondItem="eAs-09-73J" secondAttribute="bottom" id="ssk-yf-L3c"/>
|
||||
<constraint firstItem="8wc-ZY-rQa" firstAttribute="centerX" secondItem="9uF-c2-o0x" secondAttribute="centerX" id="uKd-PA-s9w"/>
|
||||
<constraint firstItem="xap-Up-DHk" firstAttribute="trailing" secondItem="pS6-S4-a2G" secondAttribute="trailing" id="v5j-a8-69s"/>
|
||||
<constraint firstItem="tuv-zg-sBW" firstAttribute="top" secondItem="50s-uU-EKD" secondAttribute="bottom" constant="4" id="yjp-7F-Gwe"/>
|
||||
</constraints>
|
||||
</view>
|
||||
|
||||
@@ -14,6 +14,7 @@ NS_ASSUME_NONNULL_BEGIN
|
||||
@property (weak, nonatomic) IBOutlet UILabel *nameLabel;
|
||||
@property (weak, nonatomic) IBOutlet QXSeatHeaderView *headerView;
|
||||
@property (weak, nonatomic) IBOutlet UIImageView *sexImageView;
|
||||
@property (nonatomic,strong)NSString* userId;
|
||||
@property (nonatomic,strong)QXRelationshipListModel *model;
|
||||
@end
|
||||
|
||||
|
||||
@@ -10,7 +10,7 @@
|
||||
@implementation QXIntimateUserCell
|
||||
-(void)setModel:(QXRelationshipListModel *)model{
|
||||
_model = model;
|
||||
if ([model.user_id1 isEqualToString:QXGlobal.shareGlobal.loginModel.user_id]) {
|
||||
if ([model.user_id1 isEqualToString:self.userId]) {
|
||||
[self.headerView setHeadIcon:model.avatar2 dress:@""];
|
||||
self.nameLabel.text = model.nickname2;
|
||||
self.sexImageView.image = [UIImage imageNamed:model.sex2.intValue == 1?@"user_sex_boy":@"user_sex_girl"];
|
||||
@@ -19,9 +19,15 @@
|
||||
self.nameLabel.text = model.nickname1;
|
||||
self.sexImageView.image = [UIImage imageNamed:model.sex1.intValue == 1?@"user_sex_boy":@"user_sex_girl"];
|
||||
}
|
||||
self.timeLabel.text = [NSString getTimeWithSecond:model.end_time.longLongValue];
|
||||
NSTimeInterval currentTime = [[NSDate date] timeIntervalSince1970];
|
||||
long long milliseconds = (long long)(currentTime);
|
||||
NSInteger time = model.end_time.longLongValue - milliseconds;
|
||||
self.timeLabel.text = [NSString stringWithFormat:@" %@ ",[NSString getTimeWithSecond:time]];
|
||||
|
||||
}
|
||||
-(void)setUserId:(NSString *)userId{
|
||||
_userId = userId;
|
||||
}
|
||||
- (void)awakeFromNib {
|
||||
[super awakeFromNib];
|
||||
// Initialization code
|
||||
|
||||
29
QXLive/Mine(音域)/View/家族/QXFamilyMemberCell.h
Normal file
29
QXLive/Mine(音域)/View/家族/QXFamilyMemberCell.h
Normal file
@@ -0,0 +1,29 @@
|
||||
//
|
||||
// QXFamilyMemberCell.h
|
||||
// QXLive
|
||||
//
|
||||
// Created by 启星 on 2025/11/26.
|
||||
//
|
||||
|
||||
#import <UIKit/UIKit.h>
|
||||
#import "QXFamilyModel.h"
|
||||
|
||||
NS_ASSUME_NONNULL_BEGIN
|
||||
|
||||
@interface QXFamilyMemberCell : UITableViewCell
|
||||
@property (weak, nonatomic) IBOutlet QXSeatHeaderView *headerView;
|
||||
@property (weak, nonatomic) IBOutlet UICollectionView *collectionView;
|
||||
@property (weak, nonatomic) IBOutlet UICollectionViewFlowLayout *flowLayout;
|
||||
@property (weak, nonatomic) IBOutlet UILabel *dayLabel;
|
||||
@property (weak, nonatomic) IBOutlet UILabel *nameLabel;
|
||||
@property (weak, nonatomic) IBOutlet UILabel *timesLabel;
|
||||
@property (weak, nonatomic) IBOutlet UIButton *priceBtn;
|
||||
@property (weak, nonatomic) IBOutlet UILabel *onlineLabel;
|
||||
@property (weak, nonatomic) IBOutlet UIButton *todayPriceBtn;
|
||||
@property (weak, nonatomic) IBOutlet UIButton *yestodayPriceBtn;
|
||||
@property (weak, nonatomic) IBOutlet UIButton *continueBtn;
|
||||
@property (strong, nonatomic) QXFamilyMemberModel *model;
|
||||
+(instancetype)cellWithTableView:(UITableView *)tableView;
|
||||
@end
|
||||
|
||||
NS_ASSUME_NONNULL_END
|
||||
82
QXLive/Mine(音域)/View/家族/QXFamilyMemberCell.m
Normal file
82
QXLive/Mine(音域)/View/家族/QXFamilyMemberCell.m
Normal file
@@ -0,0 +1,82 @@
|
||||
//
|
||||
// QXFamilyMemberCell.m
|
||||
// QXLive
|
||||
//
|
||||
// Created by 启星 on 2025/11/26.
|
||||
//
|
||||
|
||||
#import "QXFamilyMemberCell.h"
|
||||
#import "QXUserHomeHeaderView.h"
|
||||
#import "QXCustomAlertView.h"
|
||||
@interface QXFamilyMemberCell()<UICollectionViewDataSource,UICollectionViewDelegate>
|
||||
@end
|
||||
@implementation QXFamilyMemberCell
|
||||
+(instancetype)cellWithTableView:(UITableView *)tableView{
|
||||
static NSString *cellId = @"QXFamilyMemberCell";
|
||||
QXFamilyMemberCell *cell = [tableView dequeueReusableCellWithIdentifier:cellId];
|
||||
if (!cell) {
|
||||
cell = [[NSBundle mainBundle] loadNibNamed:cellId owner:nil options:nil].lastObject;
|
||||
cell.flowLayout.itemSize = CGSizeMake(UserIconWidth, UserIconHeight);
|
||||
cell.flowLayout.minimumLineSpacing = 7;
|
||||
cell.flowLayout.scrollDirection = UICollectionViewScrollDirectionHorizontal;
|
||||
cell.collectionView.dataSource = cell;
|
||||
cell.collectionView.delegate = cell;
|
||||
cell.collectionView.backgroundColor = UIColor.clearColor;
|
||||
[cell.collectionView registerClass:[QXTagImageCell class] forCellWithReuseIdentifier:@"QXTagImageCell"];
|
||||
cell.backgroundColor = [UIColor clearColor];
|
||||
cell.contentView.backgroundColor = [UIColor clearColor];
|
||||
cell.selectionStyle = UITableViewCellSelectionStyleNone;
|
||||
}
|
||||
return cell;
|
||||
}
|
||||
- (void)awakeFromNib {
|
||||
[super awakeFromNib];
|
||||
// Initialization code
|
||||
}
|
||||
-(void)setModel:(QXFamilyMemberModel *)model{
|
||||
_model = model;
|
||||
[self.headerView setHeadIcon:model.nickname dress:model.dress];
|
||||
[self.headerView.nobilityImageView sd_setImageWithURL:[NSURL URLWithString:model.nobility_image]];
|
||||
self.dayLabel.text = [NSString stringWithFormat:@"剩余租期:%@",model.end_day];
|
||||
self.timesLabel.text = [NSString stringWithFormat:@"免费续约次数:%@",model.free_renewal];
|
||||
self.nameLabel.text = model.nickname;
|
||||
[self.todayPriceBtn setTitle:model.today_earnings forState:(UIControlStateNormal)];
|
||||
[self.yestodayPriceBtn setTitle:model.yesterday_earnings forState:(UIControlStateNormal)];
|
||||
[self.priceBtn setTitle:model.market_value forState:(UIControlStateNormal)];
|
||||
self.onlineLabel.text = model.is_online==1?@"当前在线":@"当前离线";
|
||||
self.continueBtn.hidden = model.is_show_sign.intValue==1?NO:YES;
|
||||
}
|
||||
- (IBAction)continueAction:(id)sender {
|
||||
QXCustomAlertView *al = [[QXCustomAlertView alloc] init];
|
||||
al.title = @"续约提示";
|
||||
al.message = @"尊敬的用户: 您的徒弟【夏沫】当前为首次签约的 免费续约期。续约后,徒弟合约将延长7天,您剩余的免费续约次数:1次";
|
||||
al.cancleTitle = @"取消";
|
||||
al.commitTitle = @"确认续约";
|
||||
al.isFromController = YES;
|
||||
al.cancelBlock = ^{
|
||||
[[QXGlobal shareGlobal] hideViewBlock:nil];
|
||||
};
|
||||
al.commitBlock = ^{
|
||||
[[QXGlobal shareGlobal] hideViewBlock:nil];
|
||||
};
|
||||
[QXGlobal.shareGlobal showView:al popType:(PopViewTypeTopToCenter) tapDismiss:NO finishBlock:nil];
|
||||
// [al showInView:self.viewController.view title:@"续约提示" message:@"尊敬的用户: 您的徒弟【夏沫】当前为首次签约的 免费续约期。续约后,徒弟合约将延长7天,您剩余的免费续约次数:1次" cancleTitle:@"取消" commitTitle:@"确认续约"];
|
||||
}
|
||||
-(NSInteger)collectionView:(UICollectionView *)collectionView numberOfItemsInSection:(NSInteger)section{
|
||||
if (self.model==nil) {
|
||||
return 0;
|
||||
}
|
||||
return self.model.icon.count;
|
||||
}
|
||||
-(__kindof UICollectionViewCell *)collectionView:(UICollectionView *)collectionView cellForItemAtIndexPath:(NSIndexPath *)indexPath{
|
||||
QXTagImageCell *cell = [collectionView dequeueReusableCellWithReuseIdentifier:@"QXTagImageCell" forIndexPath:indexPath];
|
||||
cell.imageUrl = self.model.icon[indexPath.row];
|
||||
return cell;
|
||||
}
|
||||
- (void)setSelected:(BOOL)selected animated:(BOOL)animated {
|
||||
[super setSelected:selected animated:animated];
|
||||
|
||||
// Configure the view for the selected state
|
||||
}
|
||||
|
||||
@end
|
||||
267
QXLive/Mine(音域)/View/家族/QXFamilyMemberCell.xib
Normal file
267
QXLive/Mine(音域)/View/家族/QXFamilyMemberCell.xib
Normal file
@@ -0,0 +1,267 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<document type="com.apple.InterfaceBuilder3.CocoaTouch.XIB" version="3.0" toolsVersion="23504" 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="23506"/>
|
||||
<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"/>
|
||||
<tableViewCell contentMode="scaleToFill" selectionStyle="default" indentationWidth="10" rowHeight="178" id="KGk-i7-Jjw" customClass="QXFamilyMemberCell">
|
||||
<rect key="frame" x="0.0" y="0.0" width="375" height="178"/>
|
||||
<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="375" height="178"/>
|
||||
<autoresizingMask key="autoresizingMask"/>
|
||||
<subviews>
|
||||
<view contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="iH0-Pj-t8s">
|
||||
<rect key="frame" x="16" y="6" width="343" height="166"/>
|
||||
<subviews>
|
||||
<imageView clipsSubviews="YES" userInteractionEnabled="NO" contentMode="scaleToFill" horizontalHuggingPriority="251" verticalHuggingPriority="251" image="family_top_member_bg" translatesAutoresizingMaskIntoConstraints="NO" id="Msn-nc-t9D">
|
||||
<rect key="frame" x="0.0" y="0.0" width="343" height="166"/>
|
||||
</imageView>
|
||||
<view contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="uXg-p7-J2S" customClass="QXSeatHeaderView">
|
||||
<rect key="frame" x="18" y="12" width="52" height="68"/>
|
||||
<constraints>
|
||||
<constraint firstAttribute="height" constant="68" id="bCB-eE-Zr3"/>
|
||||
<constraint firstAttribute="width" constant="52" id="h5x-rL-px2"/>
|
||||
</constraints>
|
||||
</view>
|
||||
<collectionView clipsSubviews="YES" multipleTouchEnabled="YES" contentMode="scaleToFill" dataMode="none" translatesAutoresizingMaskIntoConstraints="NO" id="Xpt-NC-KbR">
|
||||
<rect key="frame" x="90" y="14" width="242" height="19"/>
|
||||
<constraints>
|
||||
<constraint firstAttribute="height" constant="19" id="mpP-Tm-mjr"/>
|
||||
</constraints>
|
||||
<collectionViewFlowLayout key="collectionViewLayout" scrollDirection="horizontal" minimumLineSpacing="10" minimumInteritemSpacing="10" id="ErA-Km-MvK">
|
||||
<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>
|
||||
<connections>
|
||||
<outlet property="dataSource" destination="-1" id="neF-wi-DOJ"/>
|
||||
<outlet property="delegate" destination="-1" id="JgI-Be-tW3"/>
|
||||
</connections>
|
||||
</collectionView>
|
||||
<label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="剩余租期:5天" textAlignment="natural" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="3c8-yw-ZcY">
|
||||
<rect key="frame" x="90" y="43" width="80.666666666666686" height="14.333333333333336"/>
|
||||
<fontDescription key="fontDescription" type="system" pointSize="12"/>
|
||||
<color key="textColor" red="0.0" green="0.0" blue="0.0" alpha="1" colorSpace="custom" customColorSpace="sRGB"/>
|
||||
<nil key="highlightedColor"/>
|
||||
</label>
|
||||
<label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="张三张三张三" textAlignment="center" lineBreakMode="clip" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="AEg-Tu-ye6">
|
||||
<rect key="frame" x="8" y="88" width="72" height="19.333333333333329"/>
|
||||
<fontDescription key="fontDescription" type="boldSystem" pointSize="16"/>
|
||||
<color key="textColor" red="0.0" green="0.0" blue="0.0" alpha="1" colorSpace="custom" customColorSpace="sRGB"/>
|
||||
<nil key="highlightedColor"/>
|
||||
</label>
|
||||
<label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="免费续约次数:3次" textAlignment="natural" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="D6h-bE-tlh">
|
||||
<rect key="frame" x="90" y="65.333333333333329" width="104.66666666666669" height="14.333333333333329"/>
|
||||
<fontDescription key="fontDescription" type="system" pointSize="12"/>
|
||||
<nil key="textColor"/>
|
||||
<nil key="highlightedColor"/>
|
||||
</label>
|
||||
<button opaque="NO" contentMode="scaleToFill" contentHorizontalAlignment="center" contentVerticalAlignment="center" lineBreakMode="middleTruncation" translatesAutoresizingMaskIntoConstraints="NO" id="BVQ-z4-fHs">
|
||||
<rect key="frame" x="26" y="111.33333333333333" width="36" height="19.999999999999986"/>
|
||||
<fontDescription key="fontDescription" type="system" pointSize="14"/>
|
||||
<inset key="imageEdgeInsets" minX="0.0" minY="0.0" maxX="2.2250738585072014e-308" maxY="0.0"/>
|
||||
<state key="normal" title="10" image="mine_recharge_corn">
|
||||
<color key="titleColor" red="1" green="0.15294117647058825" blue="0.15294117647058825" alpha="1" colorSpace="custom" customColorSpace="sRGB"/>
|
||||
</state>
|
||||
</button>
|
||||
<label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="当前在线" textAlignment="natural" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="cha-OZ-i3U">
|
||||
<rect key="frame" x="20" y="136.33333333333334" width="48" height="15"/>
|
||||
<fontDescription key="fontDescription" type="system" pointSize="12"/>
|
||||
<color key="textColor" red="0.22745098039215686" green="0.73725490196078436" blue="0.42745098039215684" alpha="1" colorSpace="custom" customColorSpace="sRGB"/>
|
||||
<nil key="highlightedColor"/>
|
||||
</label>
|
||||
<view contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="VGe-Cc-S6Q">
|
||||
<rect key="frame" x="90" y="87.666666666666686" width="85" height="66.333333333333314"/>
|
||||
<subviews>
|
||||
<label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="今日" textAlignment="natural" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="fxt-Ok-e8L">
|
||||
<rect key="frame" x="30.666666666666657" y="4" width="24" height="17"/>
|
||||
<constraints>
|
||||
<constraint firstAttribute="height" constant="17" id="xrg-jZ-zdc"/>
|
||||
</constraints>
|
||||
<fontDescription key="fontDescription" type="system" pointSize="12"/>
|
||||
<color key="textColor" red="0.0" green="0.0" blue="0.0" alpha="1" colorSpace="custom" customColorSpace="sRGB"/>
|
||||
<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="9wb-6a-aQt">
|
||||
<rect key="frame" x="18.666666666666671" y="23" width="48" height="17"/>
|
||||
<constraints>
|
||||
<constraint firstAttribute="height" constant="17" id="AoH-Ct-GM9"/>
|
||||
</constraints>
|
||||
<fontDescription key="fontDescription" type="system" pointSize="12"/>
|
||||
<color key="textColor" red="0.0" green="0.0" blue="0.0" alpha="1" colorSpace="custom" customColorSpace="sRGB"/>
|
||||
<nil key="highlightedColor"/>
|
||||
</label>
|
||||
<button opaque="NO" contentMode="scaleToFill" contentHorizontalAlignment="center" contentVerticalAlignment="center" lineBreakMode="middleTruncation" translatesAutoresizingMaskIntoConstraints="NO" id="dpa-gV-fxG">
|
||||
<rect key="frame" x="2" y="41.999999999999986" width="81" height="22.333333333333329"/>
|
||||
<fontDescription key="fontDescription" type="system" pointSize="14"/>
|
||||
<inset key="imageEdgeInsets" minX="0.0" minY="0.0" maxX="2.2250738585072014e-308" maxY="0.0"/>
|
||||
<state key="normal" title="10" image="family_diamond">
|
||||
<color key="titleColor" red="1" green="0.1529411765" blue="0.1529411765" alpha="1" colorSpace="custom" customColorSpace="sRGB"/>
|
||||
</state>
|
||||
</button>
|
||||
</subviews>
|
||||
<color key="backgroundColor" red="0.85490196078431369" green="1" blue="0.88627450980392153" alpha="1" colorSpace="custom" customColorSpace="sRGB"/>
|
||||
<constraints>
|
||||
<constraint firstItem="fxt-Ok-e8L" firstAttribute="centerX" secondItem="VGe-Cc-S6Q" secondAttribute="centerX" id="2pr-cg-4QY"/>
|
||||
<constraint firstAttribute="width" constant="85" id="FPA-42-3py"/>
|
||||
<constraint firstItem="9wb-6a-aQt" firstAttribute="top" secondItem="fxt-Ok-e8L" secondAttribute="bottom" constant="2" id="RzV-mu-ufj"/>
|
||||
<constraint firstAttribute="bottom" secondItem="dpa-gV-fxG" secondAttribute="bottom" constant="2" id="dtB-XL-hOC"/>
|
||||
<constraint firstItem="fxt-Ok-e8L" firstAttribute="top" secondItem="VGe-Cc-S6Q" secondAttribute="top" constant="4" id="ef4-nR-Mji"/>
|
||||
<constraint firstItem="9wb-6a-aQt" firstAttribute="centerX" secondItem="VGe-Cc-S6Q" secondAttribute="centerX" id="iSE-Sg-0b1"/>
|
||||
<constraint firstItem="dpa-gV-fxG" firstAttribute="top" secondItem="9wb-6a-aQt" secondAttribute="bottom" constant="2" id="ruM-mP-Gsq"/>
|
||||
<constraint firstItem="dpa-gV-fxG" firstAttribute="leading" secondItem="VGe-Cc-S6Q" secondAttribute="leading" constant="2" id="wGY-6r-6Bn"/>
|
||||
<constraint firstAttribute="trailing" secondItem="dpa-gV-fxG" secondAttribute="trailing" constant="2" id="xBG-GO-NWJ"/>
|
||||
</constraints>
|
||||
<userDefinedRuntimeAttributes>
|
||||
<userDefinedRuntimeAttribute type="boolean" keyPath="layer.masksToBounds" value="YES"/>
|
||||
<userDefinedRuntimeAttribute type="number" keyPath="layer.cornerRadius">
|
||||
<integer key="value" value="4"/>
|
||||
</userDefinedRuntimeAttribute>
|
||||
</userDefinedRuntimeAttributes>
|
||||
</view>
|
||||
<view contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="oGH-dJ-lZy">
|
||||
<rect key="frame" x="179" y="87.666666666666686" width="85" height="66.333333333333314"/>
|
||||
<subviews>
|
||||
<label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="昨日" textAlignment="natural" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="KF6-Jg-pqn">
|
||||
<rect key="frame" x="30.666666666666657" y="4" width="24" height="17"/>
|
||||
<constraints>
|
||||
<constraint firstAttribute="height" constant="17" id="2Du-Vr-MGL"/>
|
||||
</constraints>
|
||||
<fontDescription key="fontDescription" type="system" pointSize="12"/>
|
||||
<color key="textColor" red="0.0" green="0.0" blue="0.0" alpha="1" colorSpace="custom" customColorSpace="sRGB"/>
|
||||
<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="Rjt-H4-heD">
|
||||
<rect key="frame" x="18.666666666666657" y="23" width="48" height="17"/>
|
||||
<constraints>
|
||||
<constraint firstAttribute="height" constant="17" id="nAr-LR-mvb"/>
|
||||
</constraints>
|
||||
<fontDescription key="fontDescription" type="system" pointSize="12"/>
|
||||
<color key="textColor" red="0.0" green="0.0" blue="0.0" alpha="1" colorSpace="custom" customColorSpace="sRGB"/>
|
||||
<nil key="highlightedColor"/>
|
||||
</label>
|
||||
<button opaque="NO" contentMode="scaleToFill" contentHorizontalAlignment="center" contentVerticalAlignment="center" lineBreakMode="middleTruncation" translatesAutoresizingMaskIntoConstraints="NO" id="3Ml-mg-Cxw">
|
||||
<rect key="frame" x="2" y="41.999999999999986" width="81" height="22.333333333333329"/>
|
||||
<fontDescription key="fontDescription" type="system" pointSize="14"/>
|
||||
<inset key="imageEdgeInsets" minX="0.0" minY="0.0" maxX="2.2250738585072014e-308" maxY="0.0"/>
|
||||
<state key="normal" title="10" image="family_diamond">
|
||||
<color key="titleColor" red="1" green="0.1529411765" blue="0.1529411765" alpha="1" colorSpace="custom" customColorSpace="sRGB"/>
|
||||
</state>
|
||||
</button>
|
||||
</subviews>
|
||||
<color key="backgroundColor" red="0.85490196080000003" green="1" blue="0.8862745098" alpha="1" colorSpace="custom" customColorSpace="sRGB"/>
|
||||
<constraints>
|
||||
<constraint firstAttribute="trailing" secondItem="3Ml-mg-Cxw" secondAttribute="trailing" constant="2" id="4Wk-yD-BbV"/>
|
||||
<constraint firstItem="Rjt-H4-heD" firstAttribute="top" secondItem="KF6-Jg-pqn" secondAttribute="bottom" constant="2" id="F2T-k5-Kgv"/>
|
||||
<constraint firstAttribute="bottom" secondItem="3Ml-mg-Cxw" secondAttribute="bottom" constant="2" id="LJz-rW-T02"/>
|
||||
<constraint firstItem="Rjt-H4-heD" firstAttribute="centerX" secondItem="oGH-dJ-lZy" secondAttribute="centerX" id="O15-tt-LOO"/>
|
||||
<constraint firstAttribute="width" constant="85" id="bmv-lS-3aZ"/>
|
||||
<constraint firstItem="3Ml-mg-Cxw" firstAttribute="leading" secondItem="oGH-dJ-lZy" secondAttribute="leading" constant="2" id="g7c-ng-N2i"/>
|
||||
<constraint firstItem="3Ml-mg-Cxw" firstAttribute="top" secondItem="Rjt-H4-heD" secondAttribute="bottom" constant="2" id="jfG-L6-goi"/>
|
||||
<constraint firstItem="KF6-Jg-pqn" firstAttribute="top" secondItem="oGH-dJ-lZy" secondAttribute="top" constant="4" id="udE-f7-Bn7"/>
|
||||
<constraint firstItem="KF6-Jg-pqn" firstAttribute="centerX" secondItem="oGH-dJ-lZy" secondAttribute="centerX" id="xZZ-80-b2m"/>
|
||||
</constraints>
|
||||
<userDefinedRuntimeAttributes>
|
||||
<userDefinedRuntimeAttribute type="boolean" keyPath="layer.masksToBounds" value="YES"/>
|
||||
<userDefinedRuntimeAttribute type="number" keyPath="layer.cornerRadius">
|
||||
<integer key="value" value="4"/>
|
||||
</userDefinedRuntimeAttribute>
|
||||
</userDefinedRuntimeAttributes>
|
||||
</view>
|
||||
<button opaque="NO" contentMode="scaleToFill" contentHorizontalAlignment="center" contentVerticalAlignment="center" lineBreakMode="middleTruncation" translatesAutoresizingMaskIntoConstraints="NO" id="v1E-D6-JeF">
|
||||
<rect key="frame" x="278" y="126" width="60" height="28"/>
|
||||
<color key="backgroundColor" red="0.22745098039215686" green="0.73725490196078436" blue="0.42745098039215684" alpha="1" colorSpace="custom" customColorSpace="sRGB"/>
|
||||
<constraints>
|
||||
<constraint firstAttribute="height" constant="28" id="C6z-41-oB8"/>
|
||||
<constraint firstAttribute="width" constant="60" id="Qmm-ha-usv"/>
|
||||
</constraints>
|
||||
<fontDescription key="fontDescription" type="system" pointSize="13"/>
|
||||
<inset key="imageEdgeInsets" minX="0.0" minY="0.0" maxX="2.2250738585072014e-308" maxY="0.0"/>
|
||||
<state key="normal" title="续租"/>
|
||||
<userDefinedRuntimeAttributes>
|
||||
<userDefinedRuntimeAttribute type="boolean" keyPath="layer.masksToBounds" value="YES"/>
|
||||
<userDefinedRuntimeAttribute type="number" keyPath="layer.cornerRadius">
|
||||
<integer key="value" value="14"/>
|
||||
</userDefinedRuntimeAttribute>
|
||||
</userDefinedRuntimeAttributes>
|
||||
<connections>
|
||||
<action selector="continueAction:" destination="KGk-i7-Jjw" eventType="touchUpInside" id="0Dk-bG-uLt"/>
|
||||
</connections>
|
||||
</button>
|
||||
</subviews>
|
||||
<constraints>
|
||||
<constraint firstItem="VGe-Cc-S6Q" firstAttribute="top" secondItem="D6h-bE-tlh" secondAttribute="bottom" constant="8" id="0xl-vd-Eab"/>
|
||||
<constraint firstItem="Xpt-NC-KbR" firstAttribute="top" secondItem="iH0-Pj-t8s" secondAttribute="top" constant="14" id="0yY-Uq-uIw"/>
|
||||
<constraint firstItem="uXg-p7-J2S" firstAttribute="top" secondItem="iH0-Pj-t8s" secondAttribute="top" constant="12" id="3Up-H8-deH"/>
|
||||
<constraint firstItem="BVQ-z4-fHs" firstAttribute="top" secondItem="AEg-Tu-ye6" secondAttribute="bottom" constant="4" id="45o-bc-VTo"/>
|
||||
<constraint firstItem="3c8-yw-ZcY" firstAttribute="leading" secondItem="Xpt-NC-KbR" secondAttribute="leading" id="7he-6a-LQn"/>
|
||||
<constraint firstAttribute="bottom" secondItem="VGe-Cc-S6Q" secondAttribute="bottom" constant="12" id="87e-jS-o6v"/>
|
||||
<constraint firstItem="D6h-bE-tlh" firstAttribute="top" secondItem="3c8-yw-ZcY" secondAttribute="bottom" constant="8" id="GX3-ge-Kid"/>
|
||||
<constraint firstItem="AEg-Tu-ye6" firstAttribute="leading" secondItem="uXg-p7-J2S" secondAttribute="leading" constant="-10" id="Ggr-Ur-BTo"/>
|
||||
<constraint firstAttribute="trailing" secondItem="Xpt-NC-KbR" secondAttribute="trailing" constant="11" id="IrF-U1-Mro"/>
|
||||
<constraint firstItem="AEg-Tu-ye6" firstAttribute="top" secondItem="uXg-p7-J2S" secondAttribute="bottom" constant="8" id="J9W-JM-n7A"/>
|
||||
<constraint firstItem="VGe-Cc-S6Q" firstAttribute="leading" secondItem="Xpt-NC-KbR" secondAttribute="leading" id="Jsy-KK-zrr"/>
|
||||
<constraint firstItem="Msn-nc-t9D" firstAttribute="top" secondItem="iH0-Pj-t8s" secondAttribute="top" id="Rk3-kc-29m"/>
|
||||
<constraint firstItem="D6h-bE-tlh" firstAttribute="leading" secondItem="Xpt-NC-KbR" secondAttribute="leading" id="WX5-EF-GjZ"/>
|
||||
<constraint firstItem="v1E-D6-JeF" firstAttribute="bottom" secondItem="VGe-Cc-S6Q" secondAttribute="bottom" id="Xhb-uf-REu"/>
|
||||
<constraint firstItem="oGH-dJ-lZy" firstAttribute="top" secondItem="VGe-Cc-S6Q" secondAttribute="top" id="bvy-kk-VyI"/>
|
||||
<constraint firstItem="oGH-dJ-lZy" firstAttribute="bottom" secondItem="VGe-Cc-S6Q" secondAttribute="bottom" id="fer-eg-Q8u"/>
|
||||
<constraint firstAttribute="trailing" secondItem="Msn-nc-t9D" secondAttribute="trailing" id="gQ1-bd-h8C"/>
|
||||
<constraint firstItem="uXg-p7-J2S" firstAttribute="leading" secondItem="iH0-Pj-t8s" secondAttribute="leading" constant="18" id="jUx-NP-cQj"/>
|
||||
<constraint firstItem="AEg-Tu-ye6" firstAttribute="trailing" secondItem="uXg-p7-J2S" secondAttribute="trailing" constant="10" id="nNH-Kq-QmX"/>
|
||||
<constraint firstItem="Xpt-NC-KbR" firstAttribute="leading" secondItem="uXg-p7-J2S" secondAttribute="trailing" constant="20" id="p9M-CF-kU5"/>
|
||||
<constraint firstItem="oGH-dJ-lZy" firstAttribute="leading" secondItem="VGe-Cc-S6Q" secondAttribute="trailing" constant="4" id="qvY-IN-Sh2"/>
|
||||
<constraint firstItem="cha-OZ-i3U" firstAttribute="centerX" secondItem="uXg-p7-J2S" secondAttribute="centerX" id="r8z-sa-uZA"/>
|
||||
<constraint firstItem="cha-OZ-i3U" firstAttribute="top" secondItem="BVQ-z4-fHs" secondAttribute="bottom" constant="5" id="ri0-KS-mht"/>
|
||||
<constraint firstAttribute="trailing" secondItem="v1E-D6-JeF" secondAttribute="trailing" constant="5" id="t3Y-Ci-cqO"/>
|
||||
<constraint firstAttribute="bottom" secondItem="Msn-nc-t9D" secondAttribute="bottom" id="vAB-on-UgX"/>
|
||||
<constraint firstItem="3c8-yw-ZcY" firstAttribute="top" secondItem="Xpt-NC-KbR" secondAttribute="bottom" constant="10" id="vo1-0c-qqk"/>
|
||||
<constraint firstItem="Msn-nc-t9D" firstAttribute="leading" secondItem="iH0-Pj-t8s" secondAttribute="leading" id="xki-e1-3Kn"/>
|
||||
<constraint firstItem="BVQ-z4-fHs" firstAttribute="centerX" secondItem="uXg-p7-J2S" secondAttribute="centerX" id="zMn-Oa-xMf"/>
|
||||
</constraints>
|
||||
<userDefinedRuntimeAttributes>
|
||||
<userDefinedRuntimeAttribute type="boolean" keyPath="layer.masksToBounds" value="YES"/>
|
||||
<userDefinedRuntimeAttribute type="number" keyPath="layer.cornerRadius">
|
||||
<integer key="value" value="12"/>
|
||||
</userDefinedRuntimeAttribute>
|
||||
</userDefinedRuntimeAttributes>
|
||||
</view>
|
||||
</subviews>
|
||||
<constraints>
|
||||
<constraint firstItem="iH0-Pj-t8s" firstAttribute="top" secondItem="H2p-sc-9uM" secondAttribute="top" constant="6" id="Qrb-JX-7dX"/>
|
||||
<constraint firstItem="iH0-Pj-t8s" firstAttribute="leading" secondItem="H2p-sc-9uM" secondAttribute="leading" constant="16" id="VM1-pJ-dqP"/>
|
||||
<constraint firstAttribute="trailing" secondItem="iH0-Pj-t8s" secondAttribute="trailing" constant="16" id="ng7-pJ-1Mx"/>
|
||||
<constraint firstAttribute="bottom" secondItem="iH0-Pj-t8s" secondAttribute="bottom" constant="6" id="qzE-xj-NKp"/>
|
||||
</constraints>
|
||||
</tableViewCellContentView>
|
||||
<viewLayoutGuide key="safeArea" id="aW0-zy-SZf"/>
|
||||
<connections>
|
||||
<outlet property="collectionView" destination="Xpt-NC-KbR" id="pmE-BS-kUl"/>
|
||||
<outlet property="continueBtn" destination="v1E-D6-JeF" id="Srn-jh-maM"/>
|
||||
<outlet property="dayLabel" destination="3c8-yw-ZcY" id="MbY-ho-AdO"/>
|
||||
<outlet property="flowLayout" destination="ErA-Km-MvK" id="hkS-jB-9fF"/>
|
||||
<outlet property="headerView" destination="uXg-p7-J2S" id="P7X-to-hlT"/>
|
||||
<outlet property="nameLabel" destination="AEg-Tu-ye6" id="mys-qk-wdQ"/>
|
||||
<outlet property="onlineLabel" destination="cha-OZ-i3U" id="CqR-eC-65V"/>
|
||||
<outlet property="priceBtn" destination="BVQ-z4-fHs" id="CwE-cf-JVh"/>
|
||||
<outlet property="timesLabel" destination="D6h-bE-tlh" id="Npo-LQ-mYv"/>
|
||||
<outlet property="todayPriceBtn" destination="dpa-gV-fxG" id="tLX-md-1HV"/>
|
||||
<outlet property="yestodayPriceBtn" destination="3Ml-mg-Cxw" id="kIm-ei-YWd"/>
|
||||
</connections>
|
||||
<point key="canvasLocation" x="257.25190839694653" y="66.901408450704224"/>
|
||||
</tableViewCell>
|
||||
</objects>
|
||||
<resources>
|
||||
<image name="family_diamond" width="14" height="14"/>
|
||||
<image name="family_top_member_bg" width="343" height="164"/>
|
||||
<image name="mine_recharge_corn" width="20" height="20"/>
|
||||
</resources>
|
||||
</document>
|
||||
22
QXLive/Mine(音域)/View/家族/QXFamilyPriceRecordCell.h
Normal file
22
QXLive/Mine(音域)/View/家族/QXFamilyPriceRecordCell.h
Normal file
@@ -0,0 +1,22 @@
|
||||
//
|
||||
// QXFamilyPriceRecordCell.h
|
||||
// QXLive
|
||||
//
|
||||
// Created by 启星 on 2025/11/26.
|
||||
//
|
||||
|
||||
#import <UIKit/UIKit.h>
|
||||
#import "QXFamilyModel.h"
|
||||
NS_ASSUME_NONNULL_BEGIN
|
||||
|
||||
@interface QXFamilyPriceRecordCell : UITableViewCell
|
||||
@property (weak, nonatomic) IBOutlet UILabel *nameLabel;
|
||||
@property (weak, nonatomic) IBOutlet UILabel *giftLabel;
|
||||
@property (weak, nonatomic) IBOutlet UILabel *giftPriceLabel;
|
||||
@property (weak, nonatomic) IBOutlet UILabel *timeLabel;
|
||||
@property (weak, nonatomic) IBOutlet UILabel *moneyLabel;
|
||||
@property (strong, nonatomic) QXFamilyEarningModel *model;
|
||||
+(instancetype)cellWithTableView:(UITableView *)tableView;
|
||||
@end
|
||||
|
||||
NS_ASSUME_NONNULL_END
|
||||
45
QXLive/Mine(音域)/View/家族/QXFamilyPriceRecordCell.m
Normal file
45
QXLive/Mine(音域)/View/家族/QXFamilyPriceRecordCell.m
Normal file
@@ -0,0 +1,45 @@
|
||||
//
|
||||
// QXFamilyPriceRecordCell.m
|
||||
// QXLive
|
||||
//
|
||||
// Created by 启星 on 2025/11/26.
|
||||
//
|
||||
|
||||
#import "QXFamilyPriceRecordCell.h"
|
||||
|
||||
@implementation QXFamilyPriceRecordCell
|
||||
+(instancetype)cellWithTableView:(UITableView *)tableView{
|
||||
static NSString *cellId = @"QXFamilyPriceRecordCell";
|
||||
QXFamilyPriceRecordCell *cell = [tableView dequeueReusableCellWithIdentifier:cellId];
|
||||
if (!cell) {
|
||||
cell = [[NSBundle mainBundle] loadNibNamed:cellId owner:nil options:nil].lastObject;
|
||||
cell.backgroundColor = [UIColor clearColor];
|
||||
cell.contentView.backgroundColor = [UIColor clearColor];
|
||||
cell.selectionStyle = UITableViewCellSelectionStyleNone;
|
||||
}
|
||||
return cell;
|
||||
}
|
||||
-(void)setModel:(QXFamilyEarningModel *)model{
|
||||
_model = model;
|
||||
self.nameLabel.text = model.nickname;
|
||||
self.giftLabel.text = [NSString stringWithFormat:@"礼物名称:%@",model.gift_name];
|
||||
self.giftPriceLabel.text = [NSString stringWithFormat:@"礼物金额:%@",model.gift_price];
|
||||
NSDate *date = [NSDate dateWithTimeIntervalSince1970:model.createtime.longLongValue]; //此处根据项目需求,选择是否除以1000 , 如果时间戳精确到秒则去掉1000
|
||||
NSDateFormatter *formatter = [[NSDateFormatter alloc]init];
|
||||
formatter.dateFormat = @"yyyy-MM-dd HH:mm:ss";
|
||||
NSString*time = [formatter stringFromDate:date];
|
||||
self.timeLabel.text = time;
|
||||
self.moneyLabel.text = [NSString stringWithFormat:@"+%@",model.earnings];
|
||||
}
|
||||
- (void)awakeFromNib {
|
||||
[super awakeFromNib];
|
||||
// Initialization code
|
||||
}
|
||||
|
||||
- (void)setSelected:(BOOL)selected animated:(BOOL)animated {
|
||||
[super setSelected:selected animated:animated];
|
||||
|
||||
// Configure the view for the selected state
|
||||
}
|
||||
|
||||
@end
|
||||
109
QXLive/Mine(音域)/View/家族/QXFamilyPriceRecordCell.xib
Normal file
109
QXLive/Mine(音域)/View/家族/QXFamilyPriceRecordCell.xib
Normal file
@@ -0,0 +1,109 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<document type="com.apple.InterfaceBuilder3.CocoaTouch.XIB" version="3.0" toolsVersion="23504" 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="23506"/>
|
||||
<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"/>
|
||||
<tableViewCell contentMode="scaleToFill" selectionStyle="default" indentationWidth="10" rowHeight="115" id="KGk-i7-Jjw" customClass="QXFamilyPriceRecordCell">
|
||||
<rect key="frame" x="0.0" y="0.0" width="437" height="115"/>
|
||||
<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="437" height="115"/>
|
||||
<autoresizingMask key="autoresizingMask"/>
|
||||
<subviews>
|
||||
<label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="夏末" textAlignment="natural" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="qhY-xK-j4V">
|
||||
<rect key="frame" x="16" y="12" width="28" height="20"/>
|
||||
<constraints>
|
||||
<constraint firstAttribute="height" constant="20" id="yEo-s3-dl7"/>
|
||||
</constraints>
|
||||
<fontDescription key="fontDescription" type="system" pointSize="14"/>
|
||||
<color key="textColor" red="0.20000000000000001" green="0.20000000000000001" blue="0.20000000000000001" alpha="1" colorSpace="custom" customColorSpace="calibratedRGB"/>
|
||||
<nil key="highlightedColor"/>
|
||||
</label>
|
||||
<label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="礼物名称:娃哈哈" textAlignment="natural" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="HJ8-fz-wWx">
|
||||
<rect key="frame" x="16" y="36" width="87" height="17"/>
|
||||
<constraints>
|
||||
<constraint firstAttribute="height" constant="17" id="9Tr-bc-dxx"/>
|
||||
</constraints>
|
||||
<fontDescription key="fontDescription" type="system" pointSize="12"/>
|
||||
<color key="textColor" red="0.65098039215686276" green="0.65098039215686276" blue="0.65098039215686276" alpha="1" colorSpace="calibratedRGB"/>
|
||||
<nil key="highlightedColor"/>
|
||||
</label>
|
||||
<label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="礼物金额:2.00" textAlignment="natural" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="1Ye-0Q-Ars">
|
||||
<rect key="frame" x="16" y="57" width="76.666666666666671" height="17"/>
|
||||
<constraints>
|
||||
<constraint firstAttribute="height" constant="17" id="D9K-U1-SJT"/>
|
||||
</constraints>
|
||||
<fontDescription key="fontDescription" type="system" pointSize="12"/>
|
||||
<color key="textColor" red="0.65098039220000004" green="0.65098039220000004" blue="0.65098039220000004" alpha="1" colorSpace="calibratedRGB"/>
|
||||
<nil key="highlightedColor"/>
|
||||
</label>
|
||||
<label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="时间:2024.12.14 11:21:45" textAlignment="natural" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="K90-F2-gDK">
|
||||
<rect key="frame" x="16" y="78" width="138.66666666666666" height="17"/>
|
||||
<constraints>
|
||||
<constraint firstAttribute="height" constant="17" id="NXB-k6-bcp"/>
|
||||
</constraints>
|
||||
<fontDescription key="fontDescription" type="system" pointSize="12"/>
|
||||
<color key="textColor" red="0.65098039220000004" green="0.65098039220000004" blue="0.65098039220000004" alpha="1" colorSpace="calibratedRGB"/>
|
||||
<nil key="highlightedColor"/>
|
||||
</label>
|
||||
<view contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="flF-ys-FmL">
|
||||
<rect key="frame" x="0.0" y="114" width="437" height="1"/>
|
||||
<color key="backgroundColor" red="0.94509803921568625" green="0.94901960784313721" blue="0.95294117647058818" alpha="1" colorSpace="calibratedRGB"/>
|
||||
<constraints>
|
||||
<constraint firstAttribute="height" constant="1" id="Je4-fq-8DP"/>
|
||||
</constraints>
|
||||
</view>
|
||||
<imageView clipsSubviews="YES" userInteractionEnabled="NO" contentMode="scaleToFill" horizontalHuggingPriority="251" verticalHuggingPriority="251" image="family_diamond" translatesAutoresizingMaskIntoConstraints="NO" id="Epl-Tk-yAO">
|
||||
<rect key="frame" x="405" y="16" width="16" height="16"/>
|
||||
<constraints>
|
||||
<constraint firstAttribute="width" constant="16" id="8jn-qK-laY"/>
|
||||
<constraint firstAttribute="height" constant="16" id="yT0-QV-hOt"/>
|
||||
</constraints>
|
||||
</imageView>
|
||||
<label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="+10" textAlignment="natural" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="ykc-S1-6gP">
|
||||
<rect key="frame" x="375" y="14.333333333333334" width="29" height="19.333333333333329"/>
|
||||
<fontDescription key="fontDescription" type="boldSystem" pointSize="16"/>
|
||||
<color key="textColor" red="1" green="0.15294117647058825" blue="0.15294117647058825" alpha="1" colorSpace="calibratedRGB"/>
|
||||
<nil key="highlightedColor"/>
|
||||
</label>
|
||||
</subviews>
|
||||
<constraints>
|
||||
<constraint firstAttribute="trailing" secondItem="flF-ys-FmL" secondAttribute="trailing" id="1jc-En-ojk"/>
|
||||
<constraint firstItem="Epl-Tk-yAO" firstAttribute="leading" secondItem="ykc-S1-6gP" secondAttribute="trailing" constant="1" id="41O-42-s4J"/>
|
||||
<constraint firstItem="qhY-xK-j4V" firstAttribute="top" secondItem="H2p-sc-9uM" secondAttribute="top" constant="12" id="4ZR-PO-QSD"/>
|
||||
<constraint firstItem="Epl-Tk-yAO" firstAttribute="top" secondItem="H2p-sc-9uM" secondAttribute="top" constant="16" id="51M-Qu-JSa"/>
|
||||
<constraint firstItem="ykc-S1-6gP" firstAttribute="centerY" secondItem="Epl-Tk-yAO" secondAttribute="centerY" id="CuU-6Q-HHr"/>
|
||||
<constraint firstItem="flF-ys-FmL" firstAttribute="leading" secondItem="H2p-sc-9uM" secondAttribute="leading" id="RIQ-sW-mWT"/>
|
||||
<constraint firstAttribute="trailing" secondItem="Epl-Tk-yAO" secondAttribute="trailing" constant="16" id="RW9-oL-s1o"/>
|
||||
<constraint firstItem="K90-F2-gDK" firstAttribute="top" secondItem="1Ye-0Q-Ars" secondAttribute="bottom" constant="4" id="Z6j-2T-Z0T"/>
|
||||
<constraint firstItem="1Ye-0Q-Ars" firstAttribute="leading" secondItem="qhY-xK-j4V" secondAttribute="leading" id="ZCB-0t-61d"/>
|
||||
<constraint firstItem="1Ye-0Q-Ars" firstAttribute="top" secondItem="HJ8-fz-wWx" secondAttribute="bottom" constant="4" id="bzk-lp-22S"/>
|
||||
<constraint firstItem="qhY-xK-j4V" firstAttribute="leading" secondItem="H2p-sc-9uM" secondAttribute="leading" constant="16" id="eQd-xw-aT2"/>
|
||||
<constraint firstItem="HJ8-fz-wWx" firstAttribute="top" secondItem="qhY-xK-j4V" secondAttribute="bottom" constant="4" id="gJu-uP-c6T"/>
|
||||
<constraint firstAttribute="bottom" secondItem="flF-ys-FmL" secondAttribute="bottom" id="jeJ-ag-rT0"/>
|
||||
<constraint firstItem="HJ8-fz-wWx" firstAttribute="leading" secondItem="qhY-xK-j4V" secondAttribute="leading" id="tTq-x2-K3e"/>
|
||||
<constraint firstItem="K90-F2-gDK" firstAttribute="leading" secondItem="qhY-xK-j4V" secondAttribute="leading" id="z1r-cR-lZo"/>
|
||||
</constraints>
|
||||
</tableViewCellContentView>
|
||||
<viewLayoutGuide key="safeArea" id="aW0-zy-SZf"/>
|
||||
<connections>
|
||||
<outlet property="giftLabel" destination="HJ8-fz-wWx" id="pkM-L4-ZWQ"/>
|
||||
<outlet property="giftPriceLabel" destination="1Ye-0Q-Ars" id="0fu-nF-wy3"/>
|
||||
<outlet property="moneyLabel" destination="ykc-S1-6gP" id="1sU-VR-dQw"/>
|
||||
<outlet property="nameLabel" destination="qhY-xK-j4V" id="cTI-xo-aUG"/>
|
||||
<outlet property="timeLabel" destination="K90-F2-gDK" id="57k-vs-LDq"/>
|
||||
</connections>
|
||||
<point key="canvasLocation" x="228.24427480916029" y="44.718309859154935"/>
|
||||
</tableViewCell>
|
||||
</objects>
|
||||
<resources>
|
||||
<image name="family_diamond" width="14" height="14"/>
|
||||
</resources>
|
||||
</document>
|
||||
22
QXLive/Mine(音域)/View/家族/QXFamilyTopCell.h
Normal file
22
QXLive/Mine(音域)/View/家族/QXFamilyTopCell.h
Normal file
@@ -0,0 +1,22 @@
|
||||
//
|
||||
// QXFamilyTopCell.h
|
||||
// QXLive
|
||||
//
|
||||
// Created by 启星 on 2025/11/26.
|
||||
//
|
||||
|
||||
#import <UIKit/UIKit.h>
|
||||
#import "QXFamilyModel.h"
|
||||
NS_ASSUME_NONNULL_BEGIN
|
||||
|
||||
@interface QXFamilyTopCell : UITableViewCell
|
||||
@property (weak, nonatomic) IBOutlet QXSeatHeaderView *headerView;
|
||||
@property (weak, nonatomic) IBOutlet UILabel *nameLabel;
|
||||
@property (weak, nonatomic) IBOutlet UILabel *IdLabel;
|
||||
@property (weak, nonatomic) IBOutlet UILabel *priceLabel;
|
||||
@property (weak, nonatomic) IBOutlet UIButton *timesBtn;
|
||||
@property (strong, nonatomic) QXFamilyModel *model;
|
||||
+(instancetype)cellWithTableView:(UITableView *)tableView;
|
||||
@end
|
||||
|
||||
NS_ASSUME_NONNULL_END
|
||||
55
QXLive/Mine(音域)/View/家族/QXFamilyTopCell.m
Normal file
55
QXLive/Mine(音域)/View/家族/QXFamilyTopCell.m
Normal file
@@ -0,0 +1,55 @@
|
||||
//
|
||||
// QXFamilyTopCell.m
|
||||
// QXLive
|
||||
//
|
||||
// Created by 启星 on 2025/11/26.
|
||||
//
|
||||
|
||||
#import "QXFamilyTopCell.h"
|
||||
#import "QXFamilyPriceRecordViewController.h"
|
||||
|
||||
@implementation QXFamilyTopCell
|
||||
+(instancetype)cellWithTableView:(UITableView *)tableView{
|
||||
static NSString *cellId = @"QXFamilyTopCell";
|
||||
QXFamilyTopCell *cell = [tableView dequeueReusableCellWithIdentifier:cellId];
|
||||
if (!cell) {
|
||||
cell = [[NSBundle mainBundle] loadNibNamed:cellId owner:nil options:nil].lastObject;
|
||||
cell.backgroundColor = [UIColor clearColor];
|
||||
cell.contentView.backgroundColor = [UIColor clearColor];
|
||||
cell.selectionStyle = UITableViewCellSelectionStyleNone;
|
||||
}
|
||||
return cell;
|
||||
}
|
||||
- (void)awakeFromNib {
|
||||
[super awakeFromNib];
|
||||
// Initialization code
|
||||
}
|
||||
- (IBAction)familyGroupAction:(id)sender {
|
||||
if (self.model.group_members_lists.count == 0) {
|
||||
showToast(@"家族群至少需要签约一位徒弟");
|
||||
}else{
|
||||
[[QXGlobal shareGlobal] chatWithGroupId:self.model.group_id cover:self.model.group_owner_info.avatar name:[NSString stringWithFormat:@"%@的家族",self.model.group_owner_info.nickname] navagationController:self.viewController.navigationController];
|
||||
}
|
||||
}
|
||||
|
||||
-(void)setModel:(QXFamilyModel *)model{
|
||||
_model = model;
|
||||
[self.headerView setHeadIcon:model.group_owner_info.avatar dress:model.group_owner_info.dress];
|
||||
[self.headerView.nobilityImageView sd_setImageWithURL:[NSURL URLWithString:model.group_owner_info.nobility_image]];
|
||||
self.nameLabel.text = model.group_owner_info.nickname;
|
||||
self.IdLabel.text = [NSString stringWithFormat:@"ID:%@",model.group_owner_info.user_code];
|
||||
self.priceLabel.text = model.group_earnings;
|
||||
[self.timesBtn setTitle:[NSString stringWithFormat:@"签约次数:%@",model.group_members_num] forState:(UIControlStateNormal)];
|
||||
}
|
||||
- (IBAction)moreAction:(id)sender {
|
||||
QXFamilyPriceRecordViewController *vc = [[QXFamilyPriceRecordViewController alloc] init];
|
||||
[self.viewController.navigationController pushViewController:vc animated:YES];
|
||||
}
|
||||
|
||||
- (void)setSelected:(BOOL)selected animated:(BOOL)animated {
|
||||
[super setSelected:selected animated:animated];
|
||||
|
||||
// Configure the view for the selected state
|
||||
}
|
||||
|
||||
@end
|
||||
194
QXLive/Mine(音域)/View/家族/QXFamilyTopCell.xib
Normal file
194
QXLive/Mine(音域)/View/家族/QXFamilyTopCell.xib
Normal file
@@ -0,0 +1,194 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<document type="com.apple.InterfaceBuilder3.CocoaTouch.XIB" version="3.0" toolsVersion="23504" 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="23506"/>
|
||||
<capability name="Safe area layout guides" minToolsVersion="9.0"/>
|
||||
<capability name="System colors in document resources" minToolsVersion="11.0"/>
|
||||
<capability name="documents saved in the Xcode 8 format" minToolsVersion="8.0"/>
|
||||
</dependencies>
|
||||
<objects>
|
||||
<placeholder placeholderIdentifier="IBFilesOwner" id="-1" userLabel="File's Owner"/>
|
||||
<placeholder placeholderIdentifier="IBFirstResponder" id="-2" customClass="UIResponder"/>
|
||||
<tableViewCell contentMode="scaleToFill" selectionStyle="default" indentationWidth="10" rowHeight="151" id="KGk-i7-Jjw" customClass="QXFamilyTopCell">
|
||||
<rect key="frame" x="0.0" y="0.0" width="450" height="166"/>
|
||||
<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="450" height="166"/>
|
||||
<autoresizingMask key="autoresizingMask"/>
|
||||
<subviews>
|
||||
<view contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="3BO-xe-hek">
|
||||
<rect key="frame" x="16" y="6" width="418" height="154"/>
|
||||
<subviews>
|
||||
<imageView clipsSubviews="YES" userInteractionEnabled="NO" contentMode="scaleToFill" horizontalHuggingPriority="251" verticalHuggingPriority="251" image="family_top_card_bg" translatesAutoresizingMaskIntoConstraints="NO" id="GHu-EJ-Wbd">
|
||||
<rect key="frame" x="0.0" y="0.0" width="418" height="154"/>
|
||||
</imageView>
|
||||
<view contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="e13-1K-ekR" customClass="QXSeatHeaderView">
|
||||
<rect key="frame" x="12" y="12" width="52" height="68"/>
|
||||
<constraints>
|
||||
<constraint firstAttribute="width" constant="52" id="ANo-cs-wER"/>
|
||||
<constraint firstAttribute="height" constant="68" id="XBq-sk-iDv"/>
|
||||
</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="TkV-BL-yL5">
|
||||
<rect key="frame" x="70" y="18" width="32" height="20"/>
|
||||
<fontDescription key="fontDescription" type="boldSystem" pointSize="16"/>
|
||||
<color key="textColor" name="labelColor" catalog="System" colorSpace="catalog"/>
|
||||
<nil key="highlightedColor"/>
|
||||
</label>
|
||||
<label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="ID:000" textAlignment="natural" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="z3B-k1-NTB">
|
||||
<rect key="frame" x="70" y="48" width="41" height="16"/>
|
||||
<fontDescription key="fontDescription" type="system" pointSize="13"/>
|
||||
<color key="textColor" red="0.0" green="0.0" blue="0.0" alpha="0.65000000000000002" colorSpace="custom" customColorSpace="sRGB"/>
|
||||
<nil key="highlightedColor"/>
|
||||
</label>
|
||||
<button opaque="NO" contentMode="scaleToFill" contentHorizontalAlignment="center" contentVerticalAlignment="center" lineBreakMode="middleTruncation" translatesAutoresizingMaskIntoConstraints="NO" id="PyP-w3-ARC">
|
||||
<rect key="frame" x="347" y="34" width="59" height="24"/>
|
||||
<color key="backgroundColor" red="1" green="1" blue="1" alpha="1" colorSpace="custom" customColorSpace="sRGB"/>
|
||||
<constraints>
|
||||
<constraint firstAttribute="width" constant="59" id="YPA-f2-6hz"/>
|
||||
<constraint firstAttribute="height" constant="24" id="us6-M5-pLx"/>
|
||||
</constraints>
|
||||
<fontDescription key="fontDescription" type="system" pointSize="14"/>
|
||||
<inset key="imageEdgeInsets" minX="0.0" minY="0.0" maxX="2.2250738585072014e-308" maxY="0.0"/>
|
||||
<state key="normal" title="家族群">
|
||||
<color key="titleColor" red="0.22745098039215686" green="0.73725490196078436" blue="0.42745098039215684" alpha="1" colorSpace="custom" customColorSpace="sRGB"/>
|
||||
</state>
|
||||
<userDefinedRuntimeAttributes>
|
||||
<userDefinedRuntimeAttribute type="boolean" keyPath="layer.masksToBounds" value="YES"/>
|
||||
<userDefinedRuntimeAttribute type="number" keyPath="layer.cornerRadius">
|
||||
<integer key="value" value="12"/>
|
||||
</userDefinedRuntimeAttribute>
|
||||
</userDefinedRuntimeAttributes>
|
||||
<connections>
|
||||
<action selector="familyGroupAction:" destination="KGk-i7-Jjw" eventType="touchUpInside" id="kgd-1Q-MnU"/>
|
||||
</connections>
|
||||
</button>
|
||||
<imageView clipsSubviews="YES" userInteractionEnabled="NO" contentMode="scaleToFill" horizontalHuggingPriority="251" verticalHuggingPriority="251" image="family_top_money_bg" translatesAutoresizingMaskIntoConstraints="NO" id="7nK-sc-Xb1">
|
||||
<rect key="frame" x="12" y="90" width="394" height="34"/>
|
||||
<constraints>
|
||||
<constraint firstAttribute="height" constant="34" id="8p3-Y6-R2b"/>
|
||||
</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="e4c-SV-262">
|
||||
<rect key="frame" x="20" y="97.333333333333329" width="71.666666666666671" height="19.333333333333329"/>
|
||||
<fontDescription key="fontDescription" type="boldSystem" pointSize="16"/>
|
||||
<color key="textColor" red="1" green="0.15294117647058825" blue="0.15294117647058825" alpha="1" colorSpace="custom" customColorSpace="sRGB"/>
|
||||
<nil key="highlightedColor"/>
|
||||
</label>
|
||||
<label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="10" textAlignment="natural" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="3Oj-ZZ-dJY">
|
||||
<rect key="frame" x="115.66666666666666" y="97" width="19" height="20"/>
|
||||
<fontDescription key="fontDescription" type="boldSystem" pointSize="16"/>
|
||||
<color key="textColor" red="1" green="0.1529411765" blue="0.1529411765" alpha="1" colorSpace="custom" customColorSpace="sRGB"/>
|
||||
<nil key="highlightedColor"/>
|
||||
</label>
|
||||
<imageView clipsSubviews="YES" userInteractionEnabled="NO" contentMode="scaleAspectFit" horizontalHuggingPriority="251" verticalHuggingPriority="251" image="wallet_diamond" translatesAutoresizingMaskIntoConstraints="NO" id="cTA-sK-hax">
|
||||
<rect key="frame" x="93.666666666666671" y="97" width="20" height="20"/>
|
||||
<constraints>
|
||||
<constraint firstAttribute="height" constant="20" id="DQX-KA-pkE"/>
|
||||
<constraint firstAttribute="width" constant="20" id="NPS-q0-41H"/>
|
||||
</constraints>
|
||||
</imageView>
|
||||
<button opaque="NO" contentMode="scaleToFill" contentHorizontalAlignment="center" contentVerticalAlignment="center" lineBreakMode="middleTruncation" translatesAutoresizingMaskIntoConstraints="NO" id="p1I-Q6-afr">
|
||||
<rect key="frame" x="12" y="118" width="95" height="24"/>
|
||||
<color key="backgroundColor" red="0.73333333333333328" green="0.63529411764705879" blue="0.99607843137254903" alpha="1" colorSpace="custom" customColorSpace="sRGB"/>
|
||||
<constraints>
|
||||
<constraint firstAttribute="width" constant="95" id="9QQ-oj-Ef7"/>
|
||||
<constraint firstAttribute="height" constant="24" id="fqd-hY-yNf"/>
|
||||
</constraints>
|
||||
<fontDescription key="fontDescription" type="system" pointSize="13"/>
|
||||
<inset key="imageEdgeInsets" minX="0.0" minY="0.0" maxX="2.2250738585072014e-308" maxY="0.0"/>
|
||||
<state key="normal" title="签约次数:2"/>
|
||||
<userDefinedRuntimeAttributes>
|
||||
<userDefinedRuntimeAttribute type="boolean" keyPath="layer.masksToBounds" value="YES"/>
|
||||
<userDefinedRuntimeAttribute type="number" keyPath="layer.cornerRadius">
|
||||
<integer key="value" value="12"/>
|
||||
</userDefinedRuntimeAttribute>
|
||||
</userDefinedRuntimeAttributes>
|
||||
</button>
|
||||
<button opaque="NO" contentMode="scaleToFill" contentHorizontalAlignment="center" contentVerticalAlignment="center" lineBreakMode="middleTruncation" translatesAutoresizingMaskIntoConstraints="NO" id="0gn-8b-lI6">
|
||||
<rect key="frame" x="303" y="90" width="95" height="34"/>
|
||||
<constraints>
|
||||
<constraint firstAttribute="width" constant="95" id="s59-iI-L71"/>
|
||||
</constraints>
|
||||
<fontDescription key="fontDescription" type="system" pointSize="13"/>
|
||||
<inset key="imageEdgeInsets" minX="0.0" minY="0.0" maxX="2.2250738585072014e-308" maxY="0.0"/>
|
||||
<state key="normal" title="查看更多">
|
||||
<color key="titleColor" red="0.0" green="0.0" blue="0.0" alpha="0.48999999999999999" colorSpace="custom" customColorSpace="sRGB"/>
|
||||
</state>
|
||||
<userDefinedRuntimeAttributes>
|
||||
<userDefinedRuntimeAttribute type="boolean" keyPath="layer.masksToBounds" value="YES"/>
|
||||
<userDefinedRuntimeAttribute type="number" keyPath="layer.cornerRadius">
|
||||
<integer key="value" value="12"/>
|
||||
</userDefinedRuntimeAttribute>
|
||||
</userDefinedRuntimeAttributes>
|
||||
<connections>
|
||||
<action selector="moreAction:" destination="KGk-i7-Jjw" eventType="touchUpInside" id="VfQ-Au-zQr"/>
|
||||
</connections>
|
||||
</button>
|
||||
</subviews>
|
||||
<color key="backgroundColor" systemColor="systemBackgroundColor"/>
|
||||
<constraints>
|
||||
<constraint firstAttribute="trailing" secondItem="GHu-EJ-Wbd" secondAttribute="trailing" id="0jE-EF-hX0"/>
|
||||
<constraint firstItem="TkV-BL-yL5" firstAttribute="top" secondItem="e13-1K-ekR" secondAttribute="top" constant="6" id="75K-gp-Cgc"/>
|
||||
<constraint firstAttribute="bottom" secondItem="p1I-Q6-afr" secondAttribute="bottom" constant="12" id="8lM-bl-kBQ"/>
|
||||
<constraint firstAttribute="trailing" secondItem="7nK-sc-Xb1" secondAttribute="trailing" constant="12" id="9sa-qm-BwO"/>
|
||||
<constraint firstAttribute="trailing" secondItem="PyP-w3-ARC" secondAttribute="trailing" constant="12" id="ArF-ga-7Pc"/>
|
||||
<constraint firstItem="e4c-SV-262" firstAttribute="centerY" secondItem="7nK-sc-Xb1" secondAttribute="centerY" id="Fet-Ld-aPl"/>
|
||||
<constraint firstItem="0gn-8b-lI6" firstAttribute="top" secondItem="7nK-sc-Xb1" secondAttribute="top" id="JhD-54-GuB"/>
|
||||
<constraint firstItem="e13-1K-ekR" firstAttribute="top" secondItem="3BO-xe-hek" secondAttribute="top" constant="12" id="K3Q-PA-aBG"/>
|
||||
<constraint firstItem="GHu-EJ-Wbd" firstAttribute="top" secondItem="3BO-xe-hek" secondAttribute="top" id="NnM-R4-vuZ"/>
|
||||
<constraint firstItem="PyP-w3-ARC" firstAttribute="centerY" secondItem="e13-1K-ekR" secondAttribute="centerY" id="PaC-cQ-ZGg"/>
|
||||
<constraint firstItem="e13-1K-ekR" firstAttribute="leading" secondItem="3BO-xe-hek" secondAttribute="leading" constant="12" id="SL7-K7-CzP"/>
|
||||
<constraint firstItem="7nK-sc-Xb1" firstAttribute="top" secondItem="e13-1K-ekR" secondAttribute="bottom" constant="10" id="The-Fm-7EX"/>
|
||||
<constraint firstItem="z3B-k1-NTB" firstAttribute="leading" secondItem="TkV-BL-yL5" secondAttribute="leading" id="TmM-oO-jaK"/>
|
||||
<constraint firstAttribute="trailing" secondItem="0gn-8b-lI6" secondAttribute="trailing" constant="20" id="U3O-kJ-MpN"/>
|
||||
<constraint firstItem="TkV-BL-yL5" firstAttribute="leading" secondItem="e13-1K-ekR" secondAttribute="trailing" constant="6" id="VM4-zX-a10"/>
|
||||
<constraint firstItem="cTA-sK-hax" firstAttribute="leading" secondItem="e4c-SV-262" secondAttribute="trailing" constant="2" id="ZQc-Hs-BIy"/>
|
||||
<constraint firstItem="cTA-sK-hax" firstAttribute="centerY" secondItem="7nK-sc-Xb1" secondAttribute="centerY" id="cPp-hD-TGb"/>
|
||||
<constraint firstItem="7nK-sc-Xb1" firstAttribute="leading" secondItem="3BO-xe-hek" secondAttribute="leading" constant="12" id="cbo-tO-HwG"/>
|
||||
<constraint firstItem="3Oj-ZZ-dJY" firstAttribute="centerY" secondItem="7nK-sc-Xb1" secondAttribute="centerY" id="iaD-sN-p3Y"/>
|
||||
<constraint firstItem="e4c-SV-262" firstAttribute="leading" secondItem="7nK-sc-Xb1" secondAttribute="leading" constant="8" id="j67-lX-4D3"/>
|
||||
<constraint firstItem="p1I-Q6-afr" firstAttribute="leading" secondItem="e13-1K-ekR" secondAttribute="leading" id="jgY-0h-fIK"/>
|
||||
<constraint firstItem="3Oj-ZZ-dJY" firstAttribute="leading" secondItem="cTA-sK-hax" secondAttribute="trailing" constant="2" id="lNr-Lh-ws1"/>
|
||||
<constraint firstItem="0gn-8b-lI6" firstAttribute="bottom" secondItem="7nK-sc-Xb1" secondAttribute="bottom" id="sfq-af-C6B"/>
|
||||
<constraint firstAttribute="bottom" secondItem="GHu-EJ-Wbd" secondAttribute="bottom" id="srm-KP-Woe"/>
|
||||
<constraint firstItem="GHu-EJ-Wbd" firstAttribute="leading" secondItem="3BO-xe-hek" secondAttribute="leading" id="tYV-M9-uBA"/>
|
||||
<constraint firstItem="z3B-k1-NTB" firstAttribute="top" secondItem="TkV-BL-yL5" secondAttribute="bottom" constant="10" id="w2f-jH-NvI"/>
|
||||
</constraints>
|
||||
<userDefinedRuntimeAttributes>
|
||||
<userDefinedRuntimeAttribute type="boolean" keyPath="layer.masksToBounds" value="YES"/>
|
||||
<userDefinedRuntimeAttribute type="number" keyPath="layer.cornerRadius">
|
||||
<integer key="value" value="12"/>
|
||||
</userDefinedRuntimeAttribute>
|
||||
</userDefinedRuntimeAttributes>
|
||||
</view>
|
||||
</subviews>
|
||||
<constraints>
|
||||
<constraint firstItem="3BO-xe-hek" firstAttribute="leading" secondItem="H2p-sc-9uM" secondAttribute="leading" constant="16" id="4fs-bY-gK5"/>
|
||||
<constraint firstAttribute="trailing" secondItem="3BO-xe-hek" secondAttribute="trailing" constant="16" id="iQP-Gx-B1k"/>
|
||||
<constraint firstItem="3BO-xe-hek" firstAttribute="top" secondItem="H2p-sc-9uM" secondAttribute="top" constant="6" id="o1N-M7-JGZ"/>
|
||||
<constraint firstAttribute="bottom" secondItem="3BO-xe-hek" secondAttribute="bottom" constant="6" id="whe-CV-i6e"/>
|
||||
</constraints>
|
||||
</tableViewCellContentView>
|
||||
<viewLayoutGuide key="safeArea" id="aW0-zy-SZf"/>
|
||||
<connections>
|
||||
<outlet property="IdLabel" destination="z3B-k1-NTB" id="boA-R9-9hQ"/>
|
||||
<outlet property="headerView" destination="e13-1K-ekR" id="Oho-Pf-Go7"/>
|
||||
<outlet property="nameLabel" destination="TkV-BL-yL5" id="4va-BZ-DuQ"/>
|
||||
<outlet property="priceLabel" destination="3Oj-ZZ-dJY" id="7EC-Hv-Xv0"/>
|
||||
<outlet property="timesBtn" destination="p1I-Q6-afr" id="N9W-RK-ulb"/>
|
||||
</connections>
|
||||
<point key="canvasLocation" x="238.1679389312977" y="57.04225352112676"/>
|
||||
</tableViewCell>
|
||||
</objects>
|
||||
<resources>
|
||||
<image name="family_top_card_bg" width="343" height="154"/>
|
||||
<image name="family_top_money_bg" width="319" height="34"/>
|
||||
<image name="wallet_diamond" width="28" height="28"/>
|
||||
<systemColor name="systemBackgroundColor">
|
||||
<color white="1" alpha="1" colorSpace="custom" customColorSpace="genericGamma22GrayColorSpace"/>
|
||||
</systemColor>
|
||||
</resources>
|
||||
</document>
|
||||
@@ -21,7 +21,12 @@
|
||||
-(void)setModel:(QXDayTaskListModel *)model{
|
||||
_model = model;
|
||||
self.titleLabel.text = model.task_name;
|
||||
NSString*subTitle = [NSString stringWithFormat:@"金币+%@",model.gold_reward];
|
||||
NSString*subTitle = @"";
|
||||
if (model.reward_type.intValue == 1) {
|
||||
subTitle = [NSString stringWithFormat:@"金币+%@",model.gold_reward];
|
||||
}else{
|
||||
subTitle = [NSString stringWithFormat:@"钻石+%@",model.gold_reward];
|
||||
}
|
||||
NSMutableAttributedString *attr = [[NSMutableAttributedString alloc] initWithString:subTitle];
|
||||
[attr yy_setColor:RGB16(0xFF8827) range:[subTitle rangeOfString:[NSString stringWithFormat:@"+%@",model.gold_reward]]];
|
||||
self.subTitleLabel.attributedText = attr;
|
||||
|
||||
Reference in New Issue
Block a user