Ver Fonte

1.修改iOS Apex Mobile Detail增加Communication。

Pen Li há 8 anos atrás
pai
commit
4b83c98335

+ 38 - 0
Apex Mobile/Apex Mobile.xcodeproj/project.pbxproj

@@ -7,6 +7,12 @@
 	objects = {
 
 /* Begin PBXBuildFile section */
+		420DEF2620A1898500720524 /* AMCommHeadCell.m in Sources */ = {isa = PBXBuildFile; fileRef = 420DEF2420A1898500720524 /* AMCommHeadCell.m */; };
+		420DEF2720A1898500720524 /* AMCommHeadCell.xib in Resources */ = {isa = PBXBuildFile; fileRef = 420DEF2520A1898500720524 /* AMCommHeadCell.xib */; };
+		420DEF2B20A1899600720524 /* AMCommContentCell.m in Sources */ = {isa = PBXBuildFile; fileRef = 420DEF2920A1899600720524 /* AMCommContentCell.m */; };
+		420DEF2C20A1899600720524 /* AMCommContentCell.xib in Resources */ = {isa = PBXBuildFile; fileRef = 420DEF2A20A1899600720524 /* AMCommContentCell.xib */; };
+		420DEF3020A189AA00720524 /* AMCommEditCell.m in Sources */ = {isa = PBXBuildFile; fileRef = 420DEF2E20A189AA00720524 /* AMCommEditCell.m */; };
+		420DEF3120A189AA00720524 /* AMCommEditCell.xib in Resources */ = {isa = PBXBuildFile; fileRef = 420DEF2F20A189AA00720524 /* AMCommEditCell.xib */; };
 		420F0CA420901C2E005C4690 /* KPIRepeatTapGestureRecognizer.m in Sources */ = {isa = PBXBuildFile; fileRef = 420F0CA320901C2E005C4690 /* KPIRepeatTapGestureRecognizer.m */; };
 		42253C94209C007700879B09 /* AMMapView.m in Sources */ = {isa = PBXBuildFile; fileRef = 42253C93209C007700879B09 /* AMMapView.m */; };
 		42253C98209C3C0F00879B09 /* AMShipMap.m in Sources */ = {isa = PBXBuildFile; fileRef = 42253C97209C3C0F00879B09 /* AMShipMap.m */; };
@@ -193,6 +199,15 @@
 /* End PBXContainerItemProxy section */
 
 /* Begin PBXFileReference section */
+		420DEF2320A1898500720524 /* AMCommHeadCell.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = AMCommHeadCell.h; sourceTree = "<group>"; };
+		420DEF2420A1898500720524 /* AMCommHeadCell.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = AMCommHeadCell.m; sourceTree = "<group>"; };
+		420DEF2520A1898500720524 /* AMCommHeadCell.xib */ = {isa = PBXFileReference; lastKnownFileType = file.xib; path = AMCommHeadCell.xib; sourceTree = "<group>"; };
+		420DEF2820A1899600720524 /* AMCommContentCell.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = AMCommContentCell.h; sourceTree = "<group>"; };
+		420DEF2920A1899600720524 /* AMCommContentCell.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = AMCommContentCell.m; sourceTree = "<group>"; };
+		420DEF2A20A1899600720524 /* AMCommContentCell.xib */ = {isa = PBXFileReference; lastKnownFileType = file.xib; path = AMCommContentCell.xib; sourceTree = "<group>"; };
+		420DEF2D20A189AA00720524 /* AMCommEditCell.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = AMCommEditCell.h; sourceTree = "<group>"; };
+		420DEF2E20A189AA00720524 /* AMCommEditCell.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = AMCommEditCell.m; sourceTree = "<group>"; };
+		420DEF2F20A189AA00720524 /* AMCommEditCell.xib */ = {isa = PBXFileReference; lastKnownFileType = file.xib; path = AMCommEditCell.xib; sourceTree = "<group>"; };
 		420F0CA220901C2E005C4690 /* KPIRepeatTapGestureRecognizer.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = KPIRepeatTapGestureRecognizer.h; sourceTree = "<group>"; };
 		420F0CA320901C2E005C4690 /* KPIRepeatTapGestureRecognizer.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = KPIRepeatTapGestureRecognizer.m; sourceTree = "<group>"; };
 		42253C92209C007700879B09 /* AMMapView.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = AMMapView.h; sourceTree = "<group>"; };
@@ -533,6 +548,22 @@
 /* End PBXFrameworksBuildPhase section */
 
 /* Begin PBXGroup section */
+		420DEF1C20A1889F00720524 /* Communication */ = {
+			isa = PBXGroup;
+			children = (
+				420DEF2320A1898500720524 /* AMCommHeadCell.h */,
+				420DEF2420A1898500720524 /* AMCommHeadCell.m */,
+				420DEF2520A1898500720524 /* AMCommHeadCell.xib */,
+				420DEF2820A1899600720524 /* AMCommContentCell.h */,
+				420DEF2920A1899600720524 /* AMCommContentCell.m */,
+				420DEF2A20A1899600720524 /* AMCommContentCell.xib */,
+				420DEF2D20A189AA00720524 /* AMCommEditCell.h */,
+				420DEF2E20A189AA00720524 /* AMCommEditCell.m */,
+				420DEF2F20A189AA00720524 /* AMCommEditCell.xib */,
+			);
+			name = Communication;
+			sourceTree = "<group>";
+		};
 		42253C95209C3BF300879B09 /* ShipMap */ = {
 			isa = PBXGroup;
 			children = (
@@ -950,6 +981,7 @@
 				71CEE38918CB749E00052C63 /* DetailPageViewController.m */,
 				71A2D76018DC3895001C380A /* LineView.h */,
 				71A2D76118DC3895001C380A /* LineView.m */,
+				420DEF1C20A1889F00720524 /* Communication */,
 			);
 			name = Detail;
 			sourceTree = "<group>";
@@ -1289,6 +1321,7 @@
 				427CF5E9202454860041472A /* GoogleMaps.bundle in Resources */,
 				42604129201C57A7002374A8 /* ShipSearch.storyboard in Resources */,
 				715643DC201C117300B04267 /* search.json in Resources */,
+				420DEF3120A189AA00720524 /* AMCommEditCell.xib in Resources */,
 				4235C30320229F7200A99D04 /* Result.xib in Resources */,
 				719EF8F418BB839F00EFFF5F /* Main_iPhone.storyboard in Resources */,
 				425390212079B99B00ECF982 /* PieChart.xcassets in Resources */,
@@ -1302,6 +1335,7 @@
 				714C39BF19234065004F045B /* Localizable.strings in Resources */,
 				427CF5D02023F5560041472A /* NewImages.xcassets in Resources */,
 				425660DB202015E1002DB0CA /* Launch.storyboard in Resources */,
+				420DEF2720A1898500720524 /* AMCommHeadCell.xib in Resources */,
 				42BB740B2084737800B9B6E4 /* KPILegendCell.xib in Resources */,
 				425390262079B9B500ECF982 /* KPI.json in Resources */,
 				715643DA201C079F00B04267 /* tools.json in Resources */,
@@ -1309,6 +1343,7 @@
 				71807B9E2021ACE500E1F1DD /* fake_search.json in Resources */,
 				715643B720198A1400B04267 /* Main.storyboard in Resources */,
 				7162546D201C412E009E3A41 /* ShippingStatusCell.xib in Resources */,
+				420DEF2C20A1899600720524 /* AMCommContentCell.xib in Resources */,
 				42BB74092084732D00B9B6E4 /* KPICell.xib in Resources */,
 				42BB740720846B4500B9B6E4 /* KPITableCell.xib in Resources */,
 				719EF8EB18BB839F00EFFF5F /* InfoPlist.strings in Resources */,
@@ -1353,6 +1388,7 @@
 				71807B9C2021979A00E1F1DD /* DetailCellTracking.m in Sources */,
 				42539029207A159300ECF982 /* KPIButton.m in Sources */,
 				71DA74A618BDDD31003B46A6 /* AboutViewController.m in Sources */,
+				420DEF2620A1898500720524 /* AMCommHeadCell.m in Sources */,
 				715643C42019B58400B04267 /* OrderHistoryViewController.m in Sources */,
 				712CBA0318CF38DB00C61394 /* RTLabel.m in Sources */,
 				425390242079B99B00ECF982 /* XYRenderView.m in Sources */,
@@ -1387,6 +1423,7 @@
 				719E7E3318C0368A003408FF /* ApexMobileDB.m in Sources */,
 				425CF096201EB2B500750E32 /* JLRefreshFooter.m in Sources */,
 				715643C12019B27500B04267 /* HomeViewController.m in Sources */,
+				420DEF2B20A1899600720524 /* AMCommContentCell.m in Sources */,
 				715643C72019BB6700B04267 /* StaticModelistViewController.m in Sources */,
 				7101BEC82031389A00CC6E3A /* DetailCellKVNew.m in Sources */,
 				71E0D1D82022AB7E009A08EB /* ResultViewController.m in Sources */,
@@ -1412,6 +1449,7 @@
 				42BCACCD209AE342009DDA43 /* AMMapAnnotaion.m in Sources */,
 				711DC6B218C30A4800FB1749 /* TableCellEdit.m in Sources */,
 				716027D1204D334A003CA085 /* DetailShareItemProvider.m in Sources */,
+				420DEF3020A189AA00720524 /* AMCommEditCell.m in Sources */,
 				71A01D8218C9BA67003307A9 /* DetailContent.m in Sources */,
 				71A003FC18D680560057CDFD /* RetrievePasswordViewController.m in Sources */,
 				71FCDE0720492B5E00B0746B /* MyQLPreviewController.m in Sources */,

+ 28 - 0
Apex Mobile/Apex Mobile/AMCommContentCell.h

@@ -0,0 +1,28 @@
+//
+//  AMCommContentCell.h
+//  Apex Mobile
+//
+//  Created by Jack on 2018/5/8.
+//  Copyright © 2018年 United Software Applications, Inc. All rights reserved.
+//
+
+#import <UIKit/UIKit.h>
+
+@class AMCommContentCell;
+@protocol AMCommContentCellDelegate <NSObject>
+
+@optional
+- (void)commContentCell:(AMCommContentCell *)cell sendEmail:(NSString *)email;
+
+@end
+
+@interface AMCommContentCell : UITableViewCell
+
+@property (nonatomic,weak) id<AMCommContentCellDelegate> delegate;
+@property (nonatomic,copy) NSString *sender;
+@property (nonatomic,copy) NSString *content;
+@property (nonatomic,copy) NSString *time;
+@property (nonatomic,copy) NSString *email;
+
+
+@end

+ 56 - 0
Apex Mobile/Apex Mobile/AMCommContentCell.m

@@ -0,0 +1,56 @@
+//
+//  AMCommContentCell.m
+//  Apex Mobile
+//
+//  Created by Jack on 2018/5/8.
+//  Copyright © 2018年 United Software Applications, Inc. All rights reserved.
+//
+
+#import "AMCommContentCell.h"
+
+@interface AMCommContentCell ()
+
+@property (nonatomic,strong) IBOutlet UILabel *senderLabel;
+@property (nonatomic,strong) IBOutlet UITextView *contentTextView;
+@property (nonatomic,strong) IBOutlet UILabel *timeLabel;
+@property (nonatomic,strong) IBOutlet UIButton *emailButton;
+
+@end
+
+@implementation AMCommContentCell
+
+- (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
+}
+
+- (void)setSender:(NSString *)sender {
+    _sender = sender;
+    self.senderLabel.text = _sender;
+}
+
+- (void)setContent:(NSString *)content {
+    _content = content;
+    self.contentTextView.text = _content;
+}
+
+- (void)setTime:(NSString *)time {
+    _time = time;
+    self.timeLabel.text = _time;
+}
+
+- (IBAction)emailButtonClick:(UIButton *)sender {
+    
+    if (self.delegate && [self.delegate respondsToSelector:@selector(commContentCell:sendEmail:)]) {
+        [self.delegate commContentCell:self sendEmail:self.email];
+    }
+    
+}
+
+@end

+ 79 - 0
Apex Mobile/Apex Mobile/AMCommContentCell.xib

@@ -0,0 +1,79 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<document type="com.apple.InterfaceBuilder3.CocoaTouch.XIB" version="3.0" toolsVersion="14109" 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" rowHeight="235" id="KGk-i7-Jjw" customClass="AMCommContentCell">
+            <rect key="frame" x="0.0" y="0.0" width="558" height="235"/>
+            <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="558" height="234.5"/>
+                <autoresizingMask key="autoresizingMask"/>
+                <subviews>
+                    <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="Sender" textAlignment="natural" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="udc-Q0-Ztv">
+                        <rect key="frame" x="5" y="5" width="548" height="21"/>
+                        <fontDescription key="fontDescription" type="system" pointSize="17"/>
+                        <nil key="textColor"/>
+                        <nil key="highlightedColor"/>
+                    </label>
+                    <textView clipsSubviews="YES" multipleTouchEnabled="YES" contentMode="scaleToFill" editable="NO" textAlignment="natural" translatesAutoresizingMaskIntoConstraints="NO" id="6uJ-NL-4aw">
+                        <rect key="frame" x="5" y="31" width="548" height="163.5"/>
+                        <color key="backgroundColor" white="1" alpha="1" colorSpace="custom" customColorSpace="genericGamma22GrayColorSpace"/>
+                        <mutableString key="text">Lorem ipsum dolor sit er elit lamet, consectetaur cillium adipisicing pecu, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum. Nam liber te conscient to factor tum poen legum odioque civiuda.</mutableString>
+                        <fontDescription key="fontDescription" type="system" pointSize="14"/>
+                        <textInputTraits key="textInputTraits" autocapitalizationType="sentences"/>
+                        <dataDetectorType key="dataDetectorTypes" link="YES" address="YES" calendarEvent="YES" shipmentTrackingNumber="YES" lookupSuggestion="YES"/>
+                    </textView>
+                    <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="04/01/2018 23:17:16" textAlignment="natural" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="iQu-Tl-uLl">
+                        <rect key="frame" x="5" y="199.5" width="433" height="30"/>
+                        <fontDescription key="fontDescription" type="system" pointSize="13"/>
+                        <color key="textColor" white="0.33333333329999998" alpha="1" colorSpace="calibratedWhite"/>
+                        <nil key="highlightedColor"/>
+                    </label>
+                    <button opaque="NO" contentMode="scaleToFill" contentHorizontalAlignment="center" contentVerticalAlignment="center" buttonType="roundedRect" lineBreakMode="middleTruncation" translatesAutoresizingMaskIntoConstraints="NO" id="5mg-8a-eJb">
+                        <rect key="frame" x="443" y="200" width="110" height="30"/>
+                        <constraints>
+                            <constraint firstAttribute="width" constant="110" id="XXE-WK-7P6"/>
+                        </constraints>
+                        <state key="normal" title="Email Content"/>
+                        <connections>
+                            <action selector="emailButtonClick:" destination="KGk-i7-Jjw" eventType="touchUpInside" id="NHY-fG-xx7"/>
+                        </connections>
+                    </button>
+                </subviews>
+                <constraints>
+                    <constraint firstAttribute="trailing" secondItem="udc-Q0-Ztv" secondAttribute="trailing" constant="5" id="0WM-xV-mgN"/>
+                    <constraint firstItem="6uJ-NL-4aw" firstAttribute="leading" secondItem="udc-Q0-Ztv" secondAttribute="leading" id="5UU-vb-FGY"/>
+                    <constraint firstAttribute="bottom" secondItem="iQu-Tl-uLl" secondAttribute="bottom" constant="5" id="8ud-3x-T7d"/>
+                    <constraint firstItem="5mg-8a-eJb" firstAttribute="height" secondItem="iQu-Tl-uLl" secondAttribute="height" id="Czh-NL-5Ju"/>
+                    <constraint firstItem="5mg-8a-eJb" firstAttribute="trailing" secondItem="udc-Q0-Ztv" secondAttribute="trailing" id="GcE-Mp-AsT"/>
+                    <constraint firstItem="udc-Q0-Ztv" firstAttribute="top" secondItem="H2p-sc-9uM" secondAttribute="top" constant="5" id="PrA-Tt-4Db"/>
+                    <constraint firstItem="5mg-8a-eJb" firstAttribute="bottom" secondItem="iQu-Tl-uLl" secondAttribute="bottom" id="Uaz-Ss-LAx"/>
+                    <constraint firstItem="iQu-Tl-uLl" firstAttribute="top" secondItem="6uJ-NL-4aw" secondAttribute="bottom" constant="5" id="ktx-6v-idE"/>
+                    <constraint firstItem="udc-Q0-Ztv" firstAttribute="leading" secondItem="H2p-sc-9uM" secondAttribute="leading" constant="5" id="l8E-C8-YvP"/>
+                    <constraint firstItem="6uJ-NL-4aw" firstAttribute="trailing" secondItem="udc-Q0-Ztv" secondAttribute="trailing" id="mMJ-Lo-kZg"/>
+                    <constraint firstItem="6uJ-NL-4aw" firstAttribute="top" secondItem="udc-Q0-Ztv" secondAttribute="bottom" constant="5" id="tOK-gU-YFV"/>
+                    <constraint firstItem="iQu-Tl-uLl" firstAttribute="leading" secondItem="udc-Q0-Ztv" secondAttribute="leading" id="tzp-4f-foc"/>
+                    <constraint firstItem="5mg-8a-eJb" firstAttribute="leading" secondItem="iQu-Tl-uLl" secondAttribute="trailing" constant="5" id="wtr-sM-TbN"/>
+                </constraints>
+            </tableViewCellContentView>
+            <viewLayoutGuide key="safeArea" id="aW0-zy-SZf"/>
+            <connections>
+                <outlet property="contentTextView" destination="6uJ-NL-4aw" id="oVO-GO-ohw"/>
+                <outlet property="emailButton" destination="5mg-8a-eJb" id="WPR-LP-8An"/>
+                <outlet property="senderLabel" destination="udc-Q0-Ztv" id="If6-Ql-vE8"/>
+                <outlet property="timeLabel" destination="iQu-Tl-uLl" id="So8-7F-VVg"/>
+            </connections>
+            <point key="canvasLocation" x="6" y="147.5"/>
+        </tableViewCell>
+    </objects>
+</document>

+ 27 - 0
Apex Mobile/Apex Mobile/AMCommEditCell.h

@@ -0,0 +1,27 @@
+//
+//  AMCommEditCell.h
+//  Apex Mobile
+//
+//  Created by Jack on 2018/5/8.
+//  Copyright © 2018年 United Software Applications, Inc. All rights reserved.
+//
+
+#import <UIKit/UIKit.h>
+
+@class AMCommEditCell;
+@protocol AMCommEditCellDelegate <NSObject>
+
+@optional
+- (void)commEditCell:(AMCommEditCell *)cell clickToSendEmail:(NSString *)email;
+- (void)commEditCell:(AMCommEditCell *)cell didChangeEmail:(NSString *)email;
+
+@end
+
+@interface AMCommEditCell : UITableViewCell
+
+@property (nonatomic,weak) id<AMCommEditCellDelegate> delegate;
+@property (nonatomic,copy) NSString *email;
+
+- (void)clear;
+
+@end

+ 57 - 0
Apex Mobile/Apex Mobile/AMCommEditCell.m

@@ -0,0 +1,57 @@
+//
+//  AMCommEditCell.m
+//  Apex Mobile
+//
+//  Created by Jack on 2018/5/8.
+//  Copyright © 2018年 United Software Applications, Inc. All rights reserved.
+//
+
+#import "AMCommEditCell.h"
+
+@interface AMCommEditCell () <UITextViewDelegate>
+
+@property (nonatomic,strong) IBOutlet UITextView *editTextView;
+@property (nonatomic,strong) IBOutlet UIButton *sendButton;
+
+@end
+
+@implementation AMCommEditCell
+
+- (void)awakeFromNib {
+    [super awakeFromNib];
+    // Initialization code
+    self.editTextView.delegate = self;
+}
+
+- (void)setSelected:(BOOL)selected animated:(BOOL)animated {
+    [super setSelected:selected animated:animated];
+
+    // Configure the view for the selected state
+}
+
+- (IBAction)sendButtonClick:(UIButton *)sender {
+    
+    if (self.delegate && [self.delegate respondsToSelector:@selector(commEditCell:clickToSendEmail:)]) {
+        [self.delegate commEditCell:self clickToSendEmail:self.editTextView.text];
+    }
+}
+
+- (void)setEmail:(NSString *)email {
+    _email = email;
+    self.editTextView.text = email;
+}
+
+- (void)clear {
+    self.email = nil;
+}
+
+#pragma mark - TextView Delegate
+
+- (void)textViewDidChange:(UITextView *)textView {
+    
+    if (self.delegate && [self.delegate respondsToSelector:@selector(commEditCell:didChangeEmail:)]) {
+        [self.delegate commEditCell:self didChangeEmail:textView.text];
+    }
+}
+
+@end

+ 54 - 0
Apex Mobile/Apex Mobile/AMCommEditCell.xib

@@ -0,0 +1,54 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<document type="com.apple.InterfaceBuilder3.CocoaTouch.XIB" version="3.0" toolsVersion="14109" 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" rowHeight="200" id="KGk-i7-Jjw" customClass="AMCommEditCell">
+            <rect key="frame" x="0.0" y="0.0" width="619" height="200"/>
+            <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="619" height="199.5"/>
+                <autoresizingMask key="autoresizingMask"/>
+                <subviews>
+                    <textView clipsSubviews="YES" multipleTouchEnabled="YES" contentMode="scaleToFill" textAlignment="natural" translatesAutoresizingMaskIntoConstraints="NO" id="1eU-dE-EuR">
+                        <rect key="frame" x="5" y="5" width="609" height="149.5"/>
+                        <color key="backgroundColor" white="1" alpha="1" colorSpace="custom" customColorSpace="genericGamma22GrayColorSpace"/>
+                        <string key="text">Lorem ipsum dolor sit er elit lamet, consectetaur cillium adipisicing pecu, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum. Nam liber te conscient to factor tum poen legum odioque civiuda.</string>
+                        <fontDescription key="fontDescription" type="system" pointSize="14"/>
+                        <textInputTraits key="textInputTraits" autocapitalizationType="sentences"/>
+                    </textView>
+                    <button opaque="NO" contentMode="scaleToFill" contentHorizontalAlignment="center" contentVerticalAlignment="center" buttonType="roundedRect" lineBreakMode="middleTruncation" translatesAutoresizingMaskIntoConstraints="NO" id="eNH-NS-zAQ">
+                        <rect key="frame" x="563" y="164.5" width="36" height="30"/>
+                        <state key="normal" title="Send"/>
+                        <connections>
+                            <action selector="sendButtonClick:" destination="KGk-i7-Jjw" eventType="touchUpInside" id="nxc-oe-5PO"/>
+                        </connections>
+                    </button>
+                </subviews>
+                <constraints>
+                    <constraint firstAttribute="trailing" secondItem="1eU-dE-EuR" secondAttribute="trailing" constant="5" id="290-sa-J3Z"/>
+                    <constraint firstAttribute="bottom" secondItem="eNH-NS-zAQ" secondAttribute="bottom" constant="5" id="4gA-hX-Js0"/>
+                    <constraint firstItem="eNH-NS-zAQ" firstAttribute="top" secondItem="1eU-dE-EuR" secondAttribute="bottom" constant="10" id="AD5-Dj-XoS"/>
+                    <constraint firstItem="1eU-dE-EuR" firstAttribute="top" secondItem="H2p-sc-9uM" secondAttribute="top" constant="5" id="ZZi-8w-NV8"/>
+                    <constraint firstItem="1eU-dE-EuR" firstAttribute="leading" secondItem="H2p-sc-9uM" secondAttribute="leading" constant="5" id="cH0-xQ-mKP"/>
+                    <constraint firstAttribute="trailing" secondItem="eNH-NS-zAQ" secondAttribute="trailing" constant="20" id="r9a-1u-oxI"/>
+                </constraints>
+            </tableViewCellContentView>
+            <viewLayoutGuide key="safeArea" id="aW0-zy-SZf"/>
+            <connections>
+                <outlet property="editTextView" destination="1eU-dE-EuR" id="8hz-1f-AlX"/>
+                <outlet property="sendButton" destination="eNH-NS-zAQ" id="fn5-1j-zhM"/>
+            </connections>
+            <point key="canvasLocation" x="28" y="-201"/>
+        </tableViewCell>
+    </objects>
+</document>

+ 26 - 0
Apex Mobile/Apex Mobile/AMCommHeadCell.h

@@ -0,0 +1,26 @@
+//
+//  AMCommHeadCell.h
+//  Apex Mobile
+//
+//  Created by Jack on 2018/5/8.
+//  Copyright © 2018年 United Software Applications, Inc. All rights reserved.
+//
+
+#import <UIKit/UIKit.h>
+
+@class AMCommHeadCell;
+@protocol AMCommHeadCellDelegate <NSObject>
+
+@optional
+- (void)commHeadCell:(AMCommHeadCell *)cell didChangeCC:(NSString *)cc;
+
+@end
+
+@interface AMCommHeadCell : UITableViewCell
+
+@property (nonatomic,weak) id <AMCommHeadCellDelegate> delegate;
+
+@property (nonatomic,copy) NSString *to;
+@property (nonatomic,copy) NSString *cc;
+
+@end

+ 57 - 0
Apex Mobile/Apex Mobile/AMCommHeadCell.m

@@ -0,0 +1,57 @@
+//
+//  AMCommHeadCell.m
+//  Apex Mobile
+//
+//  Created by Jack on 2018/5/8.
+//  Copyright © 2018年 United Software Applications, Inc. All rights reserved.
+//
+
+#import "AMCommHeadCell.h"
+
+@interface AMCommHeadCell () <UITextFieldDelegate>
+
+@property (nonatomic,strong) IBOutlet UILabel *toLabel;
+@property (nonatomic,strong) IBOutlet UITextField *ccTextField;
+
+@end
+
+@implementation AMCommHeadCell
+
+- (void)awakeFromNib {
+    [super awakeFromNib];
+    // Initialization code
+    
+    self.ccTextField.delegate = self;
+}
+
+- (void)setSelected:(BOOL)selected animated:(BOOL)animated {
+    [super setSelected:selected animated:animated];
+
+    // Configure the view for the selected state
+}
+
+- (void)setTo:(NSString *)to {
+    _to = to;
+    self.toLabel.text = _to;
+}
+
+- (void)setCc:(NSString *)cc {
+    _cc = cc;
+    self.ccTextField.text = _cc;
+}
+
+#pragma mark - Delegate
+
+- (BOOL)textField:(UITextField *)textField shouldChangeCharactersInRange:(NSRange)range replacementString:(NSString *)string {
+ 
+    NSString *oldStr = textField.text;
+    NSString *newStr = [oldStr stringByReplacingCharactersInRange:range withString:string];
+    
+    if (self.delegate && [self.delegate respondsToSelector:@selector(commHeadCell:didChangeCC:)]) {
+        [self.delegate commHeadCell:self didChangeCC:newStr];
+    }
+    
+    return YES;
+}
+
+@end

+ 78 - 0
Apex Mobile/Apex Mobile/AMCommHeadCell.xib

@@ -0,0 +1,78 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<document type="com.apple.InterfaceBuilder3.CocoaTouch.XIB" version="3.0" toolsVersion="14109" 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" rowHeight="133" id="KGk-i7-Jjw" customClass="AMCommHeadCell">
+            <rect key="frame" x="0.0" y="0.0" width="494" height="133"/>
+            <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="494" height="132.5"/>
+                <autoresizingMask key="autoresizingMask"/>
+                <subviews>
+                    <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="Communication To Apex:" textAlignment="natural" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="JZ4-Du-7ye">
+                        <rect key="frame" x="5" y="5" width="484" height="21"/>
+                        <fontDescription key="fontDescription" type="system" pointSize="17"/>
+                        <color key="textColor" red="1" green="0.1047433005" blue="0.075207091899999995" alpha="1" colorSpace="custom" customColorSpace="sRGB"/>
+                        <nil key="highlightedColor"/>
+                    </label>
+                    <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="IVANA.GAO@APEXSHIPPING.COM.CN;MINNIE.LV@APEXSHIPPING.COM.CN;OLIVE.HAM@APEXSHIPPING.COM;JAMES.CHU@APEXSHIPPING.COM" textAlignment="natural" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="QEM-Mn-Lhw">
+                        <rect key="frame" x="5" y="31" width="484" height="17"/>
+                        <fontDescription key="fontDescription" type="system" pointSize="14"/>
+                        <color key="textColor" red="1" green="0.1047433005" blue="0.075207091899999995" alpha="1" colorSpace="custom" customColorSpace="sRGB"/>
+                        <nil key="highlightedColor"/>
+                    </label>
+                    <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="CC:" textAlignment="natural" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="u0A-UO-7aF">
+                        <rect key="frame" x="5" y="53" width="484" height="21"/>
+                        <fontDescription key="fontDescription" type="system" pointSize="17"/>
+                        <color key="textColor" red="1" green="0.1047433005" blue="0.075207091899999995" alpha="1" colorSpace="custom" customColorSpace="sRGB"/>
+                        <nil key="highlightedColor"/>
+                    </label>
+                    <textField opaque="NO" contentMode="scaleToFill" contentHorizontalAlignment="left" contentVerticalAlignment="center" borderStyle="roundedRect" textAlignment="natural" minimumFontSize="17" translatesAutoresizingMaskIntoConstraints="NO" id="uaj-Fd-5wB">
+                        <rect key="frame" x="5" y="79" width="484" height="30"/>
+                        <nil key="textColor"/>
+                        <fontDescription key="fontDescription" type="system" pointSize="14"/>
+                        <textInputTraits key="textInputTraits"/>
+                    </textField>
+                    <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="separated by ;" textAlignment="natural" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="Zx3-At-l7K">
+                        <rect key="frame" x="408" y="114" width="81" height="14.5"/>
+                        <fontDescription key="fontDescription" type="system" pointSize="12"/>
+                        <color key="textColor" red="1" green="0.1047433005" blue="0.075207091899999995" alpha="1" colorSpace="custom" customColorSpace="sRGB"/>
+                        <nil key="highlightedColor"/>
+                    </label>
+                </subviews>
+                <constraints>
+                    <constraint firstItem="Zx3-At-l7K" firstAttribute="trailing" secondItem="uaj-Fd-5wB" secondAttribute="trailing" id="60M-N5-OeH"/>
+                    <constraint firstAttribute="trailing" secondItem="JZ4-Du-7ye" secondAttribute="trailing" constant="5" id="87t-u6-ljD"/>
+                    <constraint firstItem="QEM-Mn-Lhw" firstAttribute="top" secondItem="JZ4-Du-7ye" secondAttribute="bottom" constant="5" id="GyR-yk-mEt"/>
+                    <constraint firstItem="QEM-Mn-Lhw" firstAttribute="trailing" secondItem="JZ4-Du-7ye" secondAttribute="trailing" id="JVB-pj-Jhx"/>
+                    <constraint firstItem="u0A-UO-7aF" firstAttribute="trailing" secondItem="QEM-Mn-Lhw" secondAttribute="trailing" id="Lg1-fh-HWj"/>
+                    <constraint firstItem="u0A-UO-7aF" firstAttribute="top" secondItem="QEM-Mn-Lhw" secondAttribute="bottom" constant="5" id="NSM-aT-LAB"/>
+                    <constraint firstItem="JZ4-Du-7ye" firstAttribute="leading" secondItem="H2p-sc-9uM" secondAttribute="leading" constant="5" id="QtD-kg-jaO"/>
+                    <constraint firstItem="QEM-Mn-Lhw" firstAttribute="leading" secondItem="JZ4-Du-7ye" secondAttribute="leading" id="Shv-Z5-Ada"/>
+                    <constraint firstItem="uaj-Fd-5wB" firstAttribute="top" secondItem="u0A-UO-7aF" secondAttribute="bottom" constant="5" id="cO0-Cz-GRf"/>
+                    <constraint firstItem="JZ4-Du-7ye" firstAttribute="top" secondItem="H2p-sc-9uM" secondAttribute="top" constant="5" id="crH-SX-NVh"/>
+                    <constraint firstItem="u0A-UO-7aF" firstAttribute="leading" secondItem="QEM-Mn-Lhw" secondAttribute="leading" id="fyJ-nk-7OF"/>
+                    <constraint firstItem="uaj-Fd-5wB" firstAttribute="trailing" secondItem="u0A-UO-7aF" secondAttribute="trailing" id="kmv-8k-Qxi"/>
+                    <constraint firstItem="Zx3-At-l7K" firstAttribute="top" secondItem="uaj-Fd-5wB" secondAttribute="bottom" constant="5" id="oHl-EE-Hix"/>
+                    <constraint firstItem="uaj-Fd-5wB" firstAttribute="leading" secondItem="u0A-UO-7aF" secondAttribute="leading" id="whN-AW-rA8"/>
+                </constraints>
+            </tableViewCellContentView>
+            <viewLayoutGuide key="safeArea" id="aW0-zy-SZf"/>
+            <connections>
+                <outlet property="ccTextField" destination="uaj-Fd-5wB" id="mgo-O3-L7n"/>
+                <outlet property="toLabel" destination="QEM-Mn-Lhw" id="0dg-KQ-cNU"/>
+            </connections>
+            <point key="canvasLocation" x="-139" y="-61"/>
+        </tableViewCell>
+    </objects>
+</document>

+ 165 - 2
Apex Mobile/Apex Mobile/DetailPageViewController.m

@@ -22,6 +22,14 @@
 #import "MyQLPreviewController.h"
 #import "LPShareActivity.h"
 
+#import "AMCommEditCell.h"
+#import "AMCommHeadCell.h"
+#import "AMCommContentCell.h"
+
+#define COMM_ID_HEAD @"COMM_ID_HEAD"
+#define COMM_ID_CONTENT @"COMM_ID_CONTENT"
+#define COMM_ID_EDIT @"COMM_ID_EDIT"
+
 @interface DetailHUD : UIView
 
 @property (nonatomic,strong) UILabel *msgLb;
@@ -104,7 +112,7 @@
 
 @end
 
-@interface DetailPageViewController () <QLPreviewControllerDataSource,QLPreviewControllerDelegate,DetailKVCellTapDelegate>
+@interface DetailPageViewController () <QLPreviewControllerDataSource,QLPreviewControllerDelegate,DetailKVCellTapDelegate,AMCommHeadCellDelegate,AMCommContentCellDelegate,AMCommEditCellDelegate>
 
 @property (nonatomic,strong) MyQLPreviewController *quickLook;
 @property (nonatomic,copy) NSString *documentPath;
@@ -176,6 +184,15 @@
     self.quickLook.navigationItem.rightBarButtonItem = previewMenuBtn;
     
     [self configureMap];
+    [self configureTableView];
+}
+
+- (void)configureTableView {
+    
+    [self.table registerNib:[UINib nibWithNibName:@"AMCommHeadCell" bundle:nil] forCellReuseIdentifier:COMM_ID_HEAD];
+    [self.table registerNib:[UINib nibWithNibName:@"AMCommContentCell" bundle:nil] forCellReuseIdentifier:COMM_ID_CONTENT];
+    [self.table registerNib:[UINib nibWithNibName:@"AMCommEditCell" bundle:nil] forCellReuseIdentifier:COMM_ID_EDIT];
+    
 }
 
 - (void)configureMap {
@@ -748,6 +765,46 @@
 //        //        return MAX(cell.keyLabel.frame.size.height,cell.valLabel.frame.size.height);
 //        return height;
     }
+    else if ([type isEqualToString:@"communication"]) {
+        NSInteger rowCount = [tableView numberOfRowsInSection:indexPath.section];
+        if (indexPath.row == 0) {
+            return 133.0f;
+        } else if (indexPath.row == rowCount - 1) {
+            return 200.0f;
+        } else {
+            
+            NSMutableDictionary* segment = [self.content.segments[indexPath.section] mutableCopy];
+            NSString *itemKey = [NSString stringWithFormat:@"item%ld",indexPath.row - 1];
+            NSDictionary *item = [[segment objectForKey:itemKey] mutableCopy];
+            
+            CGFloat height = [[item objectForKey:@"content_height"] floatValue];
+            if (height <= 0) {
+                
+                NSString *content = [item objectForKey:@"msg"];
+                
+                if (content && content.length > 0) {
+                    NSDictionary *attribute = @{NSFontAttributeName: [UIFont systemFontOfSize:14.0f]};
+                    
+                    CGSize resSize = [content boundingRectWithSize:CGSizeMake(CGRectGetWidth(tableView.bounds) - 11, MAXFLOAT)
+                                                           options:(NSStringDrawingUsesLineFragmentOrigin | NSStringDrawingUsesFontLeading)
+                                                        attributes:attribute
+                                                           context:nil].size;
+                    height = resSize.height;
+                } else {
+                    height = 0;
+                }
+                
+                [item setValue:@(height) forKey:@"content_height"];
+                [segment setObject:item forKey:itemKey];
+                
+                NSMutableArray *arr = [self.content.segments mutableCopy];
+                [arr replaceObjectAtIndex:indexPath.section withObject:segment];
+                self.content.segments = arr;
+            }
+
+            return 71.5 + height;
+        }
+    }
     else
     {
           DebugLog(@"cellForRowAtIndexPath =====> list");
@@ -828,7 +885,15 @@
 - (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section
 {
       DebugLog(@"numberOfRowsInSection=%d",[self.content get_itemcount:section]);
-    return [self.content get_itemcount:section];
+    NSMutableDictionary* segment = [self.content.segments[section] mutableCopy];
+    NSString* type =[segment valueForKey:@"_type"];
+    
+    if ([type isEqualToString:@"communication"]) {
+        return [self.content get_itemcount:section] + 2;
+    } else {
+        return [self.content get_itemcount:section];
+    }
+    
     
 }
 - (NSString *)tableView:(UITableView *)tableView titleForHeaderInSection:(NSInteger)section {
@@ -1134,6 +1199,58 @@
 //        //        [self.content set_itemheight:100 AtIndexPath:indexPath];
 //        return cell;
     }
+    else if ([type isEqualToString:@"communication"]) {
+        
+        NSInteger rowCount = [tableView numberOfRowsInSection:indexPath.section];
+        
+        NSMutableDictionary* segment = [self.content.segments[indexPath.section] mutableCopy];
+        
+        if (indexPath.row == 0) { // head
+            
+            AMCommHeadCell *cell = [tableView dequeueReusableCellWithIdentifier:COMM_ID_HEAD forIndexPath:indexPath];
+            
+            NSString *to = [segment objectForKey:@"receipt"];
+            NSString *cc = [segment objectForKey:@"cc"];
+            
+            [cell setTo:to];
+            [cell setCc:cc];
+            
+            cell.delegate = self;
+            
+            return cell;
+            
+        } else if (indexPath.row == rowCount - 1) { // edit
+            
+            AMCommEditCell *cell = [tableView dequeueReusableCellWithIdentifier:COMM_ID_EDIT forIndexPath:indexPath];
+            
+            NSString *editContent = [segment objectForKey:@"edit_content"];
+            [cell setEmail:editContent];
+            cell.delegate = self;
+            
+            return cell;
+            
+        } else { // content
+            
+            AMCommContentCell *cell = [tableView dequeueReusableCellWithIdentifier:COMM_ID_CONTENT forIndexPath:indexPath];
+            
+            NSDictionary *item = [segment objectForKey:[NSString stringWithFormat:@"item%ld",indexPath.row - 1]];
+            
+            NSString *sender = [item objectForKey:@"Sender"];
+            NSString *content = [item objectForKey:@"msg"];
+            NSString *time = [item objectForKey:@"mst_time"];
+            NSString *email = [item objectForKey:@"email_url"];
+            
+            [cell setSender:sender];
+            [cell setContent:content];
+            [cell setTime:time];
+            [cell setEmail:email];
+            
+            cell.delegate = self;
+            
+            return cell;
+            
+        }
+    }
     else
     {
           DebugLog(@"cellForRowAtIndexPath =====> list");
@@ -1390,4 +1507,50 @@
     [self presentViewController:menuAlert animated:YES completion:nil];
 }
 
+#pragma mark - COMM Head Delegate
+
+- (void)commHeadCell:(AMCommHeadCell *)cell didChangeCC:(NSString *)cc {
+    
+    NSIndexPath *indexPath = [self.table indexPathForCell:cell];
+    
+    NSMutableDictionary* segment = [self.content.segments[indexPath.section] mutableCopy];
+    if (cc && cc.length > 0) {
+        [segment setValue:cc forKey:@"cc"];
+    } else {
+        [segment removeObjectForKey:@"cc"];
+    }
+    
+    NSMutableArray *arr = [self.content.segments mutableCopy];
+    [arr replaceObjectAtIndex:indexPath.section withObject:segment];
+    self.content.segments = arr;
+}
+
+#pragma mark - COMM Content Delegate
+
+- (void)commContentCell:(AMCommContentCell *)cell sendEmail:(NSString *)email {
+    
+}
+
+#pragma mark - COMM Edit Delegate
+
+- (void)commEditCell:(AMCommEditCell *)cell clickToSendEmail:(NSString *)email {
+    
+}
+
+- (void)commEditCell:(AMCommEditCell *)cell didChangeEmail:(NSString *)email {
+    
+    NSIndexPath *indexPath = [self.table indexPathForCell:cell];
+    
+    NSMutableDictionary* segment = [self.content.segments[indexPath.section] mutableCopy];
+    if (email && email.length > 0) {
+        [segment setValue:email forKey:@"edit_content"];
+    } else {
+        [segment removeObjectForKey:@"edit_content"];
+    }
+    
+    NSMutableArray *arr = [self.content.segments mutableCopy];
+    [arr replaceObjectAtIndex:indexPath.section withObject:segment];
+    self.content.segments = arr;
+}
+
 @end