瀏覽代碼

1.完成Apex Mobile About界面布局。
2.修改Apex Mobile Detail界面,增加Tracking Section开关。
3.修改Apex Mobile Message刷新。
4.修改Apex Mobile推送开关。

Pen Li 8 年之前
父節點
當前提交
68e3633936
共有 24 個文件被更改,包括 399 次插入95 次删除
  1. 1 1
      Apex Mobile/AboutViewController.h
  2. 17 6
      Apex Mobile/AboutViewController.m
  3. 9 0
      Apex Mobile/Apex Mobile.xcodeproj/project.pbxproj
  4. 8 0
      Apex Mobile/Apex Mobile/Apex Mobile.entitlements
  5. 4 0
      Apex Mobile/Apex Mobile/Base.lproj/Localizable.strings
  6. 12 1
      Apex Mobile/Apex Mobile/DetailContent.m
  7. 70 1
      Apex Mobile/Apex Mobile/DetailPageViewController.m
  8. 93 29
      Apex Mobile/Apex Mobile/Main.storyboard
  9. 125 46
      Apex Mobile/Apex Mobile/MessageViewController.m
  10. 4 4
      Apex Mobile/Apex Mobile/NewImages.xcassets/apexlogo-2.imageset/Contents.json
  11. 3 0
      Apex Mobile/Apex Mobile/NewImages.xcassets/bar_search.imageset/Contents.json
  12. 3 0
      Apex Mobile/Apex Mobile/NewImages.xcassets/ic_clear.imageset/Contents.json
  13. 3 0
      Apex Mobile/Apex Mobile/NewImages.xcassets/ic_exit.imageset/Contents.json
  14. 3 0
      Apex Mobile/Apex Mobile/NewImages.xcassets/ic_mark_read.imageset/Contents.json
  15. 3 0
      Apex Mobile/Apex Mobile/NewImages.xcassets/ic_menu.imageset/Contents.json
  16. 23 0
      Apex Mobile/Apex Mobile/NewImages.xcassets/ic_pdf128.imageset/Contents.json
  17. 二進制
      Apex Mobile/Apex Mobile/NewImages.xcassets/ic_pdf128.imageset/ic_pdf128.png
  18. 二進制
      Apex Mobile/Apex Mobile/NewImages.xcassets/ic_pdf128.imageset/ic_pdf128@2x.png
  19. 二進制
      Apex Mobile/Apex Mobile/NewImages.xcassets/ic_pdf128.imageset/ic_pdf128@3x.png
  20. 3 0
      Apex Mobile/Apex Mobile/NewImages.xcassets/ic_save.imageset/Contents.json
  21. 3 0
      Apex Mobile/Apex Mobile/NewImages.xcassets/ic_setting.imageset/Contents.json
  22. 6 6
      Apex Mobile/Apex Mobile/ToolslistViewController.m
  23. 2 1
      Apex Mobile/Apex Mobile/config.h
  24. 4 0
      Apex Mobile/Apex Mobile/zh-Hans.lproj/Localizable.strings

+ 1 - 1
Apex Mobile/AboutViewController.h

@@ -11,7 +11,7 @@
 @interface AboutViewController : UIViewController
 //@property (strong, nonatomic) IBOutlet UIWebView *webview;
 //@property (strong, nonatomic) IBOutlet UILabel *verLabel;
-@property (strong, nonatomic) IBOutlet UITextView *infoText;
+//@property (strong, nonatomic) IBOutlet UITextView *infoText;
 
 
 @end

+ 17 - 6
Apex Mobile/AboutViewController.m

@@ -9,6 +9,11 @@
 #import "AboutViewController.h"
 
 @interface AboutViewController ()
+@property (strong, nonatomic) IBOutlet UILabel *titleLabel;
+@property (strong, nonatomic) IBOutlet UILabel *verKeyLabel;
+@property (strong, nonatomic) IBOutlet UILabel *verValueLabel;
+@property (strong, nonatomic) IBOutlet UILabel *supportKeyLabel;
+@property (strong, nonatomic) IBOutlet UITextView *supportValueLabel;
 
 @end
 
@@ -40,19 +45,25 @@
 {
     [super viewDidLoad];
     
-    if (@available(iOS 11,*)) {
-        self.infoText.contentInsetAdjustmentBehavior = UIScrollViewContentInsetAdjustmentNever;
-    } else {
-        self.automaticallyAdjustsScrollViewInsets = NO;
-    }
+//    if (@available(iOS 11,*)) {
+//        self.infoText.contentInsetAdjustmentBehavior = UIScrollViewContentInsetAdjustmentNever;
+//    } else {
+//        self.automaticallyAdjustsScrollViewInsets = NO;
+//    }
     
     NSDictionary* infoDict =[[NSBundle mainBundle] infoDictionary];
     NSString* versionNum =[infoDict objectForKey:@"CFBundleVersion"];
     versionNum = [NSString stringWithFormat:@"A%@",versionNum];
     
-    self.infoText.text = [NSString stringWithFormat:NSLocalizedString(@"about_appinfo", nil),versionNum];
+//    self.infoText.text = [NSString stringWithFormat:NSLocalizedString(@"about_appinfo", nil),versionNum];
 
 	// Do any additional setup after loading the view.
+    
+    self.titleLabel.text = NSLocalizedString(@"about_title", nil);
+    self.verKeyLabel.text = NSLocalizedString(@"about_ver_key", nil);
+    self.verValueLabel.text = versionNum;
+    self.supportKeyLabel.text = NSLocalizedString(@"about_support_key",nil);
+    self.supportValueLabel.text = NSLocalizedString(@"about_support_value", nil);
 }
 
 - (void)didReceiveMemoryWarning

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

@@ -190,6 +190,7 @@
 		426E8AB8202163EC0073BA5D /* JLPresentationController.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = JLPresentationController.m; sourceTree = "<group>"; };
 		426E8ABB2021AEC50073BA5D /* JLCustomerNavigationAlertController.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = JLCustomerNavigationAlertController.h; sourceTree = "<group>"; };
 		426E8ABC2021AEC50073BA5D /* JLCustomerNavigationAlertController.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = JLCustomerNavigationAlertController.m; sourceTree = "<group>"; };
+		427994B120300E7300746EDC /* Apex Mobile.entitlements */ = {isa = PBXFileReference; lastKnownFileType = text.plist.entitlements; path = "Apex Mobile.entitlements"; sourceTree = "<group>"; };
 		427CF5CF2023F5560041472A /* NewImages.xcassets */ = {isa = PBXFileReference; lastKnownFileType = folder.assetcatalog; path = NewImages.xcassets; sourceTree = "<group>"; };
 		427CF5DF202452450041472A /* Accelerate.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Accelerate.framework; path = System/Library/Frameworks/Accelerate.framework; sourceTree = SDKROOT; };
 		427CF5E2202454750041472A /* GoogleMaps.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; path = GoogleMaps.framework; sourceTree = "<group>"; };
@@ -902,6 +903,7 @@
 		719EF8E618BB839F00EFFF5F /* Apex Mobile */ = {
 			isa = PBXGroup;
 			children = (
+				427994B120300E7300746EDC /* Apex Mobile.entitlements */,
 				426E8AB4202163EB0073BA5D /* Alert */,
 				425CF089201EB2B500750E32 /* Refresh */,
 				715643B820198A6000B04267 /* new */,
@@ -1088,6 +1090,11 @@
 					719EF8DC18BB839F00EFFF5F = {
 						DevelopmentTeam = HXWLAA5YN5;
 						ProvisioningStyle = Automatic;
+						SystemCapabilities = {
+							com.apple.Push = {
+								enabled = 1;
+							};
+						};
 					};
 					719EF90318BB839F00EFFF5F = {
 						TestTargetID = 719EF8DC18BB839F00EFFF5F;
@@ -1421,6 +1428,7 @@
 			buildSettings = {
 				ALWAYS_SEARCH_USER_PATHS = NO;
 				ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon;
+				CODE_SIGN_ENTITLEMENTS = "Apex Mobile/Apex Mobile.entitlements";
 				CODE_SIGN_IDENTITY = "iPhone Developer";
 				"CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer";
 				CODE_SIGN_STYLE = Automatic;
@@ -1463,6 +1471,7 @@
 			buildSettings = {
 				ALWAYS_SEARCH_USER_PATHS = NO;
 				ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon;
+				CODE_SIGN_ENTITLEMENTS = "Apex Mobile/Apex Mobile.entitlements";
 				CODE_SIGN_IDENTITY = "iPhone Distribution";
 				"CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer";
 				CODE_SIGN_STYLE = Automatic;

+ 8 - 0
Apex Mobile/Apex Mobile/Apex Mobile.entitlements

@@ -0,0 +1,8 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
+<plist version="1.0">
+<dict>
+	<key>aps-environment</key>
+	<string>development</string>
+</dict>
+</plist>

+ 4 - 0
Apex Mobile/Apex Mobile/Base.lproj/Localizable.strings

@@ -49,3 +49,7 @@
 "ask_click"="\nClick for more detail";
 "fields setting"="Setting";
 "menu"="Menu";
+"about_title"="Apex Mobile";
+"about_ver_key"="Version:";
+"about_support_key"="Support:";
+"about_support_value"="USAIRedAnt@united-us.net";

+ 12 - 1
Apex Mobile/Apex Mobile/DetailContent.m

@@ -26,12 +26,23 @@
 -(int) get_itemcount :(long)idx
 {
     int count=0;
-    NSDictionary* segment = self.segments[idx];
+    NSMutableDictionary* segment = [self.segments[idx] mutableCopy];
     NSString* type =[segment valueForKey:@"_type"];
     if([type isEqualToString:@"table"])
         count=1;
+    else if([type isEqualToString:@"tracking"])
+    {
+        BOOL close = [[segment objectForKey:@"close"] boolValue];
+        if (!close) {
+            count=[[segment valueForKey:@"count"] intValue];
+        } else {
+            count = 0;
+        }
+    }
     else
+    {
         count=[[segment valueForKey:@"count"] intValue];
+    }
     
     return count;
     

+ 70 - 1
Apex Mobile/Apex Mobile/DetailPageViewController.m

@@ -418,6 +418,30 @@
     
 }
 
+#pragma mark - Section Switch
+
+- (void)sectionSwitchClick:(UIButton *)sender {
+    NSInteger section = sender.tag - 1020;
+    
+    NSMutableArray *segments = [self.content.segments mutableCopy];
+    NSMutableDictionary* segment = [self.content.segments[section] mutableCopy];
+    NSString* type =[segment valueForKey:@"_type"];
+    if([type isEqualToString:@"tracking"])
+    {
+        BOOL close = [[segment objectForKey:@"close"] boolValue];
+        
+        if (!close) {
+            close = YES;
+        } else {
+            close = NO;
+        }
+        [segment setValue:@(close) forKey:@"close"];
+        segments[section] = segment;
+        self.content.segments = segments;
+        [self.table reloadSections:[NSIndexSet indexSetWithIndex:section] withRowAnimation:UITableViewRowAnimationFade];
+    }
+}
+
 #pragma mark - Table view data source
 //
 //- (CGFloat)tableView:(UITableView *)tableView heightForFooterInSection:(NSInteger)section
@@ -598,6 +622,45 @@
       DebugLog(@"titleForHeaderInSection=%@",[self.content get_segmentname:section]);
     return [self.content get_segmentname:section];
 }
+
+- (UIView *)tableView:(UITableView *)tableView viewForHeaderInSection:(NSInteger)section {
+    
+    NSMutableDictionary* segment = [self.content.segments[section] mutableCopy];
+    NSString* type =[segment valueForKey:@"_type"];
+
+    CGFloat w = tableView.frame.size.width;
+    UIView *header = [[UIView alloc] initWithFrame:CGRectMake(0, 0, w, 30)];
+    
+    UILabel *titleLb = [[UILabel alloc] initWithFrame:CGRectMake(5, 0, w - 100, 30)];
+    titleLb.font = [UIFont systemFontOfSize:15.0f];
+    titleLb.textColor = APGRAYCOLOR;
+    titleLb.text = [self tableView:tableView titleForHeaderInSection:section];
+    
+    [header addSubview:titleLb];
+    
+    if([type isEqualToString:@"tracking"])
+    {
+        BOOL close = [[segment objectForKey:@"close"] boolValue];
+        NSString *title = @"Show";
+        if (!close) {
+            title = @"Hide";
+        } else {
+            title = @"Show";
+        }
+        
+        UIButton *btn = [UIButton buttonWithType:UIButtonTypeCustom];
+        btn.frame = CGRectMake(w - 70, 0, 60, 30);
+        btn.tag = 1020 + section;
+        [btn setTitle:title forState:UIControlStateNormal];
+        [btn setTitleColor:APGRAYCOLOR forState:UIControlStateNormal];
+        [btn addTarget:self action:@selector(sectionSwitchClick:) forControlEvents:UIControlEventTouchUpInside];
+        
+        [header addSubview:btn];
+    }
+    
+    return header;
+}
+
 - (CGFloat)tableView:(UITableView *)tableView heightForHeaderInSection:(NSInteger)section
 {
     return  30;
@@ -682,11 +745,17 @@
         NSDictionary* item = [self.content get_item_seg:indexPath.section row:indexPath.row];
         
         if(indexPath.row==0)
+        {
             cell.trackingIcon.tintColor=UIColorFromRGB(0x1e7ffb);
+            cell.trackingIcon.image = [[UIImage imageNamed:item[@"icon"]] imageWithRenderingMode:UIImageRenderingModeAlwaysOriginal];
+        }
         else
+        {
             cell.trackingIcon.tintColor=[UIColor grayColor];
+            cell.trackingIcon.image = [[UIImage imageNamed:item[@"icon"]] imageWithRenderingMode:UIImageRenderingModeAlwaysTemplate];
+        }
+        
         
-        cell.trackingIcon.image = [[UIImage imageNamed:item[@"icon"]] imageWithRenderingMode:UIImageRenderingModeAlwaysTemplate];
         cell.trackingMsg.text=item[@"msg"];
 //        NSString* tablecontent = [item valueForKey:@"content"];
 //        cell.webView.tag = indexPath.section;

+ 93 - 29
Apex Mobile/Apex Mobile/Main.storyboard

@@ -9,11 +9,6 @@
         <capability name="Safe area layout guides" minToolsVersion="9.0"/>
         <capability name="documents saved in the Xcode 8 format" minToolsVersion="8.0"/>
     </dependencies>
-    <customFonts key="customFonts">
-        <array key="HelveticaNeue.ttc">
-            <string>HelveticaNeue</string>
-        </array>
-    </customFonts>
     <scenes>
         <!--Navigation Controller-->
         <scene sceneID="n3W-k5-9pt">
@@ -447,27 +442,91 @@
                         <rect key="frame" x="0.0" y="0.0" width="375" height="667"/>
                         <autoresizingMask key="autoresizingMask" flexibleMaxX="YES" flexibleMaxY="YES"/>
                         <subviews>
-                            <textView clipsSubviews="YES" multipleTouchEnabled="YES" contentMode="scaleToFill" scrollEnabled="NO" editable="NO" text="version:A150829
Support:usairedadt@united-us.net" textAlignment="center" translatesAutoresizingMaskIntoConstraints="NO" id="qjb-87-KPo">
-                                <rect key="frame" x="0.0" y="20" width="375" height="647"/>
-                                <color key="backgroundColor" red="0.0" green="0.0" blue="0.0" alpha="0.0" colorSpace="custom" customColorSpace="sRGB"/>
-                                <fontDescription key="fontDescription" name="HelveticaNeue" family="Helvetica Neue" pointSize="17"/>
-                                <textInputTraits key="textInputTraits" autocapitalizationType="sentences"/>
-                                <dataDetectorType key="dataDetectorTypes" link="YES"/>
-                            </textView>
+                            <view contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="QzH-GH-INM">
+                                <rect key="frame" x="0.0" y="228.5" width="375" height="230"/>
+                                <subviews>
+                                    <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="Support:" textAlignment="center" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="39P-Ml-ixn">
+                                        <rect key="frame" x="12" y="125" width="350.5" 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" text="USAIRedAnt@united-us.net" textAlignment="center" translatesAutoresizingMaskIntoConstraints="NO" id="Pf8-a1-dkP">
+                                        <rect key="frame" x="12" y="148" width="351" height="30"/>
+                                        <color key="backgroundColor" white="1" alpha="1" colorSpace="calibratedWhite"/>
+                                        <constraints>
+                                            <constraint firstAttribute="height" constant="30" id="9kR-cB-Sfv"/>
+                                        </constraints>
+                                        <fontDescription key="fontDescription" type="system" pointSize="17"/>
+                                        <textInputTraits key="textInputTraits" autocapitalizationType="sentences"/>
+                                        <dataDetectorType key="dataDetectorTypes" link="YES" address="YES" lookupSuggestion="YES"/>
+                                    </textView>
+                                    <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="Apex Mobile" textAlignment="center" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="pzW-he-Zsx">
+                                        <rect key="frame" x="12" y="19" width="351" height="23"/>
+                                        <fontDescription key="fontDescription" type="system" pointSize="19"/>
+                                        <nil key="textColor"/>
+                                        <nil key="highlightedColor"/>
+                                    </label>
+                                    <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="A123456" textAlignment="center" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="xAO-02-0JD">
+                                        <rect key="frame" x="12" y="96" width="351.5" 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="Version:" textAlignment="center" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="wLu-oT-rmT">
+                                        <rect key="frame" x="12" y="67" width="351" height="21"/>
+                                        <fontDescription key="fontDescription" type="system" pointSize="17"/>
+                                        <nil key="textColor"/>
+                                        <nil key="highlightedColor"/>
+                                    </label>
+                                </subviews>
+                                <color key="backgroundColor" white="1" alpha="1" colorSpace="calibratedWhite"/>
+                                <constraints>
+                                    <constraint firstItem="39P-Ml-ixn" firstAttribute="leading" secondItem="xAO-02-0JD" secondAttribute="leading" id="7D6-oZ-Dy9"/>
+                                    <constraint firstItem="wLu-oT-rmT" firstAttribute="top" secondItem="pzW-he-Zsx" secondAttribute="bottom" constant="25" id="B4Z-sw-pOa"/>
+                                    <constraint firstItem="39P-Ml-ixn" firstAttribute="centerX" secondItem="QzH-GH-INM" secondAttribute="centerX" id="EFY-Et-1r3"/>
+                                    <constraint firstItem="wLu-oT-rmT" firstAttribute="centerX" secondItem="QzH-GH-INM" secondAttribute="centerX" id="Gql-Kj-dW5"/>
+                                    <constraint firstItem="wLu-oT-rmT" firstAttribute="leading" secondItem="pzW-he-Zsx" secondAttribute="leading" id="JZE-fK-5FU"/>
+                                    <constraint firstItem="xAO-02-0JD" firstAttribute="leading" secondItem="wLu-oT-rmT" secondAttribute="leading" id="PGm-Xb-RZ9"/>
+                                    <constraint firstItem="Pf8-a1-dkP" firstAttribute="top" secondItem="39P-Ml-ixn" secondAttribute="bottom" constant="2" id="RlZ-fw-Rgh"/>
+                                    <constraint firstItem="xAO-02-0JD" firstAttribute="top" secondItem="wLu-oT-rmT" secondAttribute="bottom" constant="8" id="ZEv-7E-H5d"/>
+                                    <constraint firstItem="pzW-he-Zsx" firstAttribute="centerX" secondItem="QzH-GH-INM" secondAttribute="centerX" id="a9V-vY-Gto"/>
+                                    <constraint firstItem="39P-Ml-ixn" firstAttribute="top" secondItem="xAO-02-0JD" secondAttribute="bottom" constant="8" id="i4N-vu-cZv"/>
+                                    <constraint firstItem="Pf8-a1-dkP" firstAttribute="leading" secondItem="39P-Ml-ixn" secondAttribute="leading" id="ihL-II-S9F"/>
+                                    <constraint firstItem="pzW-he-Zsx" firstAttribute="leading" secondItem="QzH-GH-INM" secondAttribute="leading" constant="12" id="lfI-cA-UVR"/>
+                                    <constraint firstItem="pzW-he-Zsx" firstAttribute="top" secondItem="QzH-GH-INM" secondAttribute="top" constant="19" id="nnu-Kt-xr5"/>
+                                    <constraint firstItem="Pf8-a1-dkP" firstAttribute="centerX" secondItem="QzH-GH-INM" secondAttribute="centerX" id="vNc-21-wmh"/>
+                                    <constraint firstItem="xAO-02-0JD" firstAttribute="centerX" secondItem="QzH-GH-INM" secondAttribute="centerX" id="yXr-PA-oo2"/>
+                                    <constraint firstAttribute="height" constant="230" id="zoW-jP-s8X"/>
+                                </constraints>
+                            </view>
+                            <imageView userInteractionEnabled="NO" contentMode="scaleAspectFit" horizontalHuggingPriority="251" verticalHuggingPriority="251" image="apexlogo-2" translatesAutoresizingMaskIntoConstraints="NO" id="L4w-P6-CzE">
+                                <rect key="frame" x="10" y="40" width="354" height="128"/>
+                                <constraints>
+                                    <constraint firstAttribute="height" constant="128" id="dJh-vJ-tuc"/>
+                                </constraints>
+                            </imageView>
                         </subviews>
                         <color key="backgroundColor" red="1" green="1" blue="1" alpha="1" colorSpace="custom" customColorSpace="sRGB"/>
                         <constraints>
-                            <constraint firstItem="qjb-87-KPo" firstAttribute="top" secondItem="qqy-e5-VYs" secondAttribute="top" id="4bi-eS-erf"/>
-                            <constraint firstItem="qjb-87-KPo" firstAttribute="leading" secondItem="qqy-e5-VYs" secondAttribute="leading" id="Ved-GU-IE4"/>
-                            <constraint firstItem="qqy-e5-VYs" firstAttribute="trailing" secondItem="qjb-87-KPo" secondAttribute="trailing" id="lzw-rT-OCd"/>
-                            <constraint firstItem="qqy-e5-VYs" firstAttribute="bottom" secondItem="qjb-87-KPo" secondAttribute="bottom" id="r4p-aI-pXH"/>
+                            <constraint firstItem="QzH-GH-INM" firstAttribute="centerX" secondItem="qqy-e5-VYs" secondAttribute="centerX" id="E1i-9b-Sgg"/>
+                            <constraint firstItem="L4w-P6-CzE" firstAttribute="centerX" secondItem="qqy-e5-VYs" secondAttribute="centerX" id="Ee9-j2-uv5"/>
+                            <constraint firstItem="QzH-GH-INM" firstAttribute="width" secondItem="kYm-r8-x3q" secondAttribute="width" id="KaV-V1-fXk"/>
+                            <constraint firstItem="L4w-P6-CzE" firstAttribute="top" secondItem="qqy-e5-VYs" secondAttribute="top" constant="20" id="QM2-4x-Tvu"/>
+                            <constraint firstItem="QzH-GH-INM" firstAttribute="top" relation="greaterThanOrEqual" secondItem="L4w-P6-CzE" secondAttribute="bottom" constant="20" id="QWI-Sq-EWG"/>
+                            <constraint firstItem="L4w-P6-CzE" firstAttribute="leading" secondItem="qqy-e5-VYs" secondAttribute="leading" constant="10" id="Ykt-Nx-iFC"/>
+                            <constraint firstItem="QzH-GH-INM" firstAttribute="centerY" secondItem="qqy-e5-VYs" secondAttribute="centerY" priority="999" id="mDe-mV-dtM"/>
                         </constraints>
                         <viewLayoutGuide key="safeArea" id="qqy-e5-VYs"/>
                     </view>
                     <navigationItem key="navigationItem" title="About" id="Fv2-lk-EA8"/>
                     <nil key="simulatedBottomBarMetrics"/>
                     <connections>
-                        <outlet property="infoText" destination="qjb-87-KPo" id="fra-QF-rnb"/>
+                        <outlet property="supportKeyLabel" destination="39P-Ml-ixn" id="ewn-oE-X6r"/>
+                        <outlet property="supportValueLabel" destination="Pf8-a1-dkP" id="kuS-R6-EDF"/>
+                        <outlet property="titleLabel" destination="pzW-he-Zsx" id="bQy-1I-MRk"/>
+                        <outlet property="verKeyLabel" destination="wLu-oT-rmT" id="mPE-bx-7IC"/>
+                        <outlet property="verValueLabel" destination="xAO-02-0JD" id="V2T-PA-ADf"/>
                     </connections>
                 </viewController>
                 <placeholder placeholderIdentifier="IBFirstResponder" id="iQj-g2-Vsa" userLabel="First Responder" sceneMemberID="firstResponder"/>
@@ -576,7 +635,7 @@
                                                     <color key="textColor" red="0.33333334329999997" green="0.33333334329999997" blue="0.33333334329999997" alpha="1" colorSpace="custom" customColorSpace="sRGB"/>
                                                     <nil key="highlightedColor"/>
                                                 </label>
-                                                <imageView autoresizesSubviews="NO" userInteractionEnabled="NO" contentMode="scaleAspectFill" horizontalHuggingPriority="251" verticalHuggingPriority="251" image="rect_market_news" translatesAutoresizingMaskIntoConstraints="NO" id="c0R-J8-9uA">
+                                                <imageView autoresizesSubviews="NO" userInteractionEnabled="NO" contentMode="scaleAspectFit" horizontalHuggingPriority="251" verticalHuggingPriority="251" image="rect_market_news" translatesAutoresizingMaskIntoConstraints="NO" id="c0R-J8-9uA">
                                                     <rect key="frame" x="10" y="4.5" width="55" height="55"/>
                                                     <constraints>
                                                         <constraint firstAttribute="width" constant="55" id="6FD-Gf-avq"/>
@@ -927,14 +986,12 @@
                         <rect key="frame" x="0.0" y="0.0" width="375" height="667"/>
                         <autoresizingMask key="autoresizingMask" flexibleMaxX="YES" flexibleMaxY="YES"/>
                         <subviews>
-                            <activityIndicatorView opaque="NO" contentMode="scaleToFill" horizontalHuggingPriority="750" verticalHuggingPriority="750" fixedFrame="YES" animating="YES" style="whiteLarge" translatesAutoresizingMaskIntoConstraints="NO" id="w7y-tI-BLn">
-                                <rect key="frame" x="0.0" y="266" width="320" height="37"/>
-                                <autoresizingMask key="autoresizingMask" flexibleMaxX="YES" flexibleMaxY="YES"/>
+                            <activityIndicatorView opaque="NO" contentMode="scaleToFill" horizontalHuggingPriority="750" verticalHuggingPriority="750" animating="YES" style="whiteLarge" translatesAutoresizingMaskIntoConstraints="NO" id="w7y-tI-BLn">
+                                <rect key="frame" x="169" y="315" width="37" height="37"/>
                                 <color key="color" red="0.40000000600000002" green="0.80000001190000003" blue="1" alpha="1" colorSpace="custom" customColorSpace="sRGB"/>
                             </activityIndicatorView>
-                            <tableView hidden="YES" clipsSubviews="YES" contentMode="scaleToFill" fixedFrame="YES" alwaysBounceVertical="YES" dataMode="prototypes" style="plain" separatorStyle="default" rowHeight="44" sectionHeaderHeight="22" sectionFooterHeight="22" translatesAutoresizingMaskIntoConstraints="NO" id="TxA-8D-Obq">
-                                <rect key="frame" x="0.0" y="65" width="375" height="602"/>
-                                <autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/>
+                            <tableView hidden="YES" clipsSubviews="YES" contentMode="scaleToFill" alwaysBounceVertical="YES" dataMode="prototypes" style="plain" separatorStyle="default" rowHeight="44" sectionHeaderHeight="22" sectionFooterHeight="22" translatesAutoresizingMaskIntoConstraints="NO" id="TxA-8D-Obq">
+                                <rect key="frame" x="0.0" y="20" width="375" height="647"/>
                                 <color key="backgroundColor" red="1" green="1" blue="1" alpha="1" colorSpace="custom" customColorSpace="sRGB"/>
                                 <color key="sectionIndexColor" red="0.88766825199999999" green="0.88764166830000002" blue="0.88765668870000003" alpha="1" colorSpace="custom" customColorSpace="sRGB"/>
                                 <prototypes>
@@ -973,6 +1030,14 @@
                             </tableView>
                         </subviews>
                         <color key="backgroundColor" red="1" green="1" blue="1" alpha="1" colorSpace="custom" customColorSpace="sRGB"/>
+                        <constraints>
+                            <constraint firstItem="TxA-8D-Obq" firstAttribute="leading" secondItem="utH-2m-x08" secondAttribute="leading" id="Jny-Dl-8l4"/>
+                            <constraint firstItem="TxA-8D-Obq" firstAttribute="top" secondItem="t7Z-Dy-cM3" secondAttribute="bottom" id="KHc-ep-Zf6"/>
+                            <constraint firstItem="w7y-tI-BLn" firstAttribute="centerX" secondItem="utH-2m-x08" secondAttribute="centerX" id="ecE-ir-sUU"/>
+                            <constraint firstItem="w7y-tI-BLn" firstAttribute="centerY" secondItem="utH-2m-x08" secondAttribute="centerY" id="gWF-qk-Cxt"/>
+                            <constraint firstItem="kXc-Ph-sWh" firstAttribute="top" secondItem="TxA-8D-Obq" secondAttribute="bottom" id="ndW-e0-jqh"/>
+                            <constraint firstItem="TxA-8D-Obq" firstAttribute="width" secondItem="utH-2m-x08" secondAttribute="width" id="s4b-B4-XGr"/>
+                        </constraints>
                     </view>
                     <navigationItem key="navigationItem" id="hLT-6n-O4w">
                         <barButtonItem key="rightBarButtonItem" title="Item" image="ic_mark_read" springLoaded="YES" style="plain" id="hcg-nl-Lld">
@@ -1020,7 +1085,7 @@
                                                     <color key="textColor" red="0.0" green="0.0" blue="0.0" alpha="1" colorSpace="custom" customColorSpace="sRGB"/>
                                                     <nil key="highlightedColor"/>
                                                 </label>
-                                                <imageView contentMode="scaleToFill" horizontalHuggingPriority="251" verticalHuggingPriority="251" image="rect_announcements" translatesAutoresizingMaskIntoConstraints="NO" id="1xj-Cr-Ecf">
+                                                <imageView contentMode="scaleToFill" horizontalHuggingPriority="251" verticalHuggingPriority="251" image="rect_market_news" translatesAutoresizingMaskIntoConstraints="NO" id="1xj-Cr-Ecf">
                                                     <rect key="frame" x="10" y="7.5" width="50" height="50"/>
                                                     <constraints>
                                                         <constraint firstAttribute="height" constant="50" id="Edc-JY-dE4"/>
@@ -1101,8 +1166,8 @@
                                                     <color key="textColor" white="0.33333333333333331" alpha="1" colorSpace="calibratedWhite"/>
                                                     <nil key="highlightedColor"/>
                                                 </label>
-                                                <imageView contentMode="scaleToFill" horizontalHuggingPriority="251" verticalHuggingPriority="251" image="rect_announcements" translatesAutoresizingMaskIntoConstraints="NO" id="UI6-iv-41o">
-                                                    <rect key="frame" x="10" y="6.5" width="50" height="50"/>
+                                                <imageView contentMode="scaleToFill" horizontalHuggingPriority="251" verticalHuggingPriority="251" image="rect_market_news" translatesAutoresizingMaskIntoConstraints="NO" id="UI6-iv-41o">
+                                                    <rect key="frame" x="10" y="7.5" width="50" height="50"/>
                                                     <constraints>
                                                         <constraint firstAttribute="width" constant="50" id="Yx6-AT-Mbf"/>
                                                         <constraint firstAttribute="height" constant="50" id="fBz-G8-b1l"/>
@@ -1648,10 +1713,9 @@
         <image name="bar_search" width="30" height="30"/>
         <image name="ic_clear" width="30" height="30"/>
         <image name="ic_mark_read" width="30" height="30"/>
-        <image name="ic_pdf128" width="64" height="64"/>
+        <image name="ic_pdf128" width="48" height="48"/>
         <image name="ic_setting" width="30" height="30"/>
         <image name="map (1)" width="32" height="32"/>
-        <image name="rect_announcements" width="64" height="64"/>
         <image name="rect_market_news" width="48" height="48"/>
         <image name="tab_history" width="30" height="30"/>
         <image name="tab_home" width="30" height="30"/>

+ 125 - 46
Apex Mobile/Apex Mobile/MessageViewController.m

@@ -10,7 +10,10 @@
 #import "MessageItem.h"
 #import "MessageDetailViewController.h"
 #import "TabBarController.h"
-@interface MessageViewController ()
+#import "JLRefreshFooter.h"
+#import "JLRefreshHeader.h"
+
+@interface MessageViewController () <JLRefreshDelegate>
 
 @end
 
@@ -38,12 +41,12 @@
 {
     return UIInterfaceOrientationPortrait;
 }
--(void) loadpage
-{
+
+- (void)loadContentWithOption:(int)option Complete:(void (^)(int, int))finish {
     
     //    [self.params setValue:[NSString stringWithFormat:@"%ld",self.offset] forKey:@"offset"];
-    self.mum.center = self.view.center;
-    self.btnrefresh.enabled = false;
+//    self.mum.center = self.view.center;
+//    self.btnrefresh.enabled = false;
     //
     //    NSTimeInterval animationDuration = 0.30f;
     //    [UIView beginAnimations:@"ResizeView" context:nil];
@@ -56,6 +59,9 @@
     //    self.tableview.hidden = true;
     
     //    [UIView commitAnimations];
+    
+    self.mum.hidden = NO;
+    
     dispatch_async(dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT, 0), ^{
         
         
@@ -66,6 +72,10 @@
         dispatch_async(dispatch_get_main_queue(), ^{
             self.tableview.hidden =false;
             self.mum.hidden = true;
+            
+            int result = 2;
+            int count = 0;
+            
             if(data != nil)
             {
                 self.btnrefresh.hidden = false;
@@ -81,45 +91,37 @@
                     [self.messageinfo addObject:[NSMutableDictionary dictionaryWithDictionary:objmsg]];
                     
                 }
-                if(total<self.limit)
-                {
-                    
-                    int i =self.btnrefresh.state;
-                    self.btnrefresh.titleLabel.text =NSLocalizedString(@"no_more", nil);
-                    //                    [self.btnrefresh setTitle:@"No more" forState:UIControlStateNormal];
-                }
-                else
-                {
-                    self.btnrefresh.enabled = true;
-                    self.btnrefresh.titleLabel.text =NSLocalizedString(@"load_more",nil);
-                    //                    [self.btnrefresh setTitle:@"Load more" forState:UIControlStateNormal];
-                }
-               
-                
-//                [self.data appenddata: data];
-//                self.lastid = self.data._id;
-//                self.btnrefresh.hidden = false;
-//                if(self.data.finishload==true)
+//                if(total<self.limit)
 //                {
-//                    
+//
 //                    int i =self.btnrefresh.state;
-//                    self.btnrefresh.titleLabel.text =@"No more";
+//                    self.btnrefresh.titleLabel.text =NSLocalizedString(@"no_more", nil);
 //                    //                    [self.btnrefresh setTitle:@"No more" forState:UIControlStateNormal];
+//
+//
 //                }
 //                else
 //                {
 //                    self.btnrefresh.enabled = true;
-//                    self.btnrefresh.titleLabel.text =@"Load more";
+//                    self.btnrefresh.titleLabel.text =NSLocalizedString(@"load_more",nil);
 //                    //                    [self.btnrefresh setTitle:@"Load more" forState:UIControlStateNormal];
 //                }
+                
+                count = total;
+                result = 2;
+
                 [self.tableview reloadData ];
             }
             else
             {
-                self.btnrefresh.enabled = true;
-                self.btnrefresh.hidden = false;
-                [self.btnrefresh setTitle:NSLocalizedString(@"refresh", nil) forState:UIControlStateNormal];
-                
+//                self.btnrefresh.enabled = true;
+//                self.btnrefresh.hidden = false;
+//                [self.btnrefresh setTitle:NSLocalizedString(@"refresh", nil) forState:UIControlStateNormal];
+                result = 0;
+            }
+            
+            if (finish) {
+                finish(result,count);
             }
             
             
@@ -136,15 +138,21 @@
             
         });
     });
+    
+}
+
+-(void) loadpage
+{
+    [self loadContentWithOption:0 Complete:nil];
 }
 
 - (void)loadmore
 {
-    self.btnrefresh.enabled = NO;
-    self.btnrefresh.titleLabel.text =NSLocalizedString(@"loading",nil);
+//    self.btnrefresh.enabled = NO;
+//    self.btnrefresh.titleLabel.text =NSLocalizedString(@"loading",nil);
     
     //    [self.btnrefresh setTitle:@"Loading..." forState:UIControlStateNormal];
-    [self loadpage];
+    [self loadContentWithOption:2 Complete:nil];
 
 }
 - (void)viewDidLoad
@@ -155,19 +163,29 @@
     self.limit = 20;
     self.messageinfo = [[NSMutableArray alloc]init];
     
-    self.btnrefresh = [UIButton buttonWithType:UIButtonTypeCustom];
-    //    self.btnrefresh.titleLabel.text =@"Load more";
-    [self.btnrefresh setTitle:NSLocalizedString(@"load_more", nil) forState:UIControlStateNormal];
-//    [self.btnrefresh.titleLabel sizeToFit];
-    self.btnrefresh.titleLabel.adjustsFontSizeToFitWidth = YES;
-    self.btnrefresh.hidden = true;
-    [self.btnrefresh setTitleColor:[UIColor blackColor] forState:UIControlStateNormal];
-    self.btnrefresh.backgroundColor = [UIColor lightGrayColor];
-    [self.btnrefresh addTarget:self action:@selector(loadmore) forControlEvents:UIControlEventTouchUpInside];
-    self.btnrefresh.frame =CGRectMake(0.0f, 0.0f, self.tableview.bounds.size.width, 44.0f);
-    self.tableview.tableFooterView = self.btnrefresh;//tableFooterView;
-    [self loadpage];
+//    self.btnrefresh = [UIButton buttonWithType:UIButtonTypeCustom];
+//    //    self.btnrefresh.titleLabel.text =@"Load more";
+//    [self.btnrefresh setTitle:NSLocalizedString(@"load_more", nil) forState:UIControlStateNormal];
+////    [self.btnrefresh.titleLabel sizeToFit];
+//    self.btnrefresh.titleLabel.adjustsFontSizeToFitWidth = YES;
+//    self.btnrefresh.hidden = true;
+//    [self.btnrefresh setTitleColor:[UIColor blackColor] forState:UIControlStateNormal];
+//    self.btnrefresh.backgroundColor = [UIColor lightGrayColor];
+//    [self.btnrefresh addTarget:self action:@selector(loadmore) forControlEvents:UIControlEventTouchUpInside];
+//    self.btnrefresh.frame =CGRectMake(0.0f, 0.0f, self.tableview.bounds.size.width, 44.0f);
+//    self.tableview.tableFooterView = self.btnrefresh;//tableFooterView;
+//    [self loadpage];
     // Do any additional setup after loading the view.
+    
+//    self.tableview.jl_header = [[JLRefreshHeader alloc] init];
+    self.tableview.jl_footer = [[JLRefreshFooter alloc] init];
+//    self.tableview.jl_header.refreshDelegate = self;
+    self.tableview.jl_footer.refreshDelegate = self;
+    
+    self.tableview.tableFooterView = [UIView new];
+    
+    [self loadpage];
+    
 }
 -(void)viewWillAppear:(BOOL)animated
 {
@@ -375,4 +393,65 @@
     //        [self.navigationController pushViewController:newsview animated:YES];
     //    }
 }
+
+#pragma mark - RefreshDelegate
+
+- (void)jl_pullRefresh:(JLRefreshBasis *)refresh state:(JLRefreshState)state percentage:(float)percentage {
+    
+    //    NSString *title = [refresh refreshTitleForState:state];
+    //    CGFloat offset = refresh.jl_height * percentage;
+    
+    if ([refresh isEqual:self.tableview.jl_header]) {
+        //        self.refreshHeaderTitleLb.text = title;
+        //        self.header_top_constraint.constant = offset;
+    }
+    
+    if (refresh == self.tableview.jl_footer) {
+        //        self.refreshFooterTitleLb.text = title;
+        //        self.footer_top_constraint.constant = -offset;
+    }
+    
+}
+
+- (void)jl_endRefresh:(JLRefreshBasis *)refresh {
+    // state == idle
+    
+    // refresh UI
+    [self.tableview reloadData];
+    if (refresh == self.tableview.jl_footer && refresh.state == JLRefreshStateNoMore) {
+        
+    }
+    
+}
+
+- (void)jl_beginRefresh:(JLRefreshBasis *)refresh {
+    // state == refreshing
+    // load data
+    
+    // finish loading data
+    int option = 0;
+    if ([refresh isEqual:self.tableview.jl_header]) {
+        option = 1;
+    }
+    if (refresh == self.tableview.jl_footer) {
+        if(refresh.state==JLRefreshStateNoMore) //数据取完不再加载
+            return;
+        option = 2;
+    }
+    __weak typeof(self) weakSelf = self;
+    [self loadContentWithOption:option Complete:^(int result, int count) {
+        if ([refresh isEqual:weakSelf.tableview.jl_header]) {
+            [weakSelf.tableview.jl_header performSelector:@selector(endRefresh)];
+        }
+        
+        if (refresh == weakSelf.tableview.jl_footer) {
+            [weakSelf.tableview.jl_footer performSelector:@selector(endRefresh)];
+            if (result == 2 && count < self.limit) {
+                [weakSelf.tableview.jl_footer performSelector:@selector(noMoreData)];
+            }
+        }
+    }];
+}
+
+
 @end

+ 4 - 4
Apex Mobile/Apex Mobile/NewImages.xcassets/apexlogo-2.imageset/Contents.json

@@ -2,13 +2,13 @@
   "images" : [
     {
       "idiom" : "universal",
-      "scale" : "1x",
-      "filename" : "apexlogo-2.png"
+      "filename" : "apexlogo-2-1.png",
+      "scale" : "1x"
     },
     {
       "idiom" : "universal",
-      "scale" : "2x",
-      "filename" : "apexlogo-2-1.png"
+      "filename" : "apexlogo-2.png",
+      "scale" : "2x"
     },
     {
       "idiom" : "universal",

+ 3 - 0
Apex Mobile/Apex Mobile/NewImages.xcassets/bar_search.imageset/Contents.json

@@ -19,5 +19,8 @@
   "info" : {
     "version" : 1,
     "author" : "xcode"
+  },
+  "properties" : {
+    "template-rendering-intent" : "original"
   }
 }

+ 3 - 0
Apex Mobile/Apex Mobile/NewImages.xcassets/ic_clear.imageset/Contents.json

@@ -19,5 +19,8 @@
   "info" : {
     "version" : 1,
     "author" : "xcode"
+  },
+  "properties" : {
+    "template-rendering-intent" : "original"
   }
 }

+ 3 - 0
Apex Mobile/Apex Mobile/NewImages.xcassets/ic_exit.imageset/Contents.json

@@ -19,5 +19,8 @@
   "info" : {
     "version" : 1,
     "author" : "xcode"
+  },
+  "properties" : {
+    "template-rendering-intent" : "original"
   }
 }

+ 3 - 0
Apex Mobile/Apex Mobile/NewImages.xcassets/ic_mark_read.imageset/Contents.json

@@ -19,5 +19,8 @@
   "info" : {
     "version" : 1,
     "author" : "xcode"
+  },
+  "properties" : {
+    "template-rendering-intent" : "original"
   }
 }

+ 3 - 0
Apex Mobile/Apex Mobile/NewImages.xcassets/ic_menu.imageset/Contents.json

@@ -19,5 +19,8 @@
   "info" : {
     "version" : 1,
     "author" : "xcode"
+  },
+  "properties" : {
+    "template-rendering-intent" : "original"
   }
 }

+ 23 - 0
Apex Mobile/Apex Mobile/NewImages.xcassets/ic_pdf128.imageset/Contents.json

@@ -0,0 +1,23 @@
+{
+  "images" : [
+    {
+      "idiom" : "universal",
+      "filename" : "ic_pdf128.png",
+      "scale" : "1x"
+    },
+    {
+      "idiom" : "universal",
+      "filename" : "ic_pdf128@2x.png",
+      "scale" : "2x"
+    },
+    {
+      "idiom" : "universal",
+      "filename" : "ic_pdf128@3x.png",
+      "scale" : "3x"
+    }
+  ],
+  "info" : {
+    "version" : 1,
+    "author" : "xcode"
+  }
+}

二進制
Apex Mobile/Apex Mobile/NewImages.xcassets/ic_pdf128.imageset/ic_pdf128.png


二進制
Apex Mobile/Apex Mobile/NewImages.xcassets/ic_pdf128.imageset/ic_pdf128@2x.png


二進制
Apex Mobile/Apex Mobile/NewImages.xcassets/ic_pdf128.imageset/ic_pdf128@3x.png


+ 3 - 0
Apex Mobile/Apex Mobile/NewImages.xcassets/ic_save.imageset/Contents.json

@@ -19,5 +19,8 @@
   "info" : {
     "version" : 1,
     "author" : "xcode"
+  },
+  "properties" : {
+    "template-rendering-intent" : "original"
   }
 }

+ 3 - 0
Apex Mobile/Apex Mobile/NewImages.xcassets/ic_setting.imageset/Contents.json

@@ -19,5 +19,8 @@
   "info" : {
     "version" : 1,
     "author" : "xcode"
+  },
+  "properties" : {
+    "template-rendering-intent" : "original"
   }
 }

+ 6 - 6
Apex Mobile/Apex Mobile/ToolslistViewController.m

@@ -142,13 +142,13 @@
         AboutViewController *viewcontroller=[[UIStoryboard storyboardWithName:@"Main" bundle:nil] instantiateViewControllerWithIdentifier:@"About"];
         //        newsview.module_name = @"Market news";
         
-//        [self.navigationController pushViewController:viewcontroller animated:YES];
+        [self.navigationController pushViewController:viewcontroller animated:YES];
         
-        UIBarButtonItem *closeItem = [[UIBarButtonItem alloc] initWithImage:[[UIImage imageNamed:@"ic_exit"] imageWithRenderingMode:UIImageRenderingModeAlwaysOriginal] style:UIBarButtonItemStylePlain target:self action:@selector(dismissPresentedVC:)];
-        viewcontroller.navigationItem.rightBarButtonItem = closeItem;
-        JLCustomerNavigationAlertController *nav = [[JLCustomerNavigationAlertController alloc] initWithRootViewController:viewcontroller];
-        nav.preferredContentSize = CGSizeMake(300, 120);
-        [self presentViewController:nav animated:YES completion:nil];
+//        UIBarButtonItem *closeItem = [[UIBarButtonItem alloc] initWithImage:[[UIImage imageNamed:@"ic_exit"] imageWithRenderingMode:UIImageRenderingModeAlwaysOriginal] style:UIBarButtonItemStylePlain target:self action:@selector(dismissPresentedVC:)];
+//        viewcontroller.navigationItem.rightBarButtonItem = closeItem;
+//        JLCustomerNavigationAlertController *nav = [[JLCustomerNavigationAlertController alloc] initWithRootViewController:viewcontroller];
+//        nav.preferredContentSize = CGSizeMake(300, 120);
+//        [self presentViewController:nav animated:YES completion:nil];
         
     }
 

+ 2 - 1
Apex Mobile/Apex Mobile/config.h

@@ -36,7 +36,8 @@
 
 #else
 
-
+#define URL_HOME                @"https://ra.apexshipping.com/main_new.php"
+#define URL_HISTORY             @"https://ra.apexshipping.com/main_new.php"
 #define URL_UPDATE_AUTH         @"https://ra.apexshipping.com/main_new.php"
 #define URL_REQUEST_COUNT       @"https://ra.apexshipping.com/main_new.php"
 #define URL_REQUEST_RECORDS     @"https://ra.apexshipping.com/main_new.php"

+ 4 - 0
Apex Mobile/Apex Mobile/zh-Hans.lproj/Localizable.strings

@@ -48,3 +48,7 @@
 "ask_click"="\n点击查看详细信息";
 "fields setting"="设置字段";
 "menu"="菜单";
+"about_title"="Apex Mobile";
+"about_ver_key"="版本:";
+"about_support_key"="技术支持:";
+"about_support_value"="USAIRedAnt@united-us.net";