This commit is contained in:
lianxiang
2018-09-23 01:30:29 +08:00
parent db1740e72b
commit 3508cab25e
80 changed files with 3687 additions and 127 deletions
@@ -0,0 +1,17 @@
//
// GIGaFeedImagsCollectionCell.h
// GIGA
//
// Created by lianxiang on 2018/9/22.
// Copyright © 2018年 com.giga.ios. All rights reserved.
//
#import <UIKit/UIKit.h>
@interface GIGaFeedImagsCollectionCell : UICollectionViewCell
@property (weak, nonatomic) IBOutlet UIImageView *uploadImageView;
@property (weak, nonatomic) IBOutlet UIButton *delecBtn;
@property (weak, nonatomic) IBOutlet UIView *holdView;
@property (weak, nonatomic) IBOutlet UIImageView *holdImageView;
@end
@@ -0,0 +1,20 @@
//
// GIGaFeedImagsCollectionCell.m
// GIGA
//
// Created by lianxiang on 2018/9/22.
// Copyright © 2018年 com.giga.ios. All rights reserved.
//
#import "GIGaFeedImagsCollectionCell.h"
@implementation GIGaFeedImagsCollectionCell
- (void)awakeFromNib {
[super awakeFromNib];
// Initialization code
[self.holdView bringSubviewToFront:self.delecBtn];
}
@end
@@ -0,0 +1,78 @@
<?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"/>
<collectionViewCell opaque="NO" clipsSubviews="YES" multipleTouchEnabled="YES" contentMode="center" reuseIdentifier="GIGaFeedImagsCollectionCell" id="gTV-IL-0wX" customClass="GIGaFeedImagsCollectionCell">
<rect key="frame" x="0.0" y="0.0" width="104" height="104"/>
<autoresizingMask key="autoresizingMask"/>
<view key="contentView" opaque="NO" clipsSubviews="YES" multipleTouchEnabled="YES" contentMode="center">
<rect key="frame" x="0.0" y="0.0" width="104" height="104"/>
<autoresizingMask key="autoresizingMask" flexibleMaxX="YES" flexibleMaxY="YES"/>
<subviews>
<view contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="j5W-en-Qt6">
<rect key="frame" x="0.0" y="0.0" width="104" height="104"/>
<subviews>
<imageView userInteractionEnabled="NO" contentMode="scaleAspectFit" horizontalHuggingPriority="251" verticalHuggingPriority="251" image="img_holder" translatesAutoresizingMaskIntoConstraints="NO" id="OI4-At-zxC">
<rect key="frame" x="30" y="22" width="44" height="61"/>
</imageView>
<button opaque="NO" contentMode="scaleToFill" contentHorizontalAlignment="center" contentVerticalAlignment="center" lineBreakMode="middleTruncation" translatesAutoresizingMaskIntoConstraints="NO" id="x1H-ve-Fgf">
<rect key="frame" x="54" y="0.0" width="50" height="43"/>
<constraints>
<constraint firstAttribute="height" relation="greaterThanOrEqual" constant="43" id="F0v-0l-iMj"/>
<constraint firstAttribute="width" relation="greaterThanOrEqual" constant="50" id="Fz8-ZA-RPb"/>
<constraint firstAttribute="height" constant="43" id="l0y-pL-Dc1"/>
<constraint firstAttribute="width" constant="50" id="wna-nz-SXe"/>
</constraints>
<inset key="imageEdgeInsets" minX="25" minY="0.0" maxX="0.0" maxY="17"/>
<state key="normal" image="btn_back"/>
</button>
<imageView userInteractionEnabled="NO" contentMode="scaleAspectFit" horizontalHuggingPriority="251" verticalHuggingPriority="251" translatesAutoresizingMaskIntoConstraints="NO" id="0OC-Nu-4Es">
<rect key="frame" x="0.0" y="0.0" width="104" height="104"/>
</imageView>
</subviews>
<color key="backgroundColor" red="0.87058823529999996" green="0.87058823529999996" blue="0.87058823529999996" alpha="1" colorSpace="custom" customColorSpace="sRGB"/>
<constraints>
<constraint firstItem="OI4-At-zxC" firstAttribute="top" secondItem="j5W-en-Qt6" secondAttribute="top" constant="22" id="4LG-wM-F44"/>
<constraint firstItem="0OC-Nu-4Es" firstAttribute="leading" secondItem="j5W-en-Qt6" secondAttribute="leading" id="AwC-NQ-dKH"/>
<constraint firstItem="0OC-Nu-4Es" firstAttribute="top" secondItem="j5W-en-Qt6" secondAttribute="top" id="F26-JE-MfS"/>
<constraint firstAttribute="trailing" secondItem="x1H-ve-Fgf" secondAttribute="trailing" id="Slm-mX-H0J"/>
<constraint firstItem="x1H-ve-Fgf" firstAttribute="top" secondItem="j5W-en-Qt6" secondAttribute="top" id="Sok-Vd-Aaf"/>
<constraint firstAttribute="trailing" secondItem="OI4-At-zxC" secondAttribute="trailing" constant="30" id="XGW-QQ-a0R"/>
<constraint firstAttribute="bottom" secondItem="OI4-At-zxC" secondAttribute="bottom" constant="21" id="iSn-Io-4fL"/>
<constraint firstAttribute="bottom" secondItem="0OC-Nu-4Es" secondAttribute="bottom" id="jz8-lK-9jD"/>
<constraint firstItem="OI4-At-zxC" firstAttribute="leading" secondItem="j5W-en-Qt6" secondAttribute="leading" constant="30" id="kzn-UF-b6Y"/>
<constraint firstAttribute="trailing" secondItem="0OC-Nu-4Es" secondAttribute="trailing" id="sLW-N6-cte"/>
</constraints>
</view>
</subviews>
</view>
<constraints>
<constraint firstAttribute="trailing" secondItem="j5W-en-Qt6" secondAttribute="trailing" id="65s-PX-QHc"/>
<constraint firstItem="j5W-en-Qt6" firstAttribute="leading" secondItem="gTV-IL-0wX" secondAttribute="leading" id="EHN-cC-fqn"/>
<constraint firstAttribute="bottom" secondItem="j5W-en-Qt6" secondAttribute="bottom" id="NC9-vb-9D2"/>
<constraint firstItem="j5W-en-Qt6" firstAttribute="top" secondItem="gTV-IL-0wX" secondAttribute="top" id="eCP-n4-EO0"/>
</constraints>
<viewLayoutGuide key="safeArea" id="SEy-5g-ep8"/>
<connections>
<outlet property="delecBtn" destination="x1H-ve-Fgf" id="INd-yD-1pz"/>
<outlet property="holdImageView" destination="OI4-At-zxC" id="oBf-Rq-vfK"/>
<outlet property="holdView" destination="j5W-en-Qt6" id="gzn-Kv-Cam"/>
<outlet property="uploadImageView" destination="0OC-Nu-4Es" id="Igo-Ca-Fx3"/>
</connections>
</collectionViewCell>
</objects>
<resources>
<image name="btn_back" width="22" height="22"/>
<image name="img_holder" width="51" height="43"/>
</resources>
</document>
@@ -0,0 +1,19 @@
//
// GIGaFeedPhontosViewCell.h
// GIGA
//
// Created by lianxiang on 2018/9/22.
// Copyright © 2018年 com.giga.ios. All rights reserved.
//
#import <UIKit/UIKit.h>
#import <Photos/PHAsset.h>
typedef void(^GiGaPhotoPickerBlock)(void);
@interface GIGaFeedPhontosViewCell : UITableViewCell
@property(nonatomic,copy) GiGaPhotoPickerBlock pickerBalock;
@property(nonatomic,strong) NSMutableArray *images;
@property(nonatomic,strong) UICollectionView *collectionView;
-(void)photoPikerComplete:(GiGaPhotoPickerBlock)pikerComplete;
@property(nonatomic,strong) NSMutableArray *imageNames;
@end
@@ -0,0 +1,188 @@
//
// GIGaFeedPhontosViewCell.m
// GIGA
//
// Created by lianxiang on 2018/9/22.
// Copyright © 2018年 com.giga.ios. All rights reserved.
//
#import "GIGaFeedPhontosViewCell.h"
#import "GIGaFeedImagsCollectionCell.h"
#import "GiGaFeedImagsActionCell.h"
#import "SJPhotoPickerManager.h"
#import "SJPhotoPicker.h"
#import "GIGaUserFileHelper.h"
@interface GIGaFeedPhontosViewCell()<UICollectionViewDataSource, UICollectionViewDelegate, UICollectionViewDelegateFlowLayout>
@end
@implementation GIGaFeedPhontosViewCell
- (void)awakeFromNib {
[super awakeFromNib];
// Initialization code
}
- (instancetype)initWithStyle:(UITableViewCellStyle)style reuseIdentifier:(NSString *)reuseIdentifier{
self = [super initWithStyle:style reuseIdentifier:reuseIdentifier];
if (self) {
self.selectionStyle = UITableViewCellSelectionStyleNone;
_images = [NSMutableArray new];
[self creatUI];
}
return self;
}
- (NSMutableArray *)imageNames{
if (!_imageNames) {
_imageNames = [NSMutableArray new];
}
return _imageNames;
}
-(void)creatUI{
UICollectionViewFlowLayout *flowLayout = [[UICollectionViewFlowLayout alloc] init];
flowLayout.minimumLineSpacing = 1;
flowLayout.minimumInteritemSpacing = .1;
CGFloat width = (KMainW-15*2 - 22*2)/3;
flowLayout.itemSize = CGSizeMake(width,width);
//展示两行
//CGFloat HCELL= (itemH*1+1)*2;
_collectionView=[[UICollectionView alloc]initWithFrame:CGRectMake(0,0,KMainW, 218) collectionViewLayout:flowLayout];
_collectionView.delegate=self;
_collectionView.dataSource=self;
_collectionView.bounces=NO;
_collectionView.scrollEnabled=NO;
_collectionView.showsVerticalScrollIndicator=NO;
_collectionView.backgroundColor = GIGA_MAIN_BGCOLOR;
[self addSubview:_collectionView];
[_collectionView registerNib:[UINib nibWithNibName:@"GiGaFeedImagsActionCell" bundle:nil] forCellWithReuseIdentifier:@"GiGaFeedImagsActionCell"];
[_collectionView registerNib:[UINib nibWithNibName:@"GIGaFeedImagsCollectionCell" bundle:nil] forCellWithReuseIdentifier:@"GIGaFeedImagsCollectionCell"];
}
#pragma mark <UICollectionViewDataSource>
- (NSInteger)numberOfSectionsInCollectionView:(UICollectionView *)collectionView {
return 1;
}
- (NSInteger)collectionView:(UICollectionView *)collectionView numberOfItemsInSection:(NSInteger)section {
return 1 + self.images.count;
}
- (UICollectionViewCell *)collectionView:(UICollectionView *)collectionView cellForItemAtIndexPath:(NSIndexPath *)indexPath {
if (indexPath.row == self.images.count) {
GiGaFeedImagsActionCell *cell = [collectionView dequeueReusableCellWithReuseIdentifier:@"GiGaFeedImagsActionCell" forIndexPath:indexPath];
if (!cell) {
cell = [[[NSBundle mainBundle] loadNibNamed:@"GiGaFeedImagsActionCell" owner:self options:nil] lastObject];
}
[cell.imageAdd addTarget:self action:@selector(addBtnAction:) forControlEvents:UIControlEventTouchUpInside];
return cell;
}
GIGaFeedImagsCollectionCell *cell = [collectionView dequeueReusableCellWithReuseIdentifier:@"GIGaFeedImagsCollectionCell" forIndexPath:indexPath];
if (!cell) {
cell = [[[NSBundle mainBundle] loadNibNamed:@"GIGaFeedImagsCollectionCell" owner:self options:nil] lastObject];
}
cell.delecBtn.tag = indexPath.row;
[cell.delecBtn addTarget:self action:@selector(delecBtnAction:) forControlEvents:UIControlEventTouchUpInside];
//PHImageManagerMaximumSize
[self.imageNames removeAllObjects];
[[SJPhotoPickerManager shareSJPhotoPickerManager] requestImageForPHAsset:self.images[indexPath.row] targetSize:CGSizeMake(200, 200) imageResult:^(UIImage *image) {
cell.uploadImageView.image = image;
if (image) {
cell.holdImageView.hidden = YES;
}else{
cell.holdImageView.hidden = NO;
}
cell.holdView.backgroundColor = [UIColor clearColor];
NSString *name = [NSString stringWithFormat:@"gigafeed_index%ld",(long)indexPath.row];
[GIGaUserFileHelper saveUserFeedbackImag:name image:image];
if ([self.imageNames containsObject: name]) {
[self.imageNames removeObject:name];
}
[self.imageNames addObject:name];
}];
return cell;
}
- (CGSize)collectionView:(UICollectionView *)collectionView layout:(UICollectionViewLayout*)collectionViewLayout sizeForItemAtIndexPath:(NSIndexPath *)indexPath
{
CGFloat width = (KMainW-15*2 - 22*2)/3;
CGSize itemSize = CGSizeMake(width,width);
return itemSize;
}
//距离上下左右的间距
-(UIEdgeInsets)collectionView:(UICollectionView *)collectionView layout:(UICollectionViewLayout *)collectionViewLayout insetForSectionAtIndex:(NSInteger)section
{
return UIEdgeInsetsMake(0,15,0, 15);
}
-(CGFloat)collectionView:(UICollectionView *)collectionView layout:(UICollectionViewLayout *)collectionViewLayout minimumInteritemSpacingForSectionAtIndex:(NSInteger)section
{
//设置最小的列间距
return 22.0f;
}
-(CGFloat)collectionView:(UICollectionView *)collectionView layout:(UICollectionViewLayout *)collectionViewLayout minimumLineSpacingForSectionAtIndex:(NSInteger)section
{
//设置最小的行间距
return 10.0f;
}
-(void)delecBtnAction:(UIButton *)btn{
GILog(@"删除");
NSUInteger index = btn.tag;
[self.images removeObjectAtIndex:index];
[GIGaUserFileHelper delectAllfeedimages];
[self.imageNames removeAllObjects];
[self.collectionView reloadData];
}
-(void)addBtnAction:(UIButton*)btn{
if (self.pickerBalock) {
self.pickerBalock();
}
}
- (void)photoPikerComplete:(GiGaPhotoPickerBlock)pikerComplete{
if (self.pickerBalock) {
self.pickerBalock = pikerComplete;
}
}
- (void)setSelected:(BOOL)selected animated:(BOOL)animated {
[super setSelected:selected animated:animated];
// Configure the view for the selected state
}
@end
@@ -0,0 +1,15 @@
//
// GIGaFeedQQViewCell.h
// GIGA
//
// Created by lianxiang on 2018/9/22.
// Copyright © 2018年 com.giga.ios. All rights reserved.
//
#import <UIKit/UIKit.h>
@interface GIGaFeedQQViewCell : UITableViewCell
@property (weak, nonatomic) IBOutlet UITextField *QTextFiled;
@end
@@ -0,0 +1,24 @@
//
// GIGaFeedQQViewCell.m
// GIGA
//
// Created by lianxiang on 2018/9/22.
// Copyright © 2018年 com.giga.ios. All rights reserved.
//
#import "GIGaFeedQQViewCell.h"
@implementation GIGaFeedQQViewCell
- (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,57 @@
<?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="none" indentationWidth="10" reuseIdentifier="GIGaFeedQQViewCell" id="KGk-i7-Jjw" customClass="GIGaFeedQQViewCell">
<rect key="frame" x="0.0" y="0.0" width="320" height="44"/>
<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="320" height="43.5"/>
<autoresizingMask key="autoresizingMask"/>
<subviews>
<view contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="wzf-76-7C1">
<rect key="frame" x="15" y="0.0" width="290" height="44"/>
<subviews>
<textField opaque="NO" contentMode="scaleToFill" contentHorizontalAlignment="left" contentVerticalAlignment="center" placeholder="手机/邮箱/QQ" textAlignment="natural" minimumFontSize="17" translatesAutoresizingMaskIntoConstraints="NO" id="Wtv-qw-ARD">
<rect key="frame" x="14" y="6" width="261" height="33"/>
<constraints>
<constraint firstAttribute="height" constant="33" id="mQh-Pp-SNm"/>
</constraints>
<color key="textColor" red="0.75686274509803919" green="0.75686274509803919" blue="0.75686274509803919" alpha="1" colorSpace="calibratedRGB"/>
<fontDescription key="fontDescription" name="PingFangSC-Medium" family="PingFang SC" pointSize="13"/>
<textInputTraits key="textInputTraits"/>
</textField>
</subviews>
<color key="backgroundColor" white="1" alpha="1" colorSpace="custom" customColorSpace="genericGamma22GrayColorSpace"/>
<constraints>
<constraint firstItem="Wtv-qw-ARD" firstAttribute="centerY" secondItem="wzf-76-7C1" secondAttribute="centerY" id="CdQ-gv-ktH"/>
<constraint firstItem="Wtv-qw-ARD" firstAttribute="leading" secondItem="wzf-76-7C1" secondAttribute="leading" constant="14" id="oHV-7F-CIq"/>
<constraint firstAttribute="trailing" secondItem="Wtv-qw-ARD" secondAttribute="trailing" constant="15" id="rEL-dx-AOc"/>
</constraints>
</view>
</subviews>
<constraints>
<constraint firstItem="wzf-76-7C1" firstAttribute="leading" secondItem="H2p-sc-9uM" secondAttribute="leading" constant="15" id="MCC-cD-Kmh"/>
<constraint firstItem="wzf-76-7C1" firstAttribute="centerY" secondItem="H2p-sc-9uM" secondAttribute="centerY" id="dSK-l2-Ked"/>
<constraint firstItem="wzf-76-7C1" firstAttribute="height" secondItem="H2p-sc-9uM" secondAttribute="height" id="eqo-yc-ffi"/>
<constraint firstAttribute="trailing" secondItem="wzf-76-7C1" secondAttribute="trailing" constant="15" id="gxV-s1-8ig"/>
</constraints>
</tableViewCellContentView>
<color key="backgroundColor" red="0.51372549020000002" green="0.039215686270000001" blue="0.039215686270000001" alpha="1" colorSpace="calibratedRGB"/>
<viewLayoutGuide key="safeArea" id="aW0-zy-SZf"/>
<connections>
<outlet property="QTextFiled" destination="Wtv-qw-ARD" id="B0a-V2-ffA"/>
</connections>
</tableViewCell>
</objects>
</document>
@@ -0,0 +1,17 @@
//
// GiGaFeedContentViewCell.h
// GIGA
//
// Created by lianxiang on 2018/9/22.
// Copyright © 2018年 com.giga.ios. All rights reserved.
//
#import <UIKit/UIKit.h>
@interface GiGaFeedContentViewCell : UITableViewCell<UITextViewDelegate>
@property (weak, nonatomic) IBOutlet UITextView *contentFiled;
@property (weak, nonatomic) IBOutlet UILabel *holdLabe;
@property (weak, nonatomic) IBOutlet UILabel *numberCountLabe;
@property (nonatomic,strong) NSString *textMAx;
@end
@@ -0,0 +1,61 @@
//
// GiGaFeedContentViewCell.m
// GIGA
//
// Created by lianxiang on 2018/9/22.
// Copyright © 2018年 com.giga.ios. All rights reserved.
//
#import "GiGaFeedContentViewCell.h"
@implementation GiGaFeedContentViewCell
- (void)awakeFromNib {
[super awakeFromNib];
// Initialization code
self.contentFiled.delegate =self;
}
- (void)textViewDidBeginEditing:(UITextView *)textView{
if (textView == self.contentFiled) {
self.holdLabe.hidden = YES;
}
}
- (void)textViewDidChange:(UITextView *)textView
{
if (textView == self.contentFiled) {
if (textView.text.length == 0) {
self.holdLabe.hidden = NO;
}
if ( textView.text.length <=100 ) {
self.numberCountLabe.text = [NSString stringWithFormat:@"%lu/100",(unsigned long)textView.text.length];
self.contentFiled.text = textView.text;
self.textMAx = textView.text;
}else{
textView.text = self.textMAx;
}
}
}
- (BOOL)textView:(UITextView *)textView shouldChangeTextInRange:(NSRange)range replacementText:(NSString *)text{
// if ( textView.text.length >100 ) {
//
// return NO;
// }
return YES;
}
- (void)setSelected:(BOOL)selected animated:(BOOL)animated {
[super setSelected:selected animated:animated];
// Configure the view for the selected state
}
@end
@@ -0,0 +1,74 @@
<?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="none" indentationWidth="10" reuseIdentifier="GiGaFeedContentViewCell" id="KGk-i7-Jjw" customClass="GiGaFeedContentViewCell">
<rect key="frame" x="0.0" y="0.0" width="320" height="142"/>
<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="320" height="141.5"/>
<autoresizingMask key="autoresizingMask"/>
<subviews>
<view contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="nRM-PI-P0X">
<rect key="frame" x="15" y="0.0" width="290" height="142"/>
<subviews>
<textView clipsSubviews="YES" multipleTouchEnabled="YES" contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="D4t-0d-ayG">
<rect key="frame" x="10" y="0.0" width="268" height="142"/>
<color key="backgroundColor" white="1" alpha="1" colorSpace="custom" customColorSpace="genericGamma22GrayColorSpace"/>
<color key="textColor" red="0.75686274509803919" green="0.75686274509803919" blue="0.75686274509803919" alpha="1" colorSpace="calibratedRGB"/>
<fontDescription key="fontDescription" name="PingFangSC-Medium" family="PingFang SC" pointSize="13"/>
<textInputTraits key="textInputTraits" autocapitalizationType="sentences"/>
</textView>
<label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="0/100" textAlignment="natural" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="6ey-qR-EDX">
<rect key="frame" x="223" y="115" width="36" height="19"/>
<fontDescription key="fontDescription" name="PingFangSC-Medium" family="PingFang SC" pointSize="13"/>
<color key="textColor" red="0.1764705882352941" green="0.1764705882352941" blue="0.1764705882352941" alpha="1" colorSpace="calibratedRGB"/>
<nil key="highlightedColor"/>
</label>
<label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="来了就说几句吧~" textAlignment="natural" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="TLh-tj-C89">
<rect key="frame" x="14" y="8" width="105" height="19"/>
<fontDescription key="fontDescription" name="PingFangSC-Medium" family="PingFang SC" pointSize="13"/>
<color key="textColor" red="0.75686274509999996" green="0.75686274509999996" blue="0.75686274509999996" alpha="1" colorSpace="calibratedRGB"/>
<nil key="highlightedColor"/>
</label>
</subviews>
<color key="backgroundColor" white="1" alpha="1" colorSpace="custom" customColorSpace="genericGamma22GrayColorSpace"/>
<constraints>
<constraint firstItem="D4t-0d-ayG" firstAttribute="centerY" secondItem="nRM-PI-P0X" secondAttribute="centerY" id="EHj-eM-2kn"/>
<constraint firstAttribute="trailing" secondItem="6ey-qR-EDX" secondAttribute="trailing" constant="31" id="FK7-pv-afK"/>
<constraint firstAttribute="trailing" secondItem="D4t-0d-ayG" secondAttribute="trailing" constant="12" id="MJo-rQ-g8F"/>
<constraint firstItem="TLh-tj-C89" firstAttribute="leading" secondItem="nRM-PI-P0X" secondAttribute="leading" constant="14" id="YH1-Rd-AZx"/>
<constraint firstAttribute="bottom" secondItem="6ey-qR-EDX" secondAttribute="bottom" constant="8" id="Yq4-es-zmm"/>
<constraint firstItem="D4t-0d-ayG" firstAttribute="height" secondItem="nRM-PI-P0X" secondAttribute="height" id="Zcd-Mh-Sak"/>
<constraint firstItem="TLh-tj-C89" firstAttribute="top" secondItem="nRM-PI-P0X" secondAttribute="top" constant="8" id="cmF-R5-xvZ"/>
<constraint firstItem="D4t-0d-ayG" firstAttribute="leading" secondItem="nRM-PI-P0X" secondAttribute="leading" constant="10" id="wdz-mP-xbZ"/>
</constraints>
</view>
</subviews>
<constraints>
<constraint firstAttribute="trailing" secondItem="nRM-PI-P0X" secondAttribute="trailing" constant="15" id="2KC-jP-QlB"/>
<constraint firstItem="nRM-PI-P0X" firstAttribute="height" secondItem="H2p-sc-9uM" secondAttribute="height" id="ChH-Nb-WGV"/>
<constraint firstItem="nRM-PI-P0X" firstAttribute="leading" secondItem="H2p-sc-9uM" secondAttribute="leading" constant="15" id="PfZ-i6-10r"/>
<constraint firstItem="nRM-PI-P0X" firstAttribute="centerY" secondItem="H2p-sc-9uM" secondAttribute="centerY" id="UuE-HW-Hxu"/>
</constraints>
</tableViewCellContentView>
<color key="backgroundColor" red="0.51372549020000002" green="0.039215686270000001" blue="0.039215686270000001" alpha="1" colorSpace="calibratedRGB"/>
<viewLayoutGuide key="safeArea" id="aW0-zy-SZf"/>
<connections>
<outlet property="contentFiled" destination="D4t-0d-ayG" id="gfZ-CZ-dHf"/>
<outlet property="holdLabe" destination="TLh-tj-C89" id="e83-Wv-Snm"/>
<outlet property="numberCountLabe" destination="6ey-qR-EDX" id="5hH-Ae-moq"/>
</connections>
</tableViewCell>
</objects>
</document>
@@ -0,0 +1,14 @@
//
// GiGaFeedImagsActionCell.h
// GIGA
//
// Created by lianxiang on 2018/9/22.
// Copyright © 2018年 com.giga.ios. All rights reserved.
//
#import <UIKit/UIKit.h>
@interface GiGaFeedImagsActionCell : UICollectionViewCell
@property (weak, nonatomic) IBOutlet UIButton *imageAdd;
@end
@@ -0,0 +1,18 @@
//
// GiGaFeedImagsActionCell.m
// GIGA
//
// Created by lianxiang on 2018/9/22.
// Copyright © 2018年 com.giga.ios. All rights reserved.
//
#import "GiGaFeedImagsActionCell.h"
@implementation GiGaFeedImagsActionCell
- (void)awakeFromNib {
[super awakeFromNib];
// Initialization code
}
@end
@@ -0,0 +1,65 @@
<?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"/>
<collectionViewCell opaque="NO" clipsSubviews="YES" multipleTouchEnabled="YES" contentMode="center" id="gTV-IL-0wX" customClass="GiGaFeedImagsActionCell">
<rect key="frame" x="0.0" y="0.0" width="104" height="104"/>
<autoresizingMask key="autoresizingMask"/>
<view key="contentView" opaque="NO" clipsSubviews="YES" multipleTouchEnabled="YES" contentMode="center">
<rect key="frame" x="0.0" y="0.0" width="104" height="104"/>
<autoresizingMask key="autoresizingMask" flexibleMaxX="YES" flexibleMaxY="YES"/>
<subviews>
<view contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="p4F-LQ-Mgo">
<rect key="frame" x="0.0" y="0.0" width="104" height="104"/>
<subviews>
<imageView userInteractionEnabled="NO" contentMode="scaleAspectFit" horizontalHuggingPriority="251" verticalHuggingPriority="251" image="img_camera" translatesAutoresizingMaskIntoConstraints="NO" id="PNN-vx-9XC">
<rect key="frame" x="27" y="19" width="50" height="67"/>
</imageView>
<button opaque="NO" contentMode="scaleToFill" contentHorizontalAlignment="center" contentVerticalAlignment="center" buttonType="roundedRect" lineBreakMode="middleTruncation" translatesAutoresizingMaskIntoConstraints="NO" id="aOT-f4-LRi">
<rect key="frame" x="0.0" y="0.0" width="104" height="104"/>
</button>
</subviews>
<color key="backgroundColor" white="1" alpha="1" colorSpace="custom" customColorSpace="genericGamma22GrayColorSpace"/>
<constraints>
<constraint firstItem="aOT-f4-LRi" firstAttribute="leading" secondItem="p4F-LQ-Mgo" secondAttribute="leading" id="101-Yv-yNU"/>
<constraint firstItem="aOT-f4-LRi" firstAttribute="leading" secondItem="p4F-LQ-Mgo" secondAttribute="leading" id="4fs-og-ovQ"/>
<constraint firstAttribute="bottom" secondItem="aOT-f4-LRi" secondAttribute="bottom" id="57z-nN-ezQ"/>
<constraint firstItem="PNN-vx-9XC" firstAttribute="leading" secondItem="p4F-LQ-Mgo" secondAttribute="leading" constant="27" id="9So-vG-wnQ"/>
<constraint firstAttribute="trailing" secondItem="aOT-f4-LRi" secondAttribute="trailing" id="IgC-Sy-mac"/>
<constraint firstItem="aOT-f4-LRi" firstAttribute="top" secondItem="p4F-LQ-Mgo" secondAttribute="top" id="MZN-X1-hFr"/>
<constraint firstAttribute="bottom" secondItem="PNN-vx-9XC" secondAttribute="bottom" constant="18" id="N3W-xo-blq"/>
<constraint firstAttribute="trailing" secondItem="aOT-f4-LRi" secondAttribute="trailing" id="gRL-cn-YfY"/>
<constraint firstItem="PNN-vx-9XC" firstAttribute="top" secondItem="p4F-LQ-Mgo" secondAttribute="top" constant="19" id="hf8-gT-7Cs"/>
<constraint firstAttribute="bottom" secondItem="aOT-f4-LRi" secondAttribute="bottom" id="j7a-2n-lmS"/>
<constraint firstAttribute="trailing" secondItem="PNN-vx-9XC" secondAttribute="trailing" constant="27" id="ksJ-F4-Qht"/>
<constraint firstItem="aOT-f4-LRi" firstAttribute="top" secondItem="p4F-LQ-Mgo" secondAttribute="top" id="nCc-n1-PPA"/>
</constraints>
</view>
</subviews>
</view>
<constraints>
<constraint firstItem="p4F-LQ-Mgo" firstAttribute="top" secondItem="gTV-IL-0wX" secondAttribute="top" id="ca0-vZ-Eds"/>
<constraint firstAttribute="trailing" secondItem="p4F-LQ-Mgo" secondAttribute="trailing" id="fBl-J5-XBM"/>
<constraint firstItem="p4F-LQ-Mgo" firstAttribute="leading" secondItem="gTV-IL-0wX" secondAttribute="leading" id="wFG-CR-yWw"/>
<constraint firstAttribute="bottom" secondItem="p4F-LQ-Mgo" secondAttribute="bottom" id="yUE-Oe-gvn"/>
</constraints>
<viewLayoutGuide key="safeArea" id="SEy-5g-ep8"/>
<connections>
<outlet property="imageAdd" destination="aOT-f4-LRi" id="has-hX-ccK"/>
</connections>
</collectionViewCell>
</objects>
<resources>
<image name="img_camera" width="54" height="48"/>
</resources>
</document>
@@ -0,0 +1,14 @@
//
// GiGaFeedLeiIingViewCell.h
// GIGA
//
// Created by lianxiang on 2018/9/22.
// Copyright © 2018年 com.giga.ios. All rights reserved.
//
#import <UIKit/UIKit.h>
@interface GiGaFeedLeiIingViewCell : UITableViewCell
@property (weak, nonatomic) IBOutlet UILabel *kidLabel;
@end
@@ -0,0 +1,24 @@
//
// GiGaFeedLeiIingViewCell.m
// GIGA
//
// Created by lianxiang on 2018/9/22.
// Copyright © 2018年 com.giga.ios. All rights reserved.
//
#import "GiGaFeedLeiIingViewCell.h"
@implementation GiGaFeedLeiIingViewCell
- (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,69 @@
<?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="none" indentationWidth="10" reuseIdentifier="GiGaFeedLeiIingViewCell" id="KGk-i7-Jjw" customClass="GiGaFeedLeiIingViewCell">
<rect key="frame" x="0.0" y="0.0" width="320" height="44"/>
<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="320" height="43.5"/>
<autoresizingMask key="autoresizingMask"/>
<subviews>
<view contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="amZ-ba-Om2">
<rect key="frame" x="15" y="0.0" width="290" height="44"/>
<subviews>
<imageView userInteractionEnabled="NO" contentMode="scaleToFill" horizontalHuggingPriority="251" verticalHuggingPriority="251" image="bg_moreandmore_red" translatesAutoresizingMaskIntoConstraints="NO" id="hQC-14-kEw">
<rect key="frame" x="275" y="15" width="9" height="14"/>
<constraints>
<constraint firstAttribute="width" constant="9" id="SAd-5C-zb8"/>
<constraint firstAttribute="height" constant="14" id="agY-nO-dFa"/>
</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="6lu-rs-JV8">
<rect key="frame" x="14" y="13" width="79" height="19"/>
<constraints>
<constraint firstAttribute="width" constant="79" id="it2-tZ-9bc"/>
</constraints>
<fontDescription key="fontDescription" name="PingFangSC-Medium" family="PingFang SC" pointSize="13"/>
<color key="textColor" red="0.1764705882352941" green="0.1764705882352941" blue="0.1764705882352941" alpha="1" colorSpace="calibratedRGB"/>
<nil key="highlightedColor"/>
</label>
</subviews>
<color key="backgroundColor" white="1" alpha="1" colorSpace="custom" customColorSpace="genericGamma22GrayColorSpace"/>
<constraints>
<constraint firstItem="hQC-14-kEw" firstAttribute="centerY" secondItem="amZ-ba-Om2" secondAttribute="centerY" id="NBv-tA-YHO"/>
<constraint firstItem="6lu-rs-JV8" firstAttribute="centerY" secondItem="amZ-ba-Om2" secondAttribute="centerY" id="lQi-w4-iGA"/>
<constraint firstAttribute="trailing" secondItem="hQC-14-kEw" secondAttribute="trailing" constant="6" id="mlv-BR-iwm"/>
<constraint firstItem="6lu-rs-JV8" firstAttribute="leading" secondItem="amZ-ba-Om2" secondAttribute="leading" constant="14" id="uDa-Qt-n2a"/>
</constraints>
</view>
</subviews>
<constraints>
<constraint firstItem="amZ-ba-Om2" firstAttribute="leading" secondItem="H2p-sc-9uM" secondAttribute="leading" constant="15" id="S0A-Ug-Uqf"/>
<constraint firstAttribute="trailing" secondItem="amZ-ba-Om2" secondAttribute="trailing" constant="15" id="Uom-VJ-ir3"/>
<constraint firstItem="amZ-ba-Om2" firstAttribute="height" secondItem="H2p-sc-9uM" secondAttribute="height" id="alS-XN-7dq"/>
<constraint firstItem="amZ-ba-Om2" firstAttribute="centerY" secondItem="H2p-sc-9uM" secondAttribute="centerY" id="tx5-6X-UEP"/>
</constraints>
</tableViewCellContentView>
<color key="backgroundColor" red="0.51372549019607838" green="0.039215686274509803" blue="0.039215686274509803" alpha="1" colorSpace="calibratedRGB"/>
<viewLayoutGuide key="safeArea" id="aW0-zy-SZf"/>
<connections>
<outlet property="kidLabel" destination="6lu-rs-JV8" id="FX8-d4-4Fj"/>
</connections>
<point key="canvasLocation" x="-14" y="-13"/>
</tableViewCell>
</objects>
<resources>
<image name="bg_moreandmore_red" width="9" height="14"/>
</resources>
</document>