add message exercises

This commit is contained in:
lianxiang
2018-08-23 18:09:15 +08:00
parent 3b8f57d02f
commit d43d7eaaf6
51 changed files with 1713 additions and 122 deletions
@@ -0,0 +1,13 @@
//
// ActiveMesagelistVC.h
// GIGA
//
// Created by lianxiang on 2018/8/23.
// Copyright © 2018年 com.giga.ios. All rights reserved.
//
#import "GiGaBaseViewController.h"
@interface ActiveMesagelistVC : GiGaBaseViewController
@end
@@ -0,0 +1,99 @@
//
// ActiveMesagelistVC.m
// GIGA
//
// Created by lianxiang on 2018/8/23.
// Copyright © 2018年 com.giga.ios. All rights reserved.
//
#import "ActiveMesagelistVC.h"
#import "MessageListViewCell.h"
#import "MessageDetailViewController.h"
@interface ActiveMesagelistVC ()
@property (nonatomic,strong) NSMutableArray *dataArr;
@end
@implementation ActiveMesagelistVC
- (void)viewDidLoad {
[super viewDidLoad];
self.title = @"活动消息";
_dataArr = [[NSMutableArray alloc] init];
[self.view addSubview:self.tableView];
self.tableView.delegate = self;
self.tableView.dataSource = self;
self.tableView.separatorStyle = UITableViewCellSelectionStyleNone;
self.tableView.tableFooterView = [[UIView alloc] init];
self.tableView.backgroundColor = GIGARGB(242, 242, 242, 1);
}
- (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section
{
return 1;
}
- (NSInteger)numberOfSectionsInTableView:(UITableView *)tableView{
return 3;
}
- (CGFloat)tableView:(UITableView *)tableView heightForRowAtIndexPath:(NSIndexPath *)indexPath
{
return 302;
}
- (CGFloat)tableView:(UITableView *)tableView heightForHeaderInSection:(NSInteger)section{
return 20;
}
-(CGFloat)tableView:(UITableView *)tableView heightForFooterInSection:(NSInteger)section{
return 1;
}
- (UIView *)tableView:(UITableView *)tableView viewForHeaderInSection:(NSInteger)section{
UIView *headerView = [[UIView alloc] initWithFrame:CGRectMake(0, 0, self.view.frame.size.width, 20)];
headerView.backgroundColor = GIGARGB(242, 242, 242, 1);
UILabel *timeLabel = [[UILabel alloc] initWithFrame:CGRectMake(0, 0, headerView.frame.size.width, 20)];
timeLabel.textAlignment = NSTextAlignmentCenter;
timeLabel.textColor = [UIColor lightGrayColor];
timeLabel.font = [UIFont systemFontOfSize:14];
timeLabel.text = @"2018年8月22日";
[headerView addSubview:timeLabel];
return headerView;
}
- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath{
MessageListViewCell *cell = [tableView dequeueReusableCellWithIdentifier:@"MessageListViewCell"];
if (!cell) {
cell = [[[NSBundle mainBundle] loadNibNamed:@"MessageListViewCell" owner:self options:nil] lastObject];
}
//[cell loadCellDataAtIndex:indexPath];
return cell;
}
-(void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath{
[tableView deselectRowAtIndexPath:indexPath animated:YES];
MessageDetailViewController *detailVC = [[MessageDetailViewController alloc] init];
[self.navigationController pushViewController:detailVC animated:YES];
}
- (void)didReceiveMemoryWarning {
[super didReceiveMemoryWarning];
// Dispose of any resources that can be recreated.
}
@end
@@ -0,0 +1,13 @@
//
// GiGaMasssagesVC.h
// GIGA
//
// Created by lianxiang on 2018/8/23.
// Copyright © 2018年 com.giga.ios. All rights reserved.
//
#import <UIKit/UIKit.h>
#import "GiGaBaseViewController.h"
@interface GiGaMasssagesVC : GiGaBaseViewController
@end
@@ -0,0 +1,106 @@
//
// GiGaMasssagesVC.m
// GIGA
//
// Created by lianxiang on 2018/8/23.
// Copyright © 2018年 com.giga.ios. All rights reserved.
//
#import "GiGaMasssagesVC.h"
#import "MAssaageCenterCell.h"
#import "ActiveMesagelistVC.h"
#import "GiGaServiceViewController.h"
#import "GiGaSystemViewController.h"
@interface GiGaMasssagesVC ()
@property (nonatomic,strong)NSMutableArray *dataArr;
@end
@implementation GiGaMasssagesVC
- (void)viewDidLoad {
[super viewDidLoad];
// Do any additional setup after loading the view.
self.title = @"消息中心";
self.view.backgroundColor = GIGARGB(242, 242, 242, 1);
_dataArr = [NSMutableArray new];
[self.view addSubview:self.tableView];
self.tableView.delegate = self;
self.tableView.dataSource = self;
self.tableView.separatorStyle = UITableViewCellSelectionStyleNone;
self.tableView.tableFooterView = [[UIView alloc] init];
self.tableView.backgroundColor = GIGARGB(242, 242, 242, 1);
self.tableView.tableHeaderView = [[UIView alloc] initWithFrame:CGRectMake(0, 0, self.view.frame.size.width, 5)];
}
- (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section
{
return 1;
}
- (NSInteger)numberOfSectionsInTableView:(UITableView *)tableView{
return 3;
}
- (CGFloat)tableView:(UITableView *)tableView heightForRowAtIndexPath:(NSIndexPath *)indexPath
{
return 80;
}
- (CGFloat)tableView:(UITableView *)tableView heightForHeaderInSection:(NSInteger)section{
return 0.1;
}
- (CGFloat)tableView:(UITableView *)tableView heightForFooterInSection:(NSInteger)section{
return 10;
}
-(UIView *)tableView:(UITableView *)tableView viewForFooterInSection:(NSInteger)section{
return [[UIView alloc] init];
}
- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath{
MAssaageCenterCell *cell = [tableView dequeueReusableCellWithIdentifier:@"MAssaageCenterCell"];
if (!cell) {
cell = [[[NSBundle mainBundle] loadNibNamed:@"MAssaageCenterCell" owner:self options:nil] lastObject];
}
[cell loadCellDataAtIndex:indexPath];
return cell;
}
-(void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath{
[tableView deselectRowAtIndexPath:indexPath animated:YES];
if (indexPath.section == 0) {
ActiveMesagelistVC *activeVC = [[ActiveMesagelistVC alloc] init];
[self.navigationController pushViewController:activeVC animated:YES];
}else if (indexPath.section == 1){
GiGaServiceViewController *serviceVC = [[GiGaServiceViewController alloc] init];
[self.navigationController pushViewController:serviceVC animated:YES];
}else{
GiGaSystemViewController *systemVC = [[GiGaSystemViewController alloc] init];
[self.navigationController pushViewController:systemVC animated:YES];
}
}
- (void)didReceiveMemoryWarning {
[super didReceiveMemoryWarning];
// Dispose of any resources that can be recreated.
}
@end
@@ -0,0 +1,13 @@
//
// GiGaServiceViewController.h
// GIGA
//
// Created by lianxiang on 2018/8/23.
// Copyright © 2018年 com.giga.ios. All rights reserved.
//
#import "GiGaBaseViewController.h"
@interface GiGaServiceViewController : GiGaBaseViewController
@end
@@ -0,0 +1,39 @@
//
// GiGaServiceViewController.m
// GIGA
//
// Created by lianxiang on 2018/8/23.
// Copyright © 2018年 com.giga.ios. All rights reserved.
//
#import "GiGaServiceViewController.h"
@interface GiGaServiceViewController ()
@end
@implementation GiGaServiceViewController
- (void)viewDidLoad {
[super viewDidLoad];
self.title = @"服务消息";
self.view.backgroundColor = GIGARGB(242, 242, 242, 1);
// Do any additional setup after loading the view.
}
- (void)didReceiveMemoryWarning {
[super didReceiveMemoryWarning];
// Dispose of any resources that can be recreated.
}
/*
#pragma mark - Navigation
// In a storyboard-based application, you will often want to do a little preparation before navigation
- (void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender {
// Get the new view controller using [segue destinationViewController].
// Pass the selected object to the new view controller.
}
*/
@end
@@ -0,0 +1,13 @@
//
// GiGaSystemViewController.h
// GIGA
//
// Created by lianxiang on 2018/8/23.
// Copyright © 2018年 com.giga.ios. All rights reserved.
//
#import "GiGaBaseViewController.h"
@interface GiGaSystemViewController : GiGaBaseViewController
@end
@@ -0,0 +1,40 @@
//
// GiGaSystemViewController.m
// GIGA
//
// Created by lianxiang on 2018/8/23.
// Copyright © 2018年 com.giga.ios. All rights reserved.
//
#import "GiGaSystemViewController.h"
@interface GiGaSystemViewController ()
@end
@implementation GiGaSystemViewController
- (void)viewDidLoad {
[super viewDidLoad];
self.title = @"系统消息";
self.view.backgroundColor = GIGARGB(242, 242, 242, 1);
// Do any additional setup after loading the view.
}
- (void)didReceiveMemoryWarning {
[super didReceiveMemoryWarning];
// Dispose of any resources that can be recreated.
}
/*
#pragma mark - Navigation
// In a storyboard-based application, you will often want to do a little preparation before navigation
- (void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender {
// Get the new view controller using [segue destinationViewController].
// Pass the selected object to the new view controller.
}
*/
@end
@@ -0,0 +1,13 @@
//
// MessageDetailViewController.h
// GIGA
//
// Created by lianxiang on 2018/8/23.
// Copyright © 2018年 com.giga.ios. All rights reserved.
//
#import "GiGaBaseViewController.h"
@interface MessageDetailViewController : GiGaBaseViewController
@end
@@ -0,0 +1,39 @@
//
// MessageDetailViewController.m
// GIGA
//
// Created by lianxiang on 2018/8/23.
// Copyright © 2018年 com.giga.ios. All rights reserved.
//
#import "MessageDetailViewController.h"
@interface MessageDetailViewController ()
@end
@implementation MessageDetailViewController
- (void)viewDidLoad {
[super viewDidLoad];
self.title = @"消息详情";
self.view.backgroundColor = GIGARGB(242, 242, 242, 1);
// Do any additional setup after loading the view.
}
- (void)didReceiveMemoryWarning {
[super didReceiveMemoryWarning];
// Dispose of any resources that can be recreated.
}
/*
#pragma mark - Navigation
// In a storyboard-based application, you will often want to do a little preparation before navigation
- (void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender {
// Get the new view controller using [segue destinationViewController].
// Pass the selected object to the new view controller.
}
*/
@end
@@ -0,0 +1,18 @@
//
// MAssaageCenterCell.h
// GIGA
//
// Created by lianxiang on 2018/8/23.
// Copyright © 2018年 com.giga.ios. All rights reserved.
//
#import <UIKit/UIKit.h>
@interface MAssaageCenterCell : UITableViewCell
@property (weak, nonatomic) IBOutlet UIImageView *messageTypeIcon;
@property (weak, nonatomic) IBOutlet UILabel *mesageTypeLabel;
@property (weak, nonatomic) IBOutlet UILabel *detailLabel;
@property (weak, nonatomic) IBOutlet UILabel *messageCountLabel;
-(void)loadCellDataAtIndex:(NSIndexPath *)indexPath;
@end
@@ -0,0 +1,42 @@
//
// MAssaageCenterCell.m
// GIGA
//
// Created by lianxiang on 2018/8/23.
// Copyright © 2018年 com.giga.ios. All rights reserved.
//
#import "MAssaageCenterCell.h"
@implementation MAssaageCenterCell
- (void)awakeFromNib {
[super awakeFromNib];
// Initialization code
self.messageCountLabel.layer.masksToBounds = YES;
self.messageCountLabel.layer.cornerRadius = self.messageCountLabel.frame.size.height / 2;
}
-(void)loadCellDataAtIndex:(NSIndexPath *)indexPath{
if (indexPath.section == 0) {
self.mesageTypeLabel.text = @"活动消息";
}else if (indexPath.section ==1){
self.mesageTypeLabel.text = @"服务消息";
}else{
self.mesageTypeLabel.text = @"系统消息";
}
}
- (void)setSelected:(BOOL)selected animated:(BOOL)animated {
[super setSelected:selected animated:animated];
// Configure the view for the selected state
}
@end
@@ -0,0 +1,76 @@
<?xml version="1.0" encoding="UTF-8"?>
<document type="com.apple.InterfaceBuilder3.CocoaTouch.XIB" version="3.0" toolsVersion="14113" targetRuntime="iOS.CocoaTouch" propertyAccessControl="none" useAutolayout="YES" useTraitCollections="YES" useSafeAreas="YES" colorMatched="YES">
<device id="retina4_7" orientation="portrait">
<adaptation id="fullscreen"/>
</device>
<dependencies>
<deployment identifier="iOS"/>
<plugIn identifier="com.apple.InterfaceBuilder.IBCocoaTouchPlugin" version="14088"/>
<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" accessoryType="disclosureIndicator" indentationWidth="10" reuseIdentifier="MAssaageCenterCell" id="KGk-i7-Jjw" customClass="MAssaageCenterCell">
<rect key="frame" x="0.0" y="0.0" width="375" height="80"/>
<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="341" height="79.5"/>
<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="Ix3-eK-z1l">
<rect key="frame" x="94" y="14" width="62" height="18"/>
<fontDescription key="fontDescription" type="system" pointSize="15"/>
<color key="textColor" red="0.40000000000000002" green="0.40000000000000002" blue="0.40000000000000002" 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="vAa-ci-fXs">
<rect key="frame" x="96" y="48" width="58" height="17"/>
<fontDescription key="fontDescription" type="system" pointSize="14"/>
<color key="textColor" red="0.59999999999999998" green="0.59999999999999998" blue="0.59999999999999998" alpha="1" colorSpace="custom" customColorSpace="sRGB"/>
<nil key="highlightedColor"/>
</label>
<imageView userInteractionEnabled="NO" contentMode="scaleAspectFill" horizontalHuggingPriority="251" verticalHuggingPriority="251" translatesAutoresizingMaskIntoConstraints="NO" id="C4B-7U-hHJ">
<rect key="frame" x="16" y="14" width="53" height="51"/>
<color key="backgroundColor" red="0.40468725620000001" green="1" blue="0.9282041969" alpha="1" colorSpace="custom" customColorSpace="sRGB"/>
<constraints>
<constraint firstAttribute="width" constant="53" id="Skp-Og-ZYW"/>
<constraint firstAttribute="height" constant="51" id="z9q-41-BTw"/>
</constraints>
</imageView>
<label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="1" textAlignment="center" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="E3D-vF-RAu">
<rect key="frame" x="306" y="29" width="20" height="20"/>
<color key="backgroundColor" red="1" green="0.34901960784313724" blue="0.094117647058823528" alpha="1" colorSpace="custom" customColorSpace="sRGB"/>
<constraints>
<constraint firstAttribute="height" constant="20" id="Nfi-Su-Taw"/>
<constraint firstAttribute="width" constant="20" id="pAn-7E-qge"/>
</constraints>
<fontDescription key="fontDescription" type="system" pointSize="14"/>
<color key="textColor" white="1" alpha="1" colorSpace="custom" customColorSpace="genericGamma22GrayColorSpace"/>
<nil key="highlightedColor"/>
</label>
</subviews>
<color key="backgroundColor" white="1" alpha="1" colorSpace="custom" customColorSpace="genericGamma22GrayColorSpace"/>
<constraints>
<constraint firstItem="C4B-7U-hHJ" firstAttribute="centerY" secondItem="H2p-sc-9uM" secondAttribute="centerY" id="5yf-7H-rvZ"/>
<constraint firstItem="E3D-vF-RAu" firstAttribute="centerY" secondItem="H2p-sc-9uM" secondAttribute="centerY" id="GgW-2e-PKC"/>
<constraint firstItem="vAa-ci-fXs" firstAttribute="leading" secondItem="C4B-7U-hHJ" secondAttribute="trailing" constant="27" id="Kl1-mk-Nt4"/>
<constraint firstItem="Ix3-eK-z1l" firstAttribute="leading" secondItem="C4B-7U-hHJ" secondAttribute="trailing" constant="25" id="U3u-4z-WWD"/>
<constraint firstItem="C4B-7U-hHJ" firstAttribute="leading" secondItem="H2p-sc-9uM" secondAttribute="leading" constant="16" id="krq-zT-5tg"/>
<constraint firstAttribute="trailing" secondItem="E3D-vF-RAu" secondAttribute="trailing" constant="15" id="mJl-Wb-KWg"/>
<constraint firstItem="vAa-ci-fXs" firstAttribute="top" secondItem="Ix3-eK-z1l" secondAttribute="bottom" constant="16" id="ptn-X9-NJG"/>
<constraint firstItem="Ix3-eK-z1l" firstAttribute="top" secondItem="C4B-7U-hHJ" secondAttribute="top" id="qrl-hO-kND"/>
</constraints>
</tableViewCellContentView>
<viewLayoutGuide key="safeArea" id="aW0-zy-SZf"/>
<connections>
<outlet property="detailLabel" destination="vAa-ci-fXs" id="VyJ-cP-sjR"/>
<outlet property="mesageTypeLabel" destination="Ix3-eK-z1l" id="toV-Yx-EVx"/>
<outlet property="messageCountLabel" destination="E3D-vF-RAu" id="5xD-p3-pLC"/>
<outlet property="messageTypeIcon" destination="C4B-7U-hHJ" id="DqV-Zf-PE1"/>
</connections>
<point key="canvasLocation" x="-38.5" y="-56"/>
</tableViewCell>
</objects>
</document>
@@ -0,0 +1,14 @@
//
// MessageListViewCell.h
// GIGA
//
// Created by lianxiang on 2018/8/23.
// Copyright © 2018年 com.giga.ios. All rights reserved.
//
#import <UIKit/UIKit.h>
@interface MessageListViewCell : UITableViewCell
@property (weak, nonatomic) IBOutlet UIView *backGView;
@end
@@ -0,0 +1,24 @@
//
// MessageListViewCell.m
// GIGA
//
// Created by lianxiang on 2018/8/23.
// Copyright © 2018年 com.giga.ios. All rights reserved.
//
#import "MessageListViewCell.h"
@implementation MessageListViewCell
- (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
@@ -0,0 +1,113 @@
<?xml version="1.0" encoding="UTF-8"?>
<document type="com.apple.InterfaceBuilder3.CocoaTouch.XIB" version="3.0" toolsVersion="14113" targetRuntime="iOS.CocoaTouch" propertyAccessControl="none" useAutolayout="YES" useTraitCollections="YES" useSafeAreas="YES" colorMatched="YES">
<device id="retina4_7" orientation="portrait">
<adaptation id="fullscreen"/>
</device>
<dependencies>
<deployment identifier="iOS"/>
<plugIn identifier="com.apple.InterfaceBuilder.IBCocoaTouchPlugin" version="14088"/>
<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" reuseIdentifier="MessageListViewCell" rowHeight="302" id="KGk-i7-Jjw" customClass="MessageListViewCell">
<rect key="frame" x="0.0" y="0.0" width="369" height="302"/>
<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="369" height="301.5"/>
<autoresizingMask key="autoresizingMask"/>
<subviews>
<view contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="VBK-gc-JQP">
<rect key="frame" x="16" y="0.0" width="337" height="301.5"/>
<subviews>
<label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="面膜时间" textAlignment="natural" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="ADm-L9-z8w">
<rect key="frame" x="17" y="8" width="70" height="21"/>
<fontDescription key="fontDescription" type="system" pointSize="17"/>
<nil key="textColor"/>
<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="wfT-6k-vcz">
<rect key="frame" x="276" y="8" width="53" height="21"/>
<color key="backgroundColor" red="0.10196078431372549" green="0.73725490196078436" blue="0.61176470588235299" alpha="1" colorSpace="custom" customColorSpace="sRGB"/>
<constraints>
<constraint firstAttribute="height" constant="21" id="72c-ZW-y6I"/>
<constraint firstAttribute="width" constant="53" id="hDh-F8-nJj"/>
</constraints>
<fontDescription key="fontDescription" type="italicSystem" pointSize="12"/>
<color key="textColor" white="1" alpha="1" colorSpace="custom" customColorSpace="genericGamma22GrayColorSpace"/>
<nil key="highlightedColor"/>
</label>
<label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="描述描述描述描述描述描述描述" textAlignment="natural" lineBreakMode="tailTruncation" numberOfLines="0" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="MdN-O1-ZfX">
<rect key="frame" x="13" y="185" width="200" height="17"/>
<fontDescription key="fontDescription" type="system" pointSize="14"/>
<color key="textColor" white="0.66666666669999997" alpha="1" colorSpace="calibratedWhite"/>
<nil key="highlightedColor"/>
</label>
<imageView userInteractionEnabled="NO" contentMode="scaleToFill" horizontalHuggingPriority="251" verticalHuggingPriority="251" translatesAutoresizingMaskIntoConstraints="NO" id="Ot8-cZ-UBc">
<rect key="frame" x="13" y="49" width="312" height="128"/>
<color key="backgroundColor" white="0.66666666669999997" alpha="1" colorSpace="calibratedWhite"/>
<constraints>
<constraint firstAttribute="height" constant="128" id="vut-ZA-7fO"/>
</constraints>
</imageView>
<label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="查看详情" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="mh5-y8-DwA">
<rect key="frame" x="13" y="272" width="54" height="16"/>
<fontDescription key="fontDescription" type="system" pointSize="13"/>
<color key="textColor" white="0.66666666669999997" alpha="1" colorSpace="calibratedWhite"/>
<nil key="highlightedColor"/>
</label>
<imageView userInteractionEnabled="NO" contentMode="scaleToFill" horizontalHuggingPriority="251" verticalHuggingPriority="251" translatesAutoresizingMaskIntoConstraints="NO" id="WzP-4A-azJ">
<rect key="frame" x="289" y="267" width="28" height="27"/>
<color key="backgroundColor" red="1" green="0.34901960780000002" blue="0.094117647060000004" alpha="1" colorSpace="custom" customColorSpace="sRGB"/>
<constraints>
<constraint firstAttribute="height" constant="27" id="RrA-04-4tm"/>
<constraint firstAttribute="width" constant="28" id="Utc-wv-RIN"/>
</constraints>
</imageView>
<view contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="P9q-1N-zch">
<rect key="frame" x="0.0" y="254" width="337" height="1"/>
<color key="backgroundColor" red="0.94901960780000005" green="0.94901960780000005" blue="0.94901960780000005" alpha="1" colorSpace="custom" customColorSpace="sRGB"/>
<constraints>
<constraint firstAttribute="height" constant="1" id="4me-7g-u1y"/>
</constraints>
</view>
</subviews>
<color key="backgroundColor" white="1" alpha="1" colorSpace="custom" customColorSpace="genericGamma22GrayColorSpace"/>
<constraints>
<constraint firstAttribute="trailing" secondItem="wfT-6k-vcz" secondAttribute="trailing" constant="8" id="3SU-8f-RdN"/>
<constraint firstItem="Ot8-cZ-UBc" firstAttribute="top" secondItem="ADm-L9-z8w" secondAttribute="bottom" constant="20" id="6VI-yd-4lY"/>
<constraint firstAttribute="bottom" secondItem="WzP-4A-azJ" secondAttribute="bottom" constant="7.5" id="CSp-oG-yOb"/>
<constraint firstItem="WzP-4A-azJ" firstAttribute="top" secondItem="P9q-1N-zch" secondAttribute="bottom" constant="12" id="TXG-Qa-2mJ"/>
<constraint firstItem="wfT-6k-vcz" firstAttribute="top" secondItem="VBK-gc-JQP" secondAttribute="top" constant="8" id="UEf-gb-1Nq"/>
<constraint firstItem="ADm-L9-z8w" firstAttribute="top" secondItem="VBK-gc-JQP" secondAttribute="top" constant="8" id="Ukd-Cj-Dfa"/>
<constraint firstItem="ADm-L9-z8w" firstAttribute="leading" secondItem="VBK-gc-JQP" secondAttribute="leading" constant="17" id="Zkt-lg-DKx"/>
<constraint firstItem="Ot8-cZ-UBc" firstAttribute="leading" secondItem="VBK-gc-JQP" secondAttribute="leading" constant="13" id="aIl-Np-RC8"/>
<constraint firstItem="MdN-O1-ZfX" firstAttribute="leading" secondItem="VBK-gc-JQP" secondAttribute="leading" constant="13" id="hnz-kH-DqU"/>
<constraint firstAttribute="trailing" secondItem="P9q-1N-zch" secondAttribute="trailing" id="mBx-Je-Dh4"/>
<constraint firstAttribute="trailing" secondItem="WzP-4A-azJ" secondAttribute="trailing" constant="20" id="mlx-rO-FRo"/>
<constraint firstItem="P9q-1N-zch" firstAttribute="leading" secondItem="VBK-gc-JQP" secondAttribute="leading" id="qNE-KK-Jqn"/>
<constraint firstItem="MdN-O1-ZfX" firstAttribute="top" secondItem="Ot8-cZ-UBc" secondAttribute="bottom" constant="8" id="sI8-Vf-Mvn"/>
<constraint firstItem="mh5-y8-DwA" firstAttribute="leading" secondItem="VBK-gc-JQP" secondAttribute="leading" constant="13" id="sUh-Xy-7RJ"/>
<constraint firstAttribute="bottom" secondItem="mh5-y8-DwA" secondAttribute="bottom" constant="13.5" id="vKg-dG-ygT"/>
<constraint firstAttribute="trailing" secondItem="Ot8-cZ-UBc" secondAttribute="trailing" constant="12" id="wgX-X2-VKT"/>
</constraints>
</view>
</subviews>
<color key="backgroundColor" red="0.94901960780000005" green="0.94901960780000005" blue="0.94901960780000005" alpha="1" colorSpace="custom" customColorSpace="sRGB"/>
<constraints>
<constraint firstAttribute="bottom" secondItem="VBK-gc-JQP" secondAttribute="bottom" id="068-0N-LBX"/>
<constraint firstItem="VBK-gc-JQP" firstAttribute="leading" secondItem="H2p-sc-9uM" secondAttribute="leading" constant="16" id="14D-Nt-qes"/>
<constraint firstItem="VBK-gc-JQP" firstAttribute="top" secondItem="H2p-sc-9uM" secondAttribute="top" id="IYq-6R-eXI"/>
<constraint firstAttribute="trailing" secondItem="VBK-gc-JQP" secondAttribute="trailing" constant="16" id="wMS-Oh-fyk"/>
</constraints>
</tableViewCellContentView>
<viewLayoutGuide key="safeArea" id="aW0-zy-SZf"/>
<connections>
<outlet property="backGView" destination="VBK-gc-JQP" id="Zht-54-yF6"/>
</connections>
<point key="canvasLocation" x="-12.5" y="-5"/>
</tableViewCell>
</objects>
</document>