Browse Source

PDFTools(iOS) - 预览模块高保真处理(页码指示器+弹出菜单+书签 + BOTA + 文件信息)

chenyu 1 năm trước cách đây
mục cha
commit
5ca17026e8
41 tập tin đã thay đổi với 1426 bổ sung73 xóa
  1. 68 0
      compdfkit-tools/compdfkit-tools.xcodeproj/project.pbxproj
  2. 37 7
      compdfkit-tools/compdfkit-tools/Common/Controls/BOTA/CPDFBOTAViewController.m
  3. 21 0
      compdfkit-tools/compdfkit-tools/Common/Controls/PDFNavigationController/UIViewController+LeftItem.h
  4. 33 0
      compdfkit-tools/compdfkit-tools/Common/Controls/PDFNavigationController/UIViewController+LeftItem.m
  5. 22 0
      compdfkit-tools/compdfkit-tools/Common/Views/PDFNavigationBar/CNavigationBarTitleButton.h
  6. 61 0
      compdfkit-tools/compdfkit-tools/Common/Views/PDFNavigationBar/CNavigationBarTitleButton.m
  7. 21 0
      compdfkit-tools/compdfkit-tools/Common/Views/PDFNavigationRightView/NavigationRightImage.xcassets/CNavigationImageNameBackArrow.imageset/Contents.json
  8. 83 0
      compdfkit-tools/compdfkit-tools/Common/Views/PDFNavigationRightView/NavigationRightImage.xcassets/CNavigationImageNameBackArrow.imageset/syasarrow.pdf
  9. 34 0
      compdfkit-tools/compdfkit-tools/Common/Views/PDFPopMenu/CPDFPopMenu.h
  10. 107 0
      compdfkit-tools/compdfkit-tools/Common/Views/PDFPopMenu/CPDFPopMenu.m
  11. 27 0
      compdfkit-tools/compdfkit-tools/Common/Views/PDFPopMenu/CPDFPopMenuItem.h
  12. 42 0
      compdfkit-tools/compdfkit-tools/Common/Views/PDFPopMenu/CPDFPopMenuItem.m
  13. 66 0
      compdfkit-tools/compdfkit-tools/Common/Views/PDFPopMenu/CPDFPopMenuItem.xib
  14. 35 0
      compdfkit-tools/compdfkit-tools/Common/Views/PDFPopMenu/CPDFPopMenuView.h
  15. 92 0
      compdfkit-tools/compdfkit-tools/Common/Views/PDFPopMenu/CPDFPopMenuView.m
  16. 24 0
      compdfkit-tools/compdfkit-tools/Common/Views/PDFPopMenu/UIView+Extension.h
  17. 87 0
      compdfkit-tools/compdfkit-tools/Common/Views/PDFPopMenu/UIView+Extension.m
  18. 2 2
      compdfkit-tools/compdfkit-tools/Common/Views/PDFView/PDFListView/CPDFListView.m
  19. 12 10
      compdfkit-tools/compdfkit-tools/Common/Views/PDFView/PDFSliderView/CPDFSlider.m
  20. 1 2
      compdfkit-tools/compdfkit-tools/Common/Views/PDFView/PDFSliderView/CPDFSliderImage.xcassets/CPDFSliderImageSlidepage.imageset/Contents.json
  21. 99 0
      compdfkit-tools/compdfkit-tools/Common/Views/PDFView/PDFSliderView/CPDFSliderImage.xcassets/CPDFSliderImageSlidepage.imageset/Slide.pdf
  22. BIN
      compdfkit-tools/compdfkit-tools/Common/Views/PDFView/PDFSliderView/CPDFSliderImage.xcassets/CPDFSliderImageSlidepage.imageset/slidepage.png
  23. BIN
      compdfkit-tools/compdfkit-tools/Common/Views/PDFView/PDFSliderView/CPDFSliderImage.xcassets/CPDFSliderImageSlidepage.imageset/slidepage@2x.png
  24. 7 7
      compdfkit-tools/compdfkit-tools/Viewer/PDFBookmark/CPDFBookmarkViewCell.m
  25. 47 8
      compdfkit-tools/compdfkit-tools/Viewer/PDFBookmark/CPDFBookmarkViewController.m
  26. 1 3
      compdfkit-tools/compdfkit-tools/Viewer/PDFBookmark/Images.xcassets/CPDFBookmarkImageAdd.imageset/Contents.json
  27. 95 0
      compdfkit-tools/compdfkit-tools/Viewer/PDFBookmark/Images.xcassets/CPDFBookmarkImageAdd.imageset/add.pdf
  28. BIN
      compdfkit-tools/compdfkit-tools/Viewer/PDFBookmark/Images.xcassets/CPDFBookmarkImageAdd.imageset/signature_icon_add.png
  29. BIN
      compdfkit-tools/compdfkit-tools/Viewer/PDFBookmark/Images.xcassets/CPDFBookmarkImageAdd.imageset/signature_icon_add@2x.png
  30. BIN
      compdfkit-tools/compdfkit-tools/Viewer/PDFBookmark/Images.xcassets/CPDFBookmarkImageAdd.imageset/signature_icon_add@3x.png
  31. 1 2
      compdfkit-tools/compdfkit-tools/Viewer/PDFBookmark/Images.xcassets/CPDFBookmarkImageDelete.imageset/Contents.json
  32. 111 0
      compdfkit-tools/compdfkit-tools/Viewer/PDFBookmark/Images.xcassets/CPDFBookmarkImageDelete.imageset/delete.pdf
  33. BIN
      compdfkit-tools/compdfkit-tools/Viewer/PDFBookmark/Images.xcassets/CPDFBookmarkImageDelete.imageset/pageedit_delete.png
  34. BIN
      compdfkit-tools/compdfkit-tools/Viewer/PDFBookmark/Images.xcassets/CPDFBookmarkImageDelete.imageset/pageedit_delete@2x.png
  35. 21 0
      compdfkit-tools/compdfkit-tools/Viewer/PDFBookmark/Images.xcassets/CPDFBookmarkImageEraser.imageset/Contents.json
  36. 109 0
      compdfkit-tools/compdfkit-tools/Viewer/PDFBookmark/Images.xcassets/CPDFBookmarkImageEraser.imageset/eraser.pdf
  37. 8 8
      compdfkit-tools/compdfkit-tools/Viewer/PDFMore/PDFInfo/CPDFInfoTableCell.m
  38. 32 17
      compdfkit-tools/compdfkit-tools/Viewer/PDFMore/PDFInfo/CPDFInfoViewController.m
  39. 15 5
      compdfkit-tools/compdfkit-tools/Viewer/PDFThumbnail/CPDFThumbnailViewCell.m
  40. 2 2
      compdfkit-tools/compdfkit-tools/Viewer/PDFThumbnail/CPDFThumbnailViewController.m
  41. 3 0
      compdfkit-tools/compdfkit-tools/compdfkit_tools.h

+ 68 - 0
compdfkit-tools/compdfkit-tools.xcodeproj/project.pbxproj

@@ -28,6 +28,19 @@
 		4F5986922A03411700F06A1B /* CPDFDropDownMenu.m in Sources */ = {isa = PBXBuildFile; fileRef = 4F5986902A03411700F06A1B /* CPDFDropDownMenu.m */; };
 		4F6C796A29FBD532008C9501 /* CPDFEditFontNameSelectView.h in Headers */ = {isa = PBXBuildFile; fileRef = 4F6C796829FBD532008C9501 /* CPDFEditFontNameSelectView.h */; };
 		4F6C796B29FBD532008C9501 /* CPDFEditFontNameSelectView.m in Sources */ = {isa = PBXBuildFile; fileRef = 4F6C796929FBD532008C9501 /* CPDFEditFontNameSelectView.m */; };
+		4FD34DCB2A0B2752005CEAB6 /* CNavigationBarTitleButton.h in Headers */ = {isa = PBXBuildFile; fileRef = 4FD34DC92A0B2752005CEAB6 /* CNavigationBarTitleButton.h */; settings = {ATTRIBUTES = (Public, ); }; };
+		4FD34DCC2A0B2752005CEAB6 /* CNavigationBarTitleButton.m in Sources */ = {isa = PBXBuildFile; fileRef = 4FD34DCA2A0B2752005CEAB6 /* CNavigationBarTitleButton.m */; };
+		4FD34DD02A0B3F51005CEAB6 /* CPDFPopMenu.h in Headers */ = {isa = PBXBuildFile; fileRef = 4FD34DCE2A0B3F51005CEAB6 /* CPDFPopMenu.h */; settings = {ATTRIBUTES = (Public, ); }; };
+		4FD34DD12A0B3F51005CEAB6 /* CPDFPopMenu.m in Sources */ = {isa = PBXBuildFile; fileRef = 4FD34DCF2A0B3F51005CEAB6 /* CPDFPopMenu.m */; };
+		4FD34DD82A0B44A1005CEAB6 /* UIView+Extension.h in Headers */ = {isa = PBXBuildFile; fileRef = 4FD34DD62A0B44A1005CEAB6 /* UIView+Extension.h */; };
+		4FD34DD92A0B44A1005CEAB6 /* UIView+Extension.m in Sources */ = {isa = PBXBuildFile; fileRef = 4FD34DD72A0B44A1005CEAB6 /* UIView+Extension.m */; };
+		4FD34DDC2A0B6532005CEAB6 /* CPDFPopMenuView.h in Headers */ = {isa = PBXBuildFile; fileRef = 4FD34DDA2A0B6532005CEAB6 /* CPDFPopMenuView.h */; settings = {ATTRIBUTES = (Public, ); }; };
+		4FD34DDD2A0B6532005CEAB6 /* CPDFPopMenuView.m in Sources */ = {isa = PBXBuildFile; fileRef = 4FD34DDB2A0B6532005CEAB6 /* CPDFPopMenuView.m */; };
+		4FD34DE12A0B677E005CEAB6 /* CPDFPopMenuItem.h in Headers */ = {isa = PBXBuildFile; fileRef = 4FD34DDE2A0B677E005CEAB6 /* CPDFPopMenuItem.h */; };
+		4FD34DE22A0B677E005CEAB6 /* CPDFPopMenuItem.m in Sources */ = {isa = PBXBuildFile; fileRef = 4FD34DDF2A0B677E005CEAB6 /* CPDFPopMenuItem.m */; };
+		4FD34DE32A0B677E005CEAB6 /* CPDFPopMenuItem.xib in Resources */ = {isa = PBXBuildFile; fileRef = 4FD34DE02A0B677E005CEAB6 /* CPDFPopMenuItem.xib */; };
+		4FD34DF92A0B9DB2005CEAB6 /* UIViewController+LeftItem.h in Headers */ = {isa = PBXBuildFile; fileRef = 4FD34DF72A0B9DB2005CEAB6 /* UIViewController+LeftItem.h */; };
+		4FD34DFA2A0B9DB2005CEAB6 /* UIViewController+LeftItem.m in Sources */ = {isa = PBXBuildFile; fileRef = 4FD34DF82A0B9DB2005CEAB6 /* UIViewController+LeftItem.m */; };
 		4FF3E1D12A064A8200C14F91 /* CPDFListView+Edit.m in Sources */ = {isa = PBXBuildFile; fileRef = 4FF3E1CF2A064A8100C14F91 /* CPDFListView+Edit.m */; };
 		C918CE8129F621E200D43974 /* CPDFColorPickerView.h in Headers */ = {isa = PBXBuildFile; fileRef = C918CE7F29F621E200D43974 /* CPDFColorPickerView.h */; };
 		C918CE8229F621E200D43974 /* CPDFColorPickerView.m in Sources */ = {isa = PBXBuildFile; fileRef = C918CE8029F621E200D43974 /* CPDFColorPickerView.m */; };
@@ -217,6 +230,19 @@
 		4F5986902A03411700F06A1B /* CPDFDropDownMenu.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = CPDFDropDownMenu.m; sourceTree = "<group>"; };
 		4F6C796829FBD532008C9501 /* CPDFEditFontNameSelectView.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = CPDFEditFontNameSelectView.h; sourceTree = "<group>"; };
 		4F6C796929FBD532008C9501 /* CPDFEditFontNameSelectView.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = CPDFEditFontNameSelectView.m; sourceTree = "<group>"; };
+		4FD34DC92A0B2752005CEAB6 /* CNavigationBarTitleButton.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = CNavigationBarTitleButton.h; sourceTree = "<group>"; };
+		4FD34DCA2A0B2752005CEAB6 /* CNavigationBarTitleButton.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = CNavigationBarTitleButton.m; sourceTree = "<group>"; };
+		4FD34DCE2A0B3F51005CEAB6 /* CPDFPopMenu.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = CPDFPopMenu.h; sourceTree = "<group>"; };
+		4FD34DCF2A0B3F51005CEAB6 /* CPDFPopMenu.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = CPDFPopMenu.m; sourceTree = "<group>"; };
+		4FD34DD62A0B44A1005CEAB6 /* UIView+Extension.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = "UIView+Extension.h"; sourceTree = "<group>"; };
+		4FD34DD72A0B44A1005CEAB6 /* UIView+Extension.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = "UIView+Extension.m"; sourceTree = "<group>"; };
+		4FD34DDA2A0B6532005CEAB6 /* CPDFPopMenuView.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = CPDFPopMenuView.h; sourceTree = "<group>"; };
+		4FD34DDB2A0B6532005CEAB6 /* CPDFPopMenuView.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = CPDFPopMenuView.m; sourceTree = "<group>"; };
+		4FD34DDE2A0B677E005CEAB6 /* CPDFPopMenuItem.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = CPDFPopMenuItem.h; sourceTree = "<group>"; };
+		4FD34DDF2A0B677E005CEAB6 /* CPDFPopMenuItem.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = CPDFPopMenuItem.m; sourceTree = "<group>"; };
+		4FD34DE02A0B677E005CEAB6 /* CPDFPopMenuItem.xib */ = {isa = PBXFileReference; lastKnownFileType = file.xib; path = CPDFPopMenuItem.xib; sourceTree = "<group>"; };
+		4FD34DF72A0B9DB2005CEAB6 /* UIViewController+LeftItem.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = "UIViewController+LeftItem.h"; sourceTree = "<group>"; };
+		4FD34DF82A0B9DB2005CEAB6 /* UIViewController+LeftItem.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = "UIViewController+LeftItem.m"; sourceTree = "<group>"; };
 		4FF3E1CF2A064A8100C14F91 /* CPDFListView+Edit.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = "CPDFListView+Edit.m"; sourceTree = "<group>"; };
 		4FF3E1D02A064A8100C14F91 /* CPDFListView+Edit.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = "CPDFListView+Edit.h"; sourceTree = "<group>"; };
 		C918CE7F29F621E200D43974 /* CPDFColorPickerView.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = CPDFColorPickerView.h; sourceTree = "<group>"; };
@@ -444,6 +470,31 @@
 			path = CPDFEditMenu;
 			sourceTree = "<group>";
 		};
+		4FD34DC82A0A72F1005CEAB6 /* PDFNavigationBar */ = {
+			isa = PBXGroup;
+			children = (
+				4FD34DC92A0B2752005CEAB6 /* CNavigationBarTitleButton.h */,
+				4FD34DCA2A0B2752005CEAB6 /* CNavigationBarTitleButton.m */,
+			);
+			path = PDFNavigationBar;
+			sourceTree = "<group>";
+		};
+		4FD34DCD2A0B3F28005CEAB6 /* PDFPopMenu */ = {
+			isa = PBXGroup;
+			children = (
+				4FD34DD62A0B44A1005CEAB6 /* UIView+Extension.h */,
+				4FD34DD72A0B44A1005CEAB6 /* UIView+Extension.m */,
+				4FD34DCE2A0B3F51005CEAB6 /* CPDFPopMenu.h */,
+				4FD34DCF2A0B3F51005CEAB6 /* CPDFPopMenu.m */,
+				4FD34DDA2A0B6532005CEAB6 /* CPDFPopMenuView.h */,
+				4FD34DDB2A0B6532005CEAB6 /* CPDFPopMenuView.m */,
+				4FD34DDE2A0B677E005CEAB6 /* CPDFPopMenuItem.h */,
+				4FD34DDF2A0B677E005CEAB6 /* CPDFPopMenuItem.m */,
+				4FD34DE02A0B677E005CEAB6 /* CPDFPopMenuItem.xib */,
+			);
+			path = PDFPopMenu;
+			sourceTree = "<group>";
+		};
 		C918CE8E29F7C3C300D43974 /* PDFNote */ = {
 			isa = PBXGroup;
 			children = (
@@ -816,6 +867,8 @@
 			children = (
 				F32DA14D29ED904300E19ECA /* CNavigationController.h */,
 				F32DA14C29ED904300E19ECA /* CNavigationController.m */,
+				4FD34DF72A0B9DB2005CEAB6 /* UIViewController+LeftItem.h */,
+				4FD34DF82A0B9DB2005CEAB6 /* UIViewController+LeftItem.m */,
 			);
 			path = PDFNavigationController;
 			sourceTree = "<group>";
@@ -823,6 +876,8 @@
 		F32DA14E29ED904300E19ECA /* Views */ = {
 			isa = PBXGroup;
 			children = (
+				4FD34DCD2A0B3F28005CEAB6 /* PDFPopMenu */,
+				4FD34DC82A0A72F1005CEAB6 /* PDFNavigationBar */,
 				C9AF189429F4D92C00EC4979 /* PDFProperties */,
 				C9AF183829F2180A00EC4979 /* PDFAnnotationBar */,
 				F32DA14F29ED904300E19ECA /* PDFNavigationRightView */,
@@ -1017,6 +1072,8 @@
 				4F06AB5429F6792E007797E4 /* CPDFTextProperty.h in Headers */,
 				F38F5B682A03D68100D0EEFD /* CPDFListMagnifierView.h in Headers */,
 				F382636B29EFD0D9003F1DFD /* CPDFSlider.h in Headers */,
+				4FD34DD82A0B44A1005CEAB6 /* UIView+Extension.h in Headers */,
+				4FD34DD02A0B3F51005CEAB6 /* CPDFPopMenu.h in Headers */,
 				4F6C796A29FBD532008C9501 /* CPDFEditFontNameSelectView.h in Headers */,
 				C91BE7CD2A037A490038F2BC /* CPDFInkTopToolBar.h in Headers */,
 				C918CEA529F8FC1800D43974 /* CPDFUnderlineViewController.h in Headers */,
@@ -1025,12 +1082,15 @@
 				C91BE7D82A039D2A0038F2BC /* CPDFSignatureViewCell.h in Headers */,
 				C918CECE29FA43B800D43974 /* CPDFShapeCircleViewController.h in Headers */,
 				C9AF184129F22BBD00EC4979 /* CPDFAnnotationBarButton.h in Headers */,
+				4FD34DF92A0B9DB2005CEAB6 /* UIViewController+LeftItem.h in Headers */,
 				F32DA16F29ED904300E19ECA /* CSearchToolbar.h in Headers */,
 				C918CEC329FA0C7700D43974 /* CPDFSquigglyViewController.h in Headers */,
 				F3877E1629E6764E00037D92 /* CPDFDisplayViewController.h in Headers */,
 				F32DA19129ED908800E19ECA /* CPDFMoreListViewController.h in Headers */,
 				F38F5B632A038B0400D0EEFD /* CPDFListView+Private.h in Headers */,
 				F32DA17029ED904300E19ECA /* CPDFThumbnailViewCell.h in Headers */,
+				4FD34DCB2A0B2752005CEAB6 /* CNavigationBarTitleButton.h in Headers */,
+				4FD34DDC2A0B6532005CEAB6 /* CPDFPopMenuView.h in Headers */,
 				C9AF189729F4DA6A00EC4979 /* CPDFColorSelectView.h in Headers */,
 				F35DD19C2A06850700B57F5B /* CPDFAnnotationHeader.h in Headers */,
 				C9AF183B29F2198700EC4979 /* CPDFAnnotationBar.h in Headers */,
@@ -1057,6 +1117,7 @@
 				4F1131B429F90E7200950564 /* CPDFImagePropertyCell.h in Headers */,
 				C91BE7EE2A04AED50038F2BC /* CSignatureDrawView.h in Headers */,
 				C918CEDF29FB943400D43974 /* CPDFArrowStyleCell.h in Headers */,
+				4FD34DE12A0B677E005CEAB6 /* CPDFPopMenuItem.h in Headers */,
 				F32DA17829ED904300E19ECA /* CPDFDisplayTableViewCell.h in Headers */,
 				C9B9EC4E29F52DBF00C6A5D2 /* AAPLCustomPresentationController.h in Headers */,
 				C91BE7D42A039AC40038F2BC /* CPDFSignatureViewController.h in Headers */,
@@ -1143,6 +1204,7 @@
 				C9AF183E29F223A700EC4979 /* Image.xcassets in Resources */,
 				C918CE8429F62D6F00D43974 /* Image.xcassets in Resources */,
 				C91BE7C62A0243E80038F2BC /* Image.xcassets in Resources */,
+				4FD34DE32A0B677E005CEAB6 /* CPDFPopMenuItem.xib in Resources */,
 				C9AF182629EE8AB600EC4979 /* UtilsColor.xcassets in Resources */,
 				4F1131BE29F9232300950564 /* CPDFEditImageAssets.xcassets in Resources */,
 				4F1131BC29F911A800950564 /* CPDFTextPropertyCell.xib in Resources */,
@@ -1184,7 +1246,10 @@
 				F32DA16929ED904300E19ECA /* CPDFSearchResultsViewController.m in Sources */,
 				F32DA16D29ED904300E19ECA /* CPDFSearchViewCell.m in Sources */,
 				F35DD1982A06850700B57F5B /* CPDFFreeTextAnnotation+PDFListView.m in Sources */,
+				4FD34DFA2A0B9DB2005CEAB6 /* UIViewController+LeftItem.m in Sources */,
+				4FD34DD92A0B44A1005CEAB6 /* UIView+Extension.m in Sources */,
 				4F5986922A03411700F06A1B /* CPDFDropDownMenu.m in Sources */,
+				4FD34DD12A0B3F51005CEAB6 /* CPDFPopMenu.m in Sources */,
 				F32DA16429ED904300E19ECA /* CPDFOutlineViewCell.m in Sources */,
 				F35DD1992A06850700B57F5B /* CPDFCircleAnnotation+PDFListView.m in Sources */,
 				F382636A29EFD0D9003F1DFD /* CPDFSlider.m in Sources */,
@@ -1196,6 +1261,8 @@
 				C91BE7EF2A04AED50038F2BC /* CSignatureDrawView.m in Sources */,
 				C918CEA129F8F74000D43974 /* CPDFStrikeoutViewController.m in Sources */,
 				4F06AB5229F6792E007797E4 /* CPDFEditContextMenu.m in Sources */,
+				4FD34DCC2A0B2752005CEAB6 /* CNavigationBarTitleButton.m in Sources */,
+				4FD34DE22A0B677E005CEAB6 /* CPDFPopMenuItem.m in Sources */,
 				C91BE7D92A039D2A0038F2BC /* CPDFSignatureViewCell.m in Sources */,
 				F38F60C729EFF0C2008098F8 /* CPDFColorUtils.m in Sources */,
 				C9AF183C29F2198700EC4979 /* CPDFAnnotationBar.m in Sources */,
@@ -1223,6 +1290,7 @@
 				F32DA16B29ED904300E19ECA /* CSearchToolbar.m in Sources */,
 				C918CEC429FA0C7700D43974 /* CPDFSquigglyViewController.m in Sources */,
 				C9AF183129EFB23C00EC4979 /* CPDFBookmarkViewController.m in Sources */,
+				4FD34DDD2A0B6532005CEAB6 /* CPDFPopMenuView.m in Sources */,
 				F35DD1A22A06850700B57F5B /* CPDFLineAnnotation+PDFListView.m in Sources */,
 				C918CE8229F621E200D43974 /* CPDFColorPickerView.m in Sources */,
 				F35DD18B2A067E7500B57F5B /* CPDFListView+UndoManager.m in Sources */,

+ 37 - 7
compdfkit-tools/compdfkit-tools/Common/Controls/BOTA/CPDFBOTAViewController.m

@@ -27,6 +27,8 @@
 @property (nonatomic, strong) CPDFOutlineViewController *outlineViewController;
 @property (nonatomic, strong) CPDFBookmarkViewController *bookmarkViewController;
 
+@property (nonatomic, strong) UIButton *doneBtn;
+
 @end
 
 @implementation CPDFBOTAViewController
@@ -74,25 +76,53 @@
     _segmentedControl.selectedSegmentIndex = 0;
     _segmentedControl.autoresizingMask = UIViewAutoresizingFlexibleWidth | UIViewAutoresizingFlexibleHeight;
     [_segmentedControl addTarget:self action:@selector(segmentedControlValueChanged_BOTA:) forControlEvents:UIControlEventValueChanged];
-    self.navigationItem.titleView = self.segmentedControl;
-    
+//    self.navigationItem.titleView = self.segmentedControl;
+    [self.view addSubview:self.segmentedControl];
     self.currentViewController = self.outlineViewController;
     [self.view addSubview:self.outlineViewController.view];
+    
+    self.doneBtn = [UIButton buttonWithType:UIButtonTypeSystem];
+    self.doneBtn.autoresizingMask = UIViewAutoresizingFlexibleLeftMargin;
+    [self.doneBtn setTitle:NSLocalizedString(@"Done", nil) forState:UIControlStateNormal];
+    [self.doneBtn addTarget:self action:@selector(buttonItemClicked_back:) forControlEvents:UIControlEventTouchUpInside];
+    [self.view addSubview:self.doneBtn];
+    
+    self.view.backgroundColor = [CPDFColorUtils CPDFViewControllerBackgroundColor];
+    [self updatePreferredContentSizeWithTraitCollection:self.traitCollection];
+}
+
+- (void)willTransitionToTraitCollection:(UITraitCollection *)newCollection withTransitionCoordinator:(id<UIViewControllerTransitionCoordinator>)coordinator {
+    [super willTransitionToTraitCollection:newCollection withTransitionCoordinator:coordinator];
+    [self updatePreferredContentSizeWithTraitCollection:newCollection];
 }
 
+- (void)updatePreferredContentSizeWithTraitCollection:(UITraitCollection *)traitCollection
+{
+    self.preferredContentSize = CGSizeMake(self.view.bounds.size.width,self.view.bounds.size.height * 0.9);
+
+}
+
+
 - (void)viewWillLayoutSubviews {
-    _segmentedControl.frame = CGRectMake(self.view.frame.size.width / 4, 0 , self.view.frame.size.width / 2, 30);
+    _segmentedControl.frame = CGRectMake(self.view.frame.size.width / 4, 44 , self.view.frame.size.width / 2, 30);
+    self.doneBtn.frame = CGRectMake(self.view.frame.size.width - 60, 5, 50, 50);
     if (@available(iOS 11.0, *)) {
-        self.outlineViewController.view.frame = CGRectMake(0, self.view.safeAreaInsets.top, self.view.bounds.size.width - self.view.safeAreaInsets.left - self.view.safeAreaInsets.right, self.view.bounds.size.height - self.view.safeAreaInsets.top - self.view.safeAreaInsets.bottom);
+        self.outlineViewController.view.frame = CGRectMake(0, self.view.safeAreaInsets.top + 80, self.view.bounds.size.width - self.view.safeAreaInsets.left - self.view.safeAreaInsets.right, self.view.bounds.size.height - self.view.safeAreaInsets.top - self.view.safeAreaInsets.bottom - 80);
         
-        _bookmarkViewController.view.frame = CGRectMake(0, self.view.safeAreaInsets.top, self.view.bounds.size.width - self.view.safeAreaInsets.left - self.view.safeAreaInsets.right, self.view.bounds.size.height - self.view.safeAreaInsets.top - self.view.safeAreaInsets.bottom);
+        _bookmarkViewController.view.frame = CGRectMake(0, self.view.safeAreaInsets.top + 80, self.view.bounds.size.width - self.view.safeAreaInsets.left - self.view.safeAreaInsets.right, self.view.bounds.size.height - self.view.safeAreaInsets.top - self.view.safeAreaInsets.bottom - 80);
     } else {
-        self.outlineViewController.view.frame = CGRectMake(0, 64, self.view.bounds.size.width - 64 - 30, self.view.bounds.size.height - 64 - 30);
+        self.outlineViewController.view.frame = CGRectMake(0, 64 + 44, self.view.bounds.size.width - 64 - 30, self.view.bounds.size.height - 64 - 44 - 30);
         
-        _bookmarkViewController.view.frame = CGRectMake(0, 64, self.view.bounds.size.width - 64 - 30, self.view.bounds.size.height - 64 - 30);
+        _bookmarkViewController.view.frame = CGRectMake(0, 64 + 44, self.view.bounds.size.width - 64 - 30, self.view.bounds.size.height - 64 - 30 - 44);
     }
 }
 
+- (void)buttonItemClicked_back:(id)sender {
+    [self dismissViewControllerAnimated:YES completion:^{
+            
+    }];
+}
+
 #pragma mark - Action
 
 - (void)segmentedControlValueChanged_BOTA:(id)sender {

+ 21 - 0
compdfkit-tools/compdfkit-tools/Common/Controls/PDFNavigationController/UIViewController+LeftItem.h

@@ -0,0 +1,21 @@
+//
+//  UIViewController+LeftItem.h
+//  compdfkit-tools
+//
+//  Copyright © 2014-2023 PDF Technologies, Inc. All Rights Reserved.
+//
+//  THIS SOURCE CODE AND ANY ACCOMPANYING DOCUMENTATION ARE PROTECTED BY INTERNATIONAL COPYRIGHT LAW
+//  AND MAY NOT BE RESOLD OR REDISTRIBUTED. USAGE IS BOUND TO THE ComPDFKit LICENSE AGREEMENT.
+//  UNAUTHORIZED REPRODUCTION OR DISTRIBUTION IS SUBJECT TO CIVIL AND CRIMINAL PENALTIES.
+//  This notice may not be removed from this file.
+//
+
+#import <UIKit/UIKit.h>
+
+NS_ASSUME_NONNULL_BEGIN
+
+@interface UIViewController(LeftItem)
+-(void)changeleftItem;
+@end
+
+NS_ASSUME_NONNULL_END

+ 33 - 0
compdfkit-tools/compdfkit-tools/Common/Controls/PDFNavigationController/UIViewController+LeftItem.m

@@ -0,0 +1,33 @@
+//
+//  UIViewController+LeftItem.m
+//  compdfkit-tools
+//
+//  Copyright © 2014-2023 PDF Technologies, Inc. All Rights Reserved.
+//
+//  THIS SOURCE CODE AND ANY ACCOMPANYING DOCUMENTATION ARE PROTECTED BY INTERNATIONAL COPYRIGHT LAW
+//  AND MAY NOT BE RESOLD OR REDISTRIBUTED. USAGE IS BOUND TO THE ComPDFKit LICENSE AGREEMENT.
+//  UNAUTHORIZED REPRODUCTION OR DISTRIBUTION IS SUBJECT TO CIVIL AND CRIMINAL PENALTIES.
+//  This notice may not be removed from this file.
+//
+
+#import "UIViewController+LeftItem.h"
+
+
+@implementation UIViewController(LeftItem)
+
+-(void)changeleftItem{
+    UIImageView *imagview = [[UIImageView alloc] initWithFrame:CGRectMake(0, 0, 32, 32)];
+
+    
+    UIBarButtonItem *left = [[UIBarButtonItem alloc] initWithImage:[[UIImage imageNamed:@"CNavigationImageNameBackArrow" inBundle:[NSBundle bundleForClass:self.class] compatibleWithTraitCollection:nil] imageWithRenderingMode:UIImageRenderingModeAlwaysOriginal] style:UIBarButtonItemStyleDone target:self action:@selector(back)];
+    self.navigationItem.leftBarButtonItem = left;
+    
+}
+
+
+
+-(void)back{
+    [self.navigationController popViewControllerAnimated:YES];
+}
+
+@end

+ 22 - 0
compdfkit-tools/compdfkit-tools/Common/Views/PDFNavigationBar/CNavigationBarTitleButton.h

@@ -0,0 +1,22 @@
+//
+//  CNavigationBarTitleButton.h
+//  compdfkit-tools
+//
+//  Copyright © 2014-2023 PDF Technologies, Inc. All Rights Reserved.
+//
+//  THIS SOURCE CODE AND ANY ACCOMPANYING DOCUMENTATION ARE PROTECTED BY INTERNATIONAL COPYRIGHT LAW
+//  AND MAY NOT BE RESOLD OR REDISTRIBUTED. USAGE IS BOUND TO THE ComPDFKit LICENSE AGREEMENT.
+//  UNAUTHORIZED REPRODUCTION OR DISTRIBUTION IS SUBJECT TO CIVIL AND CRIMINAL PENALTIES.
+//  This notice may not be removed from this file.
+//
+
+
+#import <UIKit/UIKit.h>
+
+NS_ASSUME_NONNULL_BEGIN
+
+@interface CNavigationBarTitleButton : UIButton
+
+@end
+
+NS_ASSUME_NONNULL_END

+ 61 - 0
compdfkit-tools/compdfkit-tools/Common/Views/PDFNavigationBar/CNavigationBarTitleButton.m

@@ -0,0 +1,61 @@
+//
+//  CNavigationBarTitleButton.m
+//  compdfkit-tools
+//
+//  Copyright © 2014-2023 PDF Technologies, Inc. All Rights Reserved.
+//
+//  THIS SOURCE CODE AND ANY ACCOMPANYING DOCUMENTATION ARE PROTECTED BY INTERNATIONAL COPYRIGHT LAW
+//  AND MAY NOT BE RESOLD OR REDISTRIBUTED. USAGE IS BOUND TO THE ComPDFKit LICENSE AGREEMENT.
+//  UNAUTHORIZED REPRODUCTION OR DISTRIBUTION IS SUBJECT TO CIVIL AND CRIMINAL PENALTIES.
+//  This notice may not be removed from this file.
+//
+
+#import "CNavigationBarTitleButton.h"
+
+@implementation CNavigationBarTitleButton
+
+- (instancetype)initWithFrame:(CGRect)frame {
+    self = [super initWithFrame:frame];
+    if (self) {
+        self.titleLabel.font = [UIFont systemFontOfSize:17.];
+        
+        [self setTitleColor:[UIColor blackColor] forState:UIControlStateNormal];
+        
+        [self.titleLabel setTextAlignment:NSTextAlignmentRight];
+        
+        [self setAdjustsImageWhenDisabled:NO];
+        
+        [self.imageView setContentMode:UIViewContentModeCenter];
+
+    }
+    return self;
+}
+
+- (CGRect)imageRectForContentRect:(CGRect)contentRect {
+    CGFloat height = contentRect.size.height;
+    CGFloat width = height;
+    CGFloat x = self.frame.size.width - width;
+    CGFloat y = 0;
+    return CGRectMake(x, y, width, height);
+}
+
+- (CGRect)titleRectForContentRect:(CGRect)contentRect {
+    CGFloat height = contentRect.size.height;
+    CGFloat width = self.frame.size.width - height;
+    CGFloat x = 0;
+    CGFloat y = 0;
+    return CGRectMake(x, y, width, height);
+}
+
+- (void)setTitle:(NSString *)title forState:(UIControlState)state {
+    [super setTitle:title forState:state];
+    
+    NSDictionary *param = @{NSFontAttributeName:self.titleLabel.font};
+    CGFloat titleWidth = [title boundingRectWithSize:CGSizeMake(MAXFLOAT, self.frame.size.height) options:NSStringDrawingUsesLineFragmentOrigin attributes:param context:nil].size.width;
+    
+    CGRect frame = self.frame;
+    frame.size.width = titleWidth + self.frame.size.height + 10;
+    self.frame = frame;
+}
+
+@end

+ 21 - 0
compdfkit-tools/compdfkit-tools/Common/Views/PDFNavigationRightView/NavigationRightImage.xcassets/CNavigationImageNameBackArrow.imageset/Contents.json

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

+ 83 - 0
compdfkit-tools/compdfkit-tools/Common/Views/PDFNavigationRightView/NavigationRightImage.xcassets/CNavigationImageNameBackArrow.imageset/syasarrow.pdf

@@ -0,0 +1,83 @@
+%PDF-1.7
+
+1 0 obj
+  << >>
+endobj
+
+2 0 obj
+  << /Length 3 0 R >>
+stream
+/DeviceRGB CS
+/DeviceRGB cs
+q
+0.707117 -0.707096 0.707117 0.707096 3.764832 6.693883 cm
+0.262745 0.278431 0.301961 scn
+0.000000 4.575150 m
+-0.750000 4.575150 l
+-0.750000 3.825150 l
+0.000000 3.825150 l
+0.000000 4.575150 l
+h
+8.485153 5.325150 m
+0.000000 5.325150 l
+0.000000 3.825150 l
+8.485153 3.825150 l
+8.485153 5.325150 l
+h
+0.750000 4.575150 m
+0.750000 13.060303 l
+-0.750000 13.060303 l
+-0.750000 4.575150 l
+0.750000 4.575150 l
+h
+f
+n
+Q
+
+endstream
+endobj
+
+3 0 obj
+  437
+endobj
+
+4 0 obj
+  << /Annots []
+     /Type /Page
+     /MediaBox [ 0.000000 0.000000 20.000000 20.000000 ]
+     /Resources 1 0 R
+     /Contents 2 0 R
+     /Parent 5 0 R
+  >>
+endobj
+
+5 0 obj
+  << /Kids [ 4 0 R ]
+     /Count 1
+     /Type /Pages
+  >>
+endobj
+
+6 0 obj
+  << /Pages 5 0 R
+     /Type /Catalog
+  >>
+endobj
+
+xref
+0 7
+0000000000 65535 f
+0000000010 00000 n
+0000000034 00000 n
+0000000527 00000 n
+0000000549 00000 n
+0000000722 00000 n
+0000000796 00000 n
+trailer
+<< /ID [ (some) (id) ]
+   /Root 6 0 R
+   /Size 7
+>>
+startxref
+855
+%%EOF

+ 34 - 0
compdfkit-tools/compdfkit-tools/Common/Views/PDFPopMenu/CPDFPopMenu.h

@@ -0,0 +1,34 @@
+//
+//  CPDFPopMenu.h
+//  compdfkit-tools
+//
+//  Copyright © 2014-2023 PDF Technologies, Inc. All Rights Reserved.
+//
+//  THIS SOURCE CODE AND ANY ACCOMPANYING DOCUMENTATION ARE PROTECTED BY INTERNATIONAL COPYRIGHT LAW
+//  AND MAY NOT BE RESOLD OR REDISTRIBUTED. USAGE IS BOUND TO THE ComPDFKit LICENSE AGREEMENT.
+//  UNAUTHORIZED REPRODUCTION OR DISTRIBUTION IS SUBJECT TO CIVIL AND CRIMINAL PENALTIES.
+//  This notice may not be removed from this file.
+//
+
+#import <UIKit/UIKit.h>
+
+@class CPDFPopMenu;
+
+
+@interface CPDFPopMenu : UIView
+
+@property(nonatomic, strong) UIImageView *backgroundContainer;
+
+@property(nonatomic, strong) UIButton *coverLayer;
+
+@property(nonatomic, strong) UIView *contentView;
+
+@property(nonatomic, assign, getter=isDimCoverLayer) BOOL dimCoverLayer;
+
+- (instancetype) initWithContentView:(UIView *) contentView;
++ (instancetype) popMenuWithContentView:(UIView *) contentView;
+- (void) showMenuInRect:(CGRect) rect;
+
+- (void) hideMenu;
+
+@end

+ 107 - 0
compdfkit-tools/compdfkit-tools/Common/Views/PDFPopMenu/CPDFPopMenu.m

@@ -0,0 +1,107 @@
+//
+//  CPDFPopMenu.m
+//  compdfkit-tools
+//
+//  Copyright © 2014-2023 PDF Technologies, Inc. All Rights Reserved.
+//
+//  THIS SOURCE CODE AND ANY ACCOMPANYING DOCUMENTATION ARE PROTECTED BY INTERNATIONAL COPYRIGHT LAW
+//  AND MAY NOT BE RESOLD OR REDISTRIBUTED. USAGE IS BOUND TO THE ComPDFKit LICENSE AGREEMENT.
+//  UNAUTHORIZED REPRODUCTION OR DISTRIBUTION IS SUBJECT TO CIVIL AND CRIMINAL PENALTIES.
+//  This notice may not be removed from this file.
+//
+
+
+#import "CPDFPopMenu.h"
+#import "UIView+Extension.h"
+
+@interface CPDFPopMenu()
+
+@property (nonatomic, assign) CGRect lastRect;
+
+@end
+
+@implementation CPDFPopMenu
+
+
+- (instancetype) initWithContentView:(UIView *) contentView {
+    if (self = [super init]) {
+        self.contentView = contentView;
+    }
+
+    return self;
+}
+
++ (instancetype) popMenuWithContentView:(UIView *) contentView {
+    return [[self alloc] initWithContentView:contentView];
+}
+
+- (instancetype)initWithFrame:(CGRect)frame {
+    self = [super initWithFrame:frame];
+    if (self) {
+        UIButton *coverLayer = [UIButton buttonWithType:UIButtonTypeCustom];
+        self.coverLayer = coverLayer;
+        [self setDimCoverLayer:YES];
+        [coverLayer addTarget:self action:@selector(coverLayerClicked) forControlEvents:UIControlEventTouchUpInside];
+        [self addSubview:coverLayer];
+
+        UIImageView *backgroundContainer = [[UIImageView alloc] init];
+        self.backgroundContainer = backgroundContainer;
+        backgroundContainer.userInteractionEnabled = YES;
+        [self addSubview:backgroundContainer];
+    }
+
+    return self;
+}
+
+- (void) coverLayerClicked {
+    [self hideMenu];
+}
+
+#pragma mark - Usage
+
+- (void)showMenuInRect:(CGRect) rect {
+    self.lastRect = rect;
+    UIView *window = [[UIApplication sharedApplication] keyWindow];
+    self.frame = window.bounds;
+    [window addSubview:self];
+
+    self.coverLayer.frame = window.bounds;
+    self.backgroundContainer.frame = rect;
+
+    if (self.contentView) {
+        CGFloat topMargin = 12;
+        CGFloat leftMargin = 5;
+        CGFloat bottomMargin = 8;
+        CGFloat rightMargin = 5;
+
+        self.contentView.x = leftMargin;
+        self.contentView.y = topMargin;
+        self.contentView.width = self.backgroundContainer.width - leftMargin - rightMargin;
+        self.contentView.height = self.backgroundContainer.height - topMargin - bottomMargin;
+
+        [self.backgroundContainer addSubview:self.contentView];
+    }
+}
+
+- (void)layoutSubviews {
+    [super layoutSubviews];
+}
+
+- (void) hideMenu {
+
+    [self removeFromSuperview];
+}
+
+#pragma mark - Property
+
+- (void)setDimCoverLayer:(BOOL)dimCoverLayer {
+    if (dimCoverLayer) {
+        self.coverLayer.backgroundColor = [UIColor blackColor];
+        self.coverLayer.alpha = 0.2;
+    } else {
+        self.coverLayer.backgroundColor = [UIColor clearColor];
+        self.coverLayer.alpha = 1.0;
+    }
+}
+
+@end

+ 27 - 0
compdfkit-tools/compdfkit-tools/Common/Views/PDFPopMenu/CPDFPopMenuItem.h

@@ -0,0 +1,27 @@
+//
+//  CPDFPopMenuItem.h
+//  compdfkit-tools
+//
+//  Copyright © 2014-2023 PDF Technologies, Inc. All Rights Reserved.
+//
+//  THIS SOURCE CODE AND ANY ACCOMPANYING DOCUMENTATION ARE PROTECTED BY INTERNATIONAL COPYRIGHT LAW
+//  AND MAY NOT BE RESOLD OR REDISTRIBUTED. USAGE IS BOUND TO THE ComPDFKit LICENSE AGREEMENT.
+//  UNAUTHORIZED REPRODUCTION OR DISTRIBUTION IS SUBJECT TO CIVIL AND CRIMINAL PENALTIES.
+//  This notice may not be removed from this file.
+//
+
+#import <UIKit/UIKit.h>
+
+NS_ASSUME_NONNULL_BEGIN
+
+@interface CPDFPopMenuItem : UITableViewCell
++(instancetype)LoadCPDFPopMenuItem;
+
+@property (weak, nonatomic) IBOutlet UILabel *titleL;
+@property (weak, nonatomic) IBOutlet UIImageView *iconImage;
+
+-(void)hiddenLineView:(BOOL)isHidden;
+
+@end
+
+NS_ASSUME_NONNULL_END

+ 42 - 0
compdfkit-tools/compdfkit-tools/Common/Views/PDFPopMenu/CPDFPopMenuItem.m

@@ -0,0 +1,42 @@
+//
+//  CPDFPopMenuItem.m
+//  compdfkit-tools
+//
+//  Copyright © 2014-2023 PDF Technologies, Inc. All Rights Reserved.
+//
+//  THIS SOURCE CODE AND ANY ACCOMPANYING DOCUMENTATION ARE PROTECTED BY INTERNATIONAL COPYRIGHT LAW
+//  AND MAY NOT BE RESOLD OR REDISTRIBUTED. USAGE IS BOUND TO THE ComPDFKit LICENSE AGREEMENT.
+//  UNAUTHORIZED REPRODUCTION OR DISTRIBUTION IS SUBJECT TO CIVIL AND CRIMINAL PENALTIES.
+//  This notice may not be removed from this file.
+//
+
+#import "CPDFPopMenuItem.h"
+
+@interface CPDFPopMenuItem()
+@property (weak, nonatomic) IBOutlet UIView *splitView;
+
+@end
+
+@implementation CPDFPopMenuItem
+
++(instancetype)LoadCPDFPopMenuItem {
+    NSBundle *bundle = [NSBundle bundleForClass:[self class]];
+    return [[bundle loadNibNamed:@"CPDFPopMenuItem" owner:nil options:nil] lastObject];
+}
+
+
+- (void)awakeFromNib {
+    [super awakeFromNib];
+    // Initialization code
+    self.splitView.backgroundColor = [UIColor colorWithRed:0 green:0 blue:0 alpha:0.12];
+}
+
+- (void)setSelected:(BOOL)selected animated:(BOOL)animated {
+    [super setSelected:selected animated:animated];
+}
+
+- (void)hiddenLineView:(BOOL)isHidden {
+    self.splitView.hidden = isHidden;
+}
+
+@end

+ 66 - 0
compdfkit-tools/compdfkit-tools/Common/Views/PDFPopMenu/CPDFPopMenuItem.xib

@@ -0,0 +1,66 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<document type="com.apple.InterfaceBuilder3.CocoaTouch.XIB" version="3.0" toolsVersion="21507" targetRuntime="iOS.CocoaTouch" propertyAccessControl="none" useAutolayout="YES" useTraitCollections="YES" useSafeAreas="YES" colorMatched="YES">
+    <device id="retina6_12" orientation="portrait" appearance="light"/>
+    <dependencies>
+        <deployment identifier="iOS"/>
+        <plugIn identifier="com.apple.InterfaceBuilder.IBCocoaTouchPlugin" version="21505"/>
+        <capability name="Safe area layout guides" minToolsVersion="9.0"/>
+        <capability name="System colors in document resources" minToolsVersion="11.0"/>
+        <capability name="documents saved in the Xcode 8 format" minToolsVersion="8.0"/>
+    </dependencies>
+    <objects>
+        <placeholder placeholderIdentifier="IBFilesOwner" id="-1" userLabel="File's Owner"/>
+        <placeholder placeholderIdentifier="IBFirstResponder" id="-2" customClass="UIResponder"/>
+        <tableViewCell contentMode="scaleToFill" selectionStyle="default" indentationWidth="10" rowHeight="40" id="KGk-i7-Jjw" customClass="CPDFPopMenuItem">
+            <rect key="frame" x="0.0" y="0.0" width="248" height="40"/>
+            <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="248" height="40"/>
+                <autoresizingMask key="autoresizingMask"/>
+                <subviews>
+                    <imageView clipsSubviews="YES" userInteractionEnabled="NO" contentMode="scaleAspectFit" horizontalHuggingPriority="251" verticalHuggingPriority="251" translatesAutoresizingMaskIntoConstraints="NO" id="XCG-l6-ebK">
+                        <rect key="frame" x="212" y="10" width="20" height="20"/>
+                        <constraints>
+                            <constraint firstAttribute="width" constant="20" id="VZM-tm-yzw"/>
+                            <constraint firstAttribute="height" constant="20" id="xmK-FL-mYl"/>
+                        </constraints>
+                    </imageView>
+                    <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="Label" textAlignment="natural" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="ovW-mW-wNw">
+                        <rect key="frame" x="20" y="9.6666666666666643" width="42" height="21"/>
+                        <fontDescription key="fontDescription" type="system" pointSize="17"/>
+                        <nil key="textColor"/>
+                        <nil key="highlightedColor"/>
+                    </label>
+                    <view contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="eW8-Uh-inM">
+                        <rect key="frame" x="0.0" y="39" width="248" height="1"/>
+                        <color key="backgroundColor" systemColor="systemBackgroundColor"/>
+                        <constraints>
+                            <constraint firstAttribute="height" constant="1" id="sGh-2X-90h"/>
+                        </constraints>
+                    </view>
+                </subviews>
+                <constraints>
+                    <constraint firstItem="ovW-mW-wNw" firstAttribute="leading" secondItem="H2p-sc-9uM" secondAttribute="leading" constant="20" id="Hg7-sf-YqE"/>
+                    <constraint firstAttribute="trailing" secondItem="XCG-l6-ebK" secondAttribute="trailing" constant="16" id="MFa-tP-iLL"/>
+                    <constraint firstAttribute="trailing" secondItem="eW8-Uh-inM" secondAttribute="trailing" id="OK4-Bp-221"/>
+                    <constraint firstAttribute="bottom" secondItem="eW8-Uh-inM" secondAttribute="bottom" id="eQ4-qJ-ebg"/>
+                    <constraint firstItem="ovW-mW-wNw" firstAttribute="centerY" secondItem="XCG-l6-ebK" secondAttribute="centerY" id="tqJ-Jh-kZb"/>
+                    <constraint firstItem="eW8-Uh-inM" firstAttribute="leading" secondItem="H2p-sc-9uM" secondAttribute="leading" id="vMe-6t-EtV"/>
+                    <constraint firstItem="XCG-l6-ebK" firstAttribute="centerY" secondItem="H2p-sc-9uM" secondAttribute="centerY" id="zMf-Yh-wHP"/>
+                </constraints>
+            </tableViewCellContentView>
+            <viewLayoutGuide key="safeArea" id="aW0-zy-SZf"/>
+            <connections>
+                <outlet property="iconImage" destination="XCG-l6-ebK" id="EDq-e4-tSf"/>
+                <outlet property="splitView" destination="eW8-Uh-inM" id="ARd-kG-J1e"/>
+                <outlet property="titleL" destination="ovW-mW-wNw" id="UII-Ua-Tcu"/>
+            </connections>
+            <point key="canvasLocation" x="-10.687022900763358" y="-12.67605633802817"/>
+        </tableViewCell>
+    </objects>
+    <resources>
+        <systemColor name="systemBackgroundColor">
+            <color white="1" alpha="1" colorSpace="custom" customColorSpace="genericGamma22GrayColorSpace"/>
+        </systemColor>
+    </resources>
+</document>

+ 35 - 0
compdfkit-tools/compdfkit-tools/Common/Views/PDFPopMenu/CPDFPopMenuView.h

@@ -0,0 +1,35 @@
+//
+//  CPDFPopMenuView.h
+//  compdfkit-tools
+//
+//  Copyright © 2014-2023 PDF Technologies, Inc. All Rights Reserved.
+//
+//  THIS SOURCE CODE AND ANY ACCOMPANYING DOCUMENTATION ARE PROTECTED BY INTERNATIONAL COPYRIGHT LAW
+//  AND MAY NOT BE RESOLD OR REDISTRIBUTED. USAGE IS BOUND TO THE ComPDFKit LICENSE AGREEMENT.
+//  UNAUTHORIZED REPRODUCTION OR DISTRIBUTION IS SUBJECT TO CIVIL AND CRIMINAL PENALTIES.
+//  This notice may not be removed from this file.
+//
+
+
+#import <UIKit/UIKit.h>
+
+typedef NS_ENUM(NSInteger, CPDFPopMenuViewType) {
+    CPDFPopMenuViewTypeSetting = 0,
+    CPDFPopMenuViewTypeInfo,
+    CPDFPopMenuViewTypeShare
+};
+
+
+@class CPDFPopMenuView;
+
+@protocol CPDFPopMenuViewDelegate <NSObject>
+
+- (void)menuDidClickAtView:(CPDFPopMenuView*)view clickType:(CPDFPopMenuViewType)viewType;
+
+@end
+@interface CPDFPopMenuView : UIView
+
+@property (nonatomic, weak) id<CPDFPopMenuViewDelegate> delegate;
+
+@end
+

+ 92 - 0
compdfkit-tools/compdfkit-tools/Common/Views/PDFPopMenu/CPDFPopMenuView.m

@@ -0,0 +1,92 @@
+//
+//  CPDFPopMenuView.m
+//  compdfkit-tools
+//
+//  Copyright © 2014-2023 PDF Technologies, Inc. All Rights Reserved.
+//
+//  THIS SOURCE CODE AND ANY ACCOMPANYING DOCUMENTATION ARE PROTECTED BY INTERNATIONAL COPYRIGHT LAW
+//  AND MAY NOT BE RESOLD OR REDISTRIBUTED. USAGE IS BOUND TO THE ComPDFKit LICENSE AGREEMENT.
+//  UNAUTHORIZED REPRODUCTION OR DISTRIBUTION IS SUBJECT TO CIVIL AND CRIMINAL PENALTIES.
+//  This notice may not be removed from this file.
+//
+
+
+#import "CPDFPopMenuView.h"
+#import "CPDFPopMenuItem.h"
+
+@interface CPDFPopMenuView()<UITableViewDelegate,UITableViewDataSource>
+
+@property (nonatomic, strong) UITableView *tableView;
+
+@property (nonatomic, strong) NSMutableArray * menuItemTitleArr;
+
+@property (nonatomic, strong) NSMutableArray * menuItemIconArr;
+
+@end
+
+@implementation CPDFPopMenuView
+
+- (instancetype)initWithFrame:(CGRect)frame {
+    if (self = [super initWithFrame:frame]) {
+        [self setUp];
+    }
+    
+    return self;
+}
+
+- (void)setUp {
+    
+    self.menuItemTitleArr = [[NSMutableArray alloc] initWithObjects:NSLocalizedString(@"Preview Settings", nil),NSLocalizedString(@"Information", nil),NSLocalizedString(@"Share", nil), nil];
+    self.menuItemIconArr = [[NSMutableArray alloc] initWithObjects:@"",@"",@"", nil];
+    
+    self.tableView = [[UITableView alloc] init];
+    self.tableView.layer.cornerRadius = 5.0;
+    self.tableView.scrollEnabled = NO;
+    self.tableView.separatorStyle = UITableViewCellSeparatorStyleNone;
+    [self addSubview:self.tableView];
+    
+    self.tableView.delegate = self;
+    self.tableView.dataSource = self;
+    self.tableView.autoresizingMask = UIViewAutoresizingFlexibleWidth;
+}
+
+- (void)layoutSubviews {
+    [super layoutSubviews];
+    self.tableView.frame = self.bounds;
+    [self.tableView reloadData];
+}
+
+- (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section {
+    
+    return self.menuItemTitleArr.count;
+}
+
+- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath {
+    static NSString *reuseIdentifier = @"CPDFPopMenuItem";
+    CPDFPopMenuItem *cell = [tableView dequeueReusableCellWithIdentifier:reuseIdentifier];
+    if (!cell) {
+        cell = [CPDFPopMenuItem LoadCPDFPopMenuItem];
+    }
+    cell.selectionStyle = UITableViewCellSelectionStyleNone;
+    cell.titleL.text = self.menuItemTitleArr[indexPath.row];
+    
+    if(indexPath.row == 2){
+        [cell hiddenLineView:YES];
+    }else{
+        [cell hiddenLineView:NO];
+    }
+    
+    return cell;
+}
+
+- (CGFloat)tableView:(UITableView *)tableView heightForRowAtIndexPath:(NSIndexPath *)indexPath{
+    return 45;
+}
+
+- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath{
+    if(self.delegate && [self.delegate respondsToSelector:@selector(menuDidClickAtView:clickType:)]){
+        [self.delegate menuDidClickAtView:self clickType:indexPath.row];
+    }
+}
+
+@end

+ 24 - 0
compdfkit-tools/compdfkit-tools/Common/Views/PDFPopMenu/UIView+Extension.h

@@ -0,0 +1,24 @@
+//
+//  UIView+Extension.h
+//  compdfkit-tools
+//
+//  Copyright © 2014-2023 PDF Technologies, Inc. All Rights Reserved.
+//
+//  THIS SOURCE CODE AND ANY ACCOMPANYING DOCUMENTATION ARE PROTECTED BY INTERNATIONAL COPYRIGHT LAW
+//  AND MAY NOT BE RESOLD OR REDISTRIBUTED. USAGE IS BOUND TO THE ComPDFKit LICENSE AGREEMENT.
+//  UNAUTHORIZED REPRODUCTION OR DISTRIBUTION IS SUBJECT TO CIVIL AND CRIMINAL PENALTIES.
+//  This notice may not be removed from this file.
+//
+#import <UIKit/UIKit.h>
+
+@interface UIView (Extension)
+
+@property(nonatomic, assign) CGFloat x;
+@property(nonatomic, assign) CGFloat y;
+@property(nonatomic, assign) CGFloat width;
+@property(nonatomic, assign) CGFloat height;
+@property(nonatomic, assign) CGSize size;
+@property(nonatomic, assign) CGFloat centerX;
+@property(nonatomic, assign) CGFloat centerY;
+
+@end

+ 87 - 0
compdfkit-tools/compdfkit-tools/Common/Views/PDFPopMenu/UIView+Extension.m

@@ -0,0 +1,87 @@
+//
+//  UIView+Extension.m
+//  compdfkit-tools
+//
+//  Copyright © 2014-2023 PDF Technologies, Inc. All Rights Reserved.
+//
+//  THIS SOURCE CODE AND ANY ACCOMPANYING DOCUMENTATION ARE PROTECTED BY INTERNATIONAL COPYRIGHT LAW
+//  AND MAY NOT BE RESOLD OR REDISTRIBUTED. USAGE IS BOUND TO THE ComPDFKit LICENSE AGREEMENT.
+//  UNAUTHORIZED REPRODUCTION OR DISTRIBUTION IS SUBJECT TO CIVIL AND CRIMINAL PENALTIES.
+//  This notice may not be removed from this file.
+//
+
+#import "UIView+Extension.h"
+
+@implementation UIView (Extension)
+
+- (CGFloat)x {
+    return self.frame.origin.x;
+}
+
+- (void)setX:(CGFloat)x {
+    CGRect frame = self.frame;
+    frame.origin.x = x;
+    self.frame = frame;
+}
+
+- (CGFloat)y {
+    return self.frame.origin.y;
+}
+
+- (void)setY:(CGFloat)y {
+    CGRect frame = self.frame;
+    frame.origin.y = y;
+    self.frame = frame;
+}
+
+- (CGFloat)width {
+    return self.frame.size.width;
+}
+
+- (void)setWidth:(CGFloat)width {
+    CGRect frame = self.frame;
+    frame.size.width = width;
+    self.frame = frame;
+}
+
+- (CGFloat)height {
+    return self.frame.size.height;
+}
+
+- (void)setHeight:(CGFloat)height {
+    CGRect frame = self.frame;
+    frame.size.height = height;
+    self.frame = frame;
+}
+
+- (CGSize)size {
+    return self.frame.size;
+}
+
+- (void)setSize:(CGSize)size {
+    CGRect frame = self.frame;
+    frame.size = size;
+    self.frame = frame;
+}
+
+- (CGFloat)centerX {
+    return self.center.x;
+}
+
+- (void)setCenterX:(CGFloat)centerX {
+    CGPoint center = self.center;
+    center.x = centerX;
+    self.center = center;
+}
+
+- (CGFloat)centerY {
+    return self.center.y;
+}
+
+- (void)setCenterY:(CGFloat)centerY {
+    CGPoint center = self.center;
+    center.y = centerY;
+    self.center = center;
+}
+
+@end

+ 2 - 2
compdfkit-tools/compdfkit-tools/Common/Views/PDFView/PDFListView/CPDFListView.m

@@ -228,13 +228,13 @@ NSNotificationName const CPDFListViewAnnotationsOperationChangeNotification = @"
     __weak typeof(self) weakSelf = self;
     _pageIndicatorView.touchCallBack = ^{
         NSString *str = [NSString stringWithFormat:@" Please enter the page numberPage(1/%lu)", weakSelf.document.pageCount];
-        UIAlertController *alertController = [UIAlertController alertControllerWithTitle:NSLocalizedString(@"Go To page", nil) message:NSLocalizedString(str, nil) preferredStyle:UIAlertControllerStyleAlert];
+        UIAlertController *alertController = [UIAlertController alertControllerWithTitle:NSLocalizedString(@"Go To page", nil) message:nil preferredStyle:UIAlertControllerStyleAlert];
         
         [alertController addAction:[UIAlertAction actionWithTitle:NSLocalizedString(@"Cancel", nil) style:UIAlertActionStyleDefault handler:^(UIAlertAction * _Nonnull action) {
             
         }]];
         
-        [alertController addAction:[UIAlertAction actionWithTitle:NSLocalizedString(@"OK", nil) style:UIAlertActionStyleDefault handler:^(UIAlertAction * _Nonnull action) {
+        [alertController addAction:[UIAlertAction actionWithTitle:NSLocalizedString(@"go", nil) style:UIAlertActionStyleDefault handler:^(UIAlertAction * _Nonnull action) {
             
             UITextField *pageTextField = alertController.textFields.firstObject;
             NSInteger pageIndex = [pageTextField.text integerValue] - 1;

+ 12 - 10
compdfkit-tools/compdfkit-tools/Common/Views/PDFView/PDFSliderView/CPDFSlider.m

@@ -32,7 +32,7 @@
 
 - (UIImageView *)valueView {
     if (!_valueView) {
-        _valueView = [[UIImageView alloc] initWithFrame:CGRectMake(self.frame.size.width-21, 0, 21, 69)];
+        _valueView = [[UIImageView alloc] initWithFrame:CGRectMake(self.frame.size.width-26, 0, 24, 36)];
         _valueView.autoresizingMask = UIViewAutoresizingFlexibleLeftMargin;
         _valueView.image = [UIImage imageNamed:@"CPDFSliderImageSlidepage" inBundle:[NSBundle bundleForClass:self.class] compatibleWithTraitCollection:nil];
     }
@@ -43,11 +43,11 @@
     if (!_label) {
         _label = [[UILabel alloc] init];
         _label.textAlignment = NSTextAlignmentCenter;
-        _label.textColor = [UIColor blackColor];
-        _label.backgroundColor = [UIColor whiteColor];
+        _label.textColor = [UIColor whiteColor];
+        _label.backgroundColor = [UIColor blackColor];
         _label.layer.cornerRadius = 2.0;
         _label.layer.borderWidth = 1.0;
-        _label.layer.borderColor = [UIColor lightGrayColor].CGColor;
+//        _label.layer.borderColor = [UIColor lightGrayColor].CGColor;
         _label.hidden = YES;
     }
     return _label;
@@ -59,17 +59,18 @@
     if (self = [super init]) {
         _pdfView = pdfview;
         
-        self.valueView = [[UIImageView alloc] initWithFrame:CGRectMake(self.frame.size.width-21, 0, 21, 69)];
+        self.valueView = [[UIImageView alloc] initWithFrame:CGRectMake(self.frame.size.width-26, 0, 24,36)];
         self.valueView.autoresizingMask = UIViewAutoresizingFlexibleLeftMargin;
         self.valueView.image = [UIImage imageNamed:@"CPDFSliderImageSlidepage" inBundle:[NSBundle bundleForClass:self.class] compatibleWithTraitCollection:nil];
         
         self.label = [[UILabel alloc] init];
         self.label.textAlignment = NSTextAlignmentCenter;
-        self.label.textColor = [UIColor blackColor];
-        self.label.backgroundColor = [UIColor whiteColor];
+        self.label.textColor = [UIColor whiteColor];
+        self.label.backgroundColor = [UIColor blackColor];
         self.label.layer.cornerRadius = 2.0;
         self.label.layer.borderWidth = 1.0;
-        self.label.layer.borderColor = [UIColor lightGrayColor].CGColor;
+        self.label.font = [UIFont systemFontOfSize:12.0];
+//        self.label.layer.borderColor = [UIColor lightGrayColor].CGColor;
         self.label.hidden = YES;
         
         [self addSubview:self.label];
@@ -105,12 +106,13 @@
     pageIndex = MAX(0, pageIndex);
     pageIndex = MIN(pageIndex, [self.pdfView.document pageCount]-1);
     
-    self.label.text = [NSString stringWithFormat:@"%@/%@",@(pageIndex+1),@([self.pdfView.document pageCount])];
+//    self.label.text = [NSString stringWithFormat:@"%@/%@",@(pageIndex+1),@([self.pdfView.document pageCount])];
+    self.label.text = [NSString stringWithFormat:@"%@",@(pageIndex+1)];
     [self.label sizeToFit];
     self.label.frame = CGRectMake(0, 0,
                                   CGRectGetWidth(self.label.frame)+20,
                                   CGRectGetHeight(self.label.frame)+10);
-    self.label.center = CGPointMake(-CGRectGetWidth(self.label.frame)/2.0-30, center.y);
+    self.label.center = CGPointMake(-CGRectGetWidth(self.label.frame)/2.0-10, center.y);
 }
 
 #pragma mark - Touch Methods

+ 1 - 2
compdfkit-tools/compdfkit-tools/Common/Views/PDFView/PDFSliderView/CPDFSliderImage.xcassets/CPDFSliderImageSlidepage.imageset/Contents.json

@@ -1,12 +1,11 @@
 {
   "images" : [
     {
-      "filename" : "slidepage.png",
+      "filename" : "Slide.pdf",
       "idiom" : "universal",
       "scale" : "1x"
     },
     {
-      "filename" : "slidepage@2x.png",
       "idiom" : "universal",
       "scale" : "2x"
     },

+ 99 - 0
compdfkit-tools/compdfkit-tools/Common/Views/PDFView/PDFSliderView/CPDFSliderImage.xcassets/CPDFSliderImageSlidepage.imageset/Slide.pdf

@@ -0,0 +1,99 @@
+%PDF-1.7
+
+1 0 obj
+  << >>
+endobj
+
+2 0 obj
+  << /Length 3 0 R >>
+stream
+/DeviceRGB CS
+/DeviceRGB cs
+q
+1.000000 0.000000 -0.000000 1.000000 0.000000 0.000000 cm
+0.949020 0.952941 0.960784 scn
+0.000000 24.000000 m
+0.000000 30.627419 5.372583 36.000000 12.000000 36.000000 c
+12.000000 36.000000 l
+18.627417 36.000000 24.000000 30.627417 24.000000 24.000000 c
+24.000000 12.000000 l
+24.000000 5.372583 18.627417 0.000000 12.000000 0.000000 c
+12.000000 0.000000 l
+5.372583 0.000000 0.000000 5.372583 0.000000 12.000000 c
+0.000000 24.000000 l
+h
+f
+n
+Q
+q
+1.000000 0.000000 -0.000000 1.000000 6.000000 18.500000 cm
+0.600000 0.600000 0.600000 scn
+0.000000 0.750000 m
+12.000000 0.750000 l
+12.000000 2.250000 l
+0.000000 2.250000 l
+0.000000 0.750000 l
+h
+f
+n
+Q
+q
+1.000000 0.000000 -0.000000 1.000000 6.000000 14.500000 cm
+0.600000 0.600000 0.600000 scn
+0.000000 0.750000 m
+12.000000 0.750000 l
+12.000000 2.250000 l
+0.000000 2.250000 l
+0.000000 0.750000 l
+h
+f
+n
+Q
+
+endstream
+endobj
+
+3 0 obj
+  876
+endobj
+
+4 0 obj
+  << /Annots []
+     /Type /Page
+     /MediaBox [ 0.000000 0.000000 24.000000 36.000000 ]
+     /Resources 1 0 R
+     /Contents 2 0 R
+     /Parent 5 0 R
+  >>
+endobj
+
+5 0 obj
+  << /Kids [ 4 0 R ]
+     /Count 1
+     /Type /Pages
+  >>
+endobj
+
+6 0 obj
+  << /Pages 5 0 R
+     /Type /Catalog
+  >>
+endobj
+
+xref
+0 7
+0000000000 65535 f
+0000000010 00000 n
+0000000034 00000 n
+0000000966 00000 n
+0000000988 00000 n
+0000001161 00000 n
+0000001235 00000 n
+trailer
+<< /ID [ (some) (id) ]
+   /Root 6 0 R
+   /Size 7
+>>
+startxref
+1294
+%%EOF

BIN
compdfkit-tools/compdfkit-tools/Common/Views/PDFView/PDFSliderView/CPDFSliderImage.xcassets/CPDFSliderImageSlidepage.imageset/slidepage.png


BIN
compdfkit-tools/compdfkit-tools/Common/Views/PDFView/PDFSliderView/CPDFSliderImage.xcassets/CPDFSliderImageSlidepage.imageset/slidepage@2x.png


+ 7 - 7
compdfkit-tools/compdfkit-tools/Viewer/PDFBookmark/CPDFBookmarkViewCell.m

@@ -15,20 +15,20 @@
 
 - (instancetype)initWithStyle:(UITableViewCellStyle)style reuseIdentifier:(NSString *)reuseIdentifier {
     if (self = [super initWithStyle:style reuseIdentifier:reuseIdentifier]) {
-        _titleLabel = [[UILabel alloc] initWithFrame:CGRectMake(10, 5, self.bounds.size.width - 100, self.bounds.size.height - 10)];
+        _titleLabel = [[UILabel alloc] initWithFrame:CGRectMake(10, 5, self.bounds.size.width - 70, self.bounds.size.height - 10)];
         _titleLabel.autoresizingMask = UIViewAutoresizingFlexibleWidth | UIViewAutoresizingFlexibleHeight;
         
-        _pageIndexLabel = [[UILabel alloc] initWithFrame:CGRectMake(self.bounds.size.width - 110, 5, 60, self.bounds.size.height - 10)];
+        _pageIndexLabel = [[UILabel alloc] initWithFrame:CGRectMake(self.bounds.size.width - 80, 5, 60, self.bounds.size.height - 10)];
         _pageIndexLabel.autoresizingMask = UIViewAutoresizingFlexibleLeftMargin | UIViewAutoresizingFlexibleHeight;
         
-        _editButton = [[UIButton alloc] initWithFrame:CGRectMake(self.bounds.size.width - 40, 5, 30, self.bounds.size.height - 10)];
-        [_editButton addTarget:self action:@selector(buttonItemClicked_edit:) forControlEvents:UIControlEventTouchUpInside];
-        _editButton.autoresizingMask = UIViewAutoresizingFlexibleLeftMargin | UIViewAutoresizingFlexibleHeight;
-        [_editButton setImage:[UIImage imageNamed:@"CPDFBookmarkImageMore" inBundle:[NSBundle bundleForClass:self.class] compatibleWithTraitCollection:nil] forState:UIControlStateNormal];
+//        _editButton = [[UIButton alloc] initWithFrame:CGRectMake(self.bounds.size.width - 40, 5, 30, self.bounds.size.height - 10)];
+//        [_editButton addTarget:self action:@selector(buttonItemClicked_edit:) forControlEvents:UIControlEventTouchUpInside];
+//        _editButton.autoresizingMask = UIViewAutoresizingFlexibleLeftMargin | UIViewAutoresizingFlexibleHeight;
+//        [_editButton setImage:[UIImage imageNamed:@"CPDFBookmarkImageMore" inBundle:[NSBundle bundleForClass:self.class] compatibleWithTraitCollection:nil] forState:UIControlStateNormal];
         
         [self.contentView addSubview:self.titleLabel];
         [self.contentView addSubview:self.pageIndexLabel];
-        [self.contentView addSubview:self.editButton];
+//        [self.contentView addSubview:self.editButton];
     }
     return self;
 }

+ 47 - 8
compdfkit-tools/compdfkit-tools/Viewer/PDFBookmark/CPDFBookmarkViewController.m

@@ -60,14 +60,10 @@
     [self.view addSubview:self.noDataLabel];
     
     if (@available(iOS 11.0, *)) {
-        _addBookmarkBtn = [[UIButton alloc] initWithFrame:CGRectMake(self.view.frame.size.width - self.view.safeAreaInsets.right - 50, self.view.frame.size.height - self.view.safeAreaInsets.bottom - 50, 50, 50)];
+        _addBookmarkBtn = [[UIButton alloc] initWithFrame:CGRectMake(self.view.frame.size.width - self.view.safeAreaInsets.right - 50 - 20, self.view.frame.size.height - self.view.safeAreaInsets.bottom - 50, 50, 50)];
     } else {
-        _addBookmarkBtn = [[UIButton alloc] initWithFrame:CGRectMake(self.view.frame.size.width - 10 - 50, self.view.frame.size.height - 50 - 50, 50, 50)];
+        _addBookmarkBtn = [[UIButton alloc] initWithFrame:CGRectMake(self.view.frame.size.width - 20 - 50, self.view.frame.size.height - 50 - 50, 50, 50)];
     }
-    _addBookmarkBtn.layer.cornerRadius = 25;
-    _addBookmarkBtn.layer.masksToBounds = YES;
-    _addBookmarkBtn.layer.borderWidth = 1.0;
-    _addBookmarkBtn.layer.borderColor = [UIColor blueColor].CGColor;
     _addBookmarkBtn.autoresizingMask = UIViewAutoresizingFlexibleLeftMargin | UIViewAutoresizingFlexibleTopMargin;
     [_addBookmarkBtn setImage:[UIImage imageNamed:@"CPDFBookmarkImageAdd" inBundle:[NSBundle bundleForClass:self.class] compatibleWithTraitCollection:nil] forState:UIControlStateNormal];
     [_addBookmarkBtn addTarget:self action:@selector(buttonItemClicked_add:) forControlEvents:UIControlEventTouchUpInside];
@@ -117,7 +113,7 @@
 
 - (void)buttonItemClicked_add:(id)sender {
     if (![self.pdfView.document bookmarkForPageIndex:self.pdfView.currentPageIndex]) {
-        UIAlertController *alert = [UIAlertController alertControllerWithTitle:@" " message:nil preferredStyle:UIAlertControllerStyleAlert];
+        UIAlertController *alert = [UIAlertController alertControllerWithTitle:@"Add Bookmark" message:nil preferredStyle:UIAlertControllerStyleAlert];
         [alert addTextFieldWithConfigurationHandler:^(UITextField * _Nonnull textField) {
             textField.placeholder = NSLocalizedString(@"Bookmark Title", nil);
         }];
@@ -184,7 +180,7 @@
     }];
     
     UITableViewRowAction *editAction = [UITableViewRowAction rowActionWithStyle:UITableViewRowActionStyleDestructive title:@"edit" handler:^(UITableViewRowAction *action, NSIndexPath *indexPath) {
-        UIAlertController *alert = [UIAlertController alertControllerWithTitle:@" " message:nil preferredStyle:UIAlertControllerStyleAlert];
+        UIAlertController *alert = [UIAlertController alertControllerWithTitle:@"Edit BookMark" message:nil preferredStyle:UIAlertControllerStyleAlert];
         [alert addTextFieldWithConfigurationHandler:^(UITextField * _Nonnull textField) {
             textField.placeholder = NSLocalizedString(@"Bookmark Title", nil);
         }];
@@ -210,6 +206,49 @@
     return @[deleteAction, editAction];
 }
 
+
+- (UISwipeActionsConfiguration *)tableView:(UITableView *)tableView trailingSwipeActionsConfigurationForRowAtIndexPath:(NSIndexPath *)indexPath{
+    
+    UIContextualAction * deleteAction = [UIContextualAction contextualActionWithStyle:UIContextualActionStyleNormal title:nil handler:^(UIContextualAction * _Nonnull action, __kindof UIView * _Nonnull sourceView, void (^ _Nonnull completionHandler)(BOOL)) {
+            CPDFBookmarkViewCell *cell = [tableView cellForRowAtIndexPath:indexPath];
+            [self.pdfView.document removeBookmarkForPageIndex:cell.pageIndexLabel.text.floatValue - 1];
+            NSMutableArray *bookmarks = (NSMutableArray *)self.bookmarks;
+            [bookmarks removeObjectAtIndex:indexPath.row];
+            [tableView deleteRowsAtIndexPaths:@[indexPath] withRowAnimation:YES];
+            [self.tableView setEditing:NO animated:YES];
+            [self.tableView setUserInteractionEnabled:YES];
+            [self reloadData];
+    }];
+    
+    UIContextualAction * editAction = [UIContextualAction contextualActionWithStyle:UIContextualActionStyleNormal title:nil handler:^(UIContextualAction * _Nonnull action, __kindof UIView * _Nonnull sourceView, void (^ _Nonnull completionHandler)(BOOL)) {
+            UIAlertController *alert = [UIAlertController alertControllerWithTitle:@"Edit BookMark" message:nil preferredStyle:UIAlertControllerStyleAlert];
+            [alert addTextFieldWithConfigurationHandler:^(UITextField * _Nonnull textField) {
+                textField.placeholder = NSLocalizedString(@"Bookmark Title", nil);
+            }];
+    
+            UIAlertAction *cancelAction = [UIAlertAction actionWithTitle:NSLocalizedString(@"Cancel", nil) style:UIAlertActionStyleCancel handler:nil];
+    
+            UIAlertAction *addAction = [UIAlertAction actionWithTitle:NSLocalizedString(@"Add", nil) style:UIAlertActionStyleDefault handler:^(UIAlertAction * _Nonnull action) {
+                CPDFBookmarkViewCell *cell = [tableView cellForRowAtIndexPath:indexPath];
+                cell.titleLabel.text = alert.textFields.firstObject.text;
+                self.pdfView.document.bookmarks[indexPath.row].label = alert.textFields.firstObject.text;
+            }];
+    
+            [alert addAction:cancelAction];
+            [alert addAction:addAction];
+    
+            [self presentViewController:alert animated:YES completion:nil];
+            [tableView setEditing:NO animated:YES];
+            [tableView setUserInteractionEnabled:YES];
+    }];
+    
+    deleteAction.image = [UIImage imageNamed:@"CPDFBookmarkImageDelete" inBundle:[NSBundle bundleForClass:self.class] compatibleWithTraitCollection:nil];
+    deleteAction.backgroundColor = [UIColor redColor];
+    editAction.image = [UIImage imageNamed:@"CPDFBookmarkImageEraser" inBundle:[NSBundle bundleForClass:self.class] compatibleWithTraitCollection:nil];
+    
+    return [UISwipeActionsConfiguration configurationWithActions: @[deleteAction, editAction]];
+}
+
 - (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath {
     if ([self.delegate respondsToSelector:@selector(boomarkViewController:pageIndex:)]) {
         [self.delegate boomarkViewController:self pageIndex:indexPath.row + 1];

+ 1 - 3
compdfkit-tools/compdfkit-tools/Viewer/PDFBookmark/Images.xcassets/CPDFBookmarkImageAdd.imageset/Contents.json

@@ -1,17 +1,15 @@
 {
   "images" : [
     {
-      "filename" : "signature_icon_add.png",
+      "filename" : "add.pdf",
       "idiom" : "universal",
       "scale" : "1x"
     },
     {
-      "filename" : "signature_icon_add@2x.png",
       "idiom" : "universal",
       "scale" : "2x"
     },
     {
-      "filename" : "signature_icon_add@3x.png",
       "idiom" : "universal",
       "scale" : "3x"
     }

+ 95 - 0
compdfkit-tools/compdfkit-tools/Viewer/PDFBookmark/Images.xcassets/CPDFBookmarkImageAdd.imageset/add.pdf

@@ -0,0 +1,95 @@
+%PDF-1.7
+
+1 0 obj
+  << >>
+endobj
+
+2 0 obj
+  << /Length 3 0 R >>
+stream
+/DeviceRGB CS
+/DeviceRGB cs
+q
+1.000000 0.000000 -0.000000 1.000000 0.000000 0.000000 cm
+0.078431 0.376471 0.952941 scn
+0.000000 25.000000 m
+0.000000 38.807117 11.192882 50.000000 25.000000 50.000000 c
+25.000000 50.000000 l
+38.807117 50.000000 50.000000 38.807117 50.000000 25.000000 c
+50.000000 25.000000 l
+50.000000 11.192883 38.807117 0.000000 25.000000 0.000000 c
+25.000000 0.000000 l
+11.192882 0.000000 0.000000 11.192883 0.000000 25.000000 c
+0.000000 25.000000 l
+h
+f
+n
+Q
+q
+1.000000 0.000000 -0.000000 1.000000 17.000000 17.000000 cm
+1.000000 1.000000 1.000000 scn
+8.750000 9.000000 m
+8.750000 16.000000 l
+7.250000 16.000000 l
+7.250000 9.000000 l
+0.000000 9.000000 l
+0.000000 7.500000 l
+7.250000 7.500000 l
+7.250000 0.000000 l
+8.750000 0.000000 l
+8.750000 7.500000 l
+16.000000 7.500000 l
+16.000000 9.000000 l
+8.750000 9.000000 l
+h
+f*
+n
+Q
+
+endstream
+endobj
+
+3 0 obj
+  842
+endobj
+
+4 0 obj
+  << /Annots []
+     /Type /Page
+     /MediaBox [ 0.000000 0.000000 50.000000 50.000000 ]
+     /Resources 1 0 R
+     /Contents 2 0 R
+     /Parent 5 0 R
+  >>
+endobj
+
+5 0 obj
+  << /Kids [ 4 0 R ]
+     /Count 1
+     /Type /Pages
+  >>
+endobj
+
+6 0 obj
+  << /Pages 5 0 R
+     /Type /Catalog
+  >>
+endobj
+
+xref
+0 7
+0000000000 65535 f
+0000000010 00000 n
+0000000034 00000 n
+0000000932 00000 n
+0000000954 00000 n
+0000001127 00000 n
+0000001201 00000 n
+trailer
+<< /ID [ (some) (id) ]
+   /Root 6 0 R
+   /Size 7
+>>
+startxref
+1260
+%%EOF

BIN
compdfkit-tools/compdfkit-tools/Viewer/PDFBookmark/Images.xcassets/CPDFBookmarkImageAdd.imageset/signature_icon_add.png


BIN
compdfkit-tools/compdfkit-tools/Viewer/PDFBookmark/Images.xcassets/CPDFBookmarkImageAdd.imageset/signature_icon_add@2x.png


BIN
compdfkit-tools/compdfkit-tools/Viewer/PDFBookmark/Images.xcassets/CPDFBookmarkImageAdd.imageset/signature_icon_add@3x.png


+ 1 - 2
compdfkit-tools/compdfkit-tools/Viewer/PDFBookmark/Images.xcassets/CPDFBookmarkImageDelete.imageset/Contents.json

@@ -1,12 +1,11 @@
 {
   "images" : [
     {
-      "filename" : "pageedit_delete.png",
+      "filename" : "delete.pdf",
       "idiom" : "universal",
       "scale" : "1x"
     },
     {
-      "filename" : "pageedit_delete@2x.png",
       "idiom" : "universal",
       "scale" : "2x"
     },

+ 111 - 0
compdfkit-tools/compdfkit-tools/Viewer/PDFBookmark/Images.xcassets/CPDFBookmarkImageDelete.imageset/delete.pdf

@@ -0,0 +1,111 @@
+%PDF-1.7
+
+1 0 obj
+  << >>
+endobj
+
+2 0 obj
+  << /Length 3 0 R >>
+stream
+/DeviceRGB CS
+/DeviceRGB cs
+q
+1.000000 0.000000 -0.000000 1.000000 0.500000 1.080383 cm
+1.000000 1.000000 1.000000 scn
+4.285714 14.089294 m
+3.535714 14.089294 l
+3.535714 13.339294 l
+3.535714 10.875009 l
+0.000000 10.875009 l
+0.000000 9.375009 l
+2.464286 9.375009 l
+2.464286 0.750009 l
+2.464286 0.000009 l
+3.214286 0.000009 l
+11.785714 0.000009 l
+12.535714 0.000009 l
+12.535714 0.750009 l
+12.535714 9.375008 l
+15.000001 9.375008 l
+15.000001 10.875008 l
+11.464285 10.875008 l
+11.464285 13.339294 l
+11.464285 14.089294 l
+10.714285 14.089294 l
+4.285714 14.089294 l
+h
+3.964286 1.500009 m
+3.964286 9.375008 l
+11.035714 9.375008 l
+11.035714 1.500009 l
+3.964286 1.500009 l
+h
+9.964285 10.875008 m
+9.964285 12.589294 l
+5.035714 12.589294 l
+5.035714 10.875008 l
+9.964285 10.875008 l
+h
+5.410714 3.160723 m
+5.410714 7.446437 l
+6.910714 7.446437 l
+6.910714 3.160723 l
+5.410714 3.160723 l
+h
+8.089286 3.160723 m
+8.089286 7.446437 l
+9.589285 7.446437 l
+9.589285 3.160723 l
+8.089286 3.160723 l
+h
+f*
+n
+Q
+
+endstream
+endobj
+
+3 0 obj
+  984
+endobj
+
+4 0 obj
+  << /Annots []
+     /Type /Page
+     /MediaBox [ 0.000000 0.000000 16.000000 16.000000 ]
+     /Resources 1 0 R
+     /Contents 2 0 R
+     /Parent 5 0 R
+  >>
+endobj
+
+5 0 obj
+  << /Kids [ 4 0 R ]
+     /Count 1
+     /Type /Pages
+  >>
+endobj
+
+6 0 obj
+  << /Pages 5 0 R
+     /Type /Catalog
+  >>
+endobj
+
+xref
+0 7
+0000000000 65535 f
+0000000010 00000 n
+0000000034 00000 n
+0000001074 00000 n
+0000001096 00000 n
+0000001269 00000 n
+0000001343 00000 n
+trailer
+<< /ID [ (some) (id) ]
+   /Root 6 0 R
+   /Size 7
+>>
+startxref
+1402
+%%EOF

BIN
compdfkit-tools/compdfkit-tools/Viewer/PDFBookmark/Images.xcassets/CPDFBookmarkImageDelete.imageset/pageedit_delete.png


BIN
compdfkit-tools/compdfkit-tools/Viewer/PDFBookmark/Images.xcassets/CPDFBookmarkImageDelete.imageset/pageedit_delete@2x.png


+ 21 - 0
compdfkit-tools/compdfkit-tools/Viewer/PDFBookmark/Images.xcassets/CPDFBookmarkImageEraser.imageset/Contents.json

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

+ 109 - 0
compdfkit-tools/compdfkit-tools/Viewer/PDFBookmark/Images.xcassets/CPDFBookmarkImageEraser.imageset/eraser.pdf

@@ -0,0 +1,109 @@
+%PDF-1.7
+
+1 0 obj
+  << >>
+endobj
+
+2 0 obj
+  << /Length 3 0 R >>
+stream
+/DeviceRGB CS
+/DeviceRGB cs
+q
+1.000000 0.000000 -0.000000 1.000000 0.000000 0.000000 cm
+1.000000 1.000000 1.000000 scn
+1.238950 3.901752 m
+0.549718 4.579303 0.549717 5.677833 1.238950 6.355386 c
+9.011107 13.995828 l
+9.545950 14.521606 l
+10.080793 13.995828 l
+15.030540 9.129964 l
+15.565383 8.604185 l
+15.030540 8.078407 l
+10.787900 3.907666 l
+7.959473 1.127173 l
+7.737934 0.909389 l
+7.424631 0.909388 l
+4.596203 0.909389 l
+4.282899 0.909389 l
+4.061360 1.127172 l
+1.238950 3.901752 l
+h
+2.308635 5.303828 m
+2.210174 5.207035 2.210174 5.050102 2.308636 4.953309 c
+4.909506 2.396515 l
+7.111326 2.396515 l
+7.769131 3.043172 l
+3.889069 6.857478 l
+2.308635 5.303828 l
+h
+9.718214 4.959224 m
+8.838816 4.094728 l
+4.958754 7.909035 l
+9.545950 12.418491 l
+13.426012 8.604185 l
+9.718214 4.959224 l
+h
+0.000000 1.499981 m
+1.191050 1.499981 l
+2.716909 -0.000019 l
+0.000000 -0.000019 l
+0.000000 1.499981 l
+h
+15.500000 -0.000019 m
+8.237010 -0.000019 l
+9.762869 1.499981 l
+15.500000 1.499981 l
+15.500000 -0.000019 l
+h
+f*
+n
+Q
+
+endstream
+endobj
+
+3 0 obj
+  1006
+endobj
+
+4 0 obj
+  << /Annots []
+     /Type /Page
+     /MediaBox [ 0.000000 0.000000 15.565430 14.521606 ]
+     /Resources 1 0 R
+     /Contents 2 0 R
+     /Parent 5 0 R
+  >>
+endobj
+
+5 0 obj
+  << /Kids [ 4 0 R ]
+     /Count 1
+     /Type /Pages
+  >>
+endobj
+
+6 0 obj
+  << /Pages 5 0 R
+     /Type /Catalog
+  >>
+endobj
+
+xref
+0 7
+0000000000 65535 f
+0000000010 00000 n
+0000000034 00000 n
+0000001096 00000 n
+0000001119 00000 n
+0000001292 00000 n
+0000001366 00000 n
+trailer
+<< /ID [ (some) (id) ]
+   /Root 6 0 R
+   /Size 7
+>>
+startxref
+1425
+%%EOF

+ 8 - 8
compdfkit-tools/compdfkit-tools/Viewer/PDFMore/PDFInfo/CPDFInfoTableCell.m

@@ -27,22 +27,22 @@ NSString* kDocumentInfoValue = @"kDocumentInfoValue";
         titleLabel = [[UILabel alloc] initWithFrame:CGRectZero];
         titleLabel.backgroundColor = [UIColor clearColor];
         titleLabel.opaque = NO;
-        titleLabel.textColor = [UIColor lightGrayColor];
+        titleLabel.textColor = [UIColor colorWithRed:102./255. green:102/255. blue:102/255. alpha:1];
         titleLabel.highlightedTextColor = [UIColor lightGrayColor];
-        titleLabel.font = [UIFont boldSystemFontOfSize:12];
+        titleLabel.font = [UIFont boldSystemFontOfSize:13];
         titleLabel.numberOfLines = 2;
-        titleLabel.textAlignment = NSTextAlignmentRight;
+        titleLabel.textAlignment = NSTextAlignmentLeft;
         [self.contentView addSubview:titleLabel];
         
         
         infoLabel = [[UILabel alloc] initWithFrame:CGRectZero];
         infoLabel.backgroundColor = [UIColor clearColor];
         infoLabel.opaque = NO;
-        infoLabel.textColor = [UIColor lightGrayColor];
+        infoLabel.textColor = [UIColor colorWithRed:20/255. green:96/255. blue:243/255. alpha:1];
         infoLabel.highlightedTextColor = [UIColor lightGrayColor];
-        infoLabel.font = [UIFont boldSystemFontOfSize:12];
+        infoLabel.font = [UIFont boldSystemFontOfSize:13];
         infoLabel.numberOfLines = 2;
-        infoLabel.textAlignment = NSTextAlignmentLeft;
+        infoLabel.textAlignment = NSTextAlignmentRight;
         [self.contentView addSubview:infoLabel];
         
         CGRect contentRect = [self.contentView bounds];
@@ -60,8 +60,8 @@ NSString* kDocumentInfoValue = @"kDocumentInfoValue";
     [super layoutSubviews];
     
     CGRect contentRect = [self.contentView bounds];
-    titleLabel.frame = CGRectMake(10 , -2, contentRect.size.width/2-50, contentRect.size.height);
-    infoLabel.frame = CGRectMake(contentRect.size.width/2-35 , -2, contentRect.size.width/2, contentRect.size.height);
+    titleLabel.frame = CGRectMake(16 , -2, contentRect.size.width/2-16, contentRect.size.height);
+    infoLabel.frame = CGRectMake(contentRect.size.width/2-16 , -2, contentRect.size.width/2, contentRect.size.height);
 }
 
 - (void)setEditing:(BOOL)editing animated:(BOOL)animated

+ 32 - 17
compdfkit-tools/compdfkit-tools/Viewer/PDFMore/PDFInfo/CPDFInfoViewController.m

@@ -13,12 +13,16 @@
 #import "CPDFInfoViewController.h"
 #import "CPDFInfoTableCell.h"
 #import <ComPDFKit/ComPDFKit.h>
+#import "CPDFColorUtils.h"
+
 
 @interface CPDFInfoViewController()<UITableViewDelegate,UITableViewDataSource>
 
 @property  (nonatomic, retain) UITableView* curTableView;
 @property  (nonatomic, retain) NSArray*     curTableArray;
 
+@property (nonatomic, strong) UILabel *titleLabel;
+
 @end
 
 @implementation CPDFInfoViewController
@@ -47,31 +51,44 @@
 //         Fallback on earlier versions
         self.view.backgroundColor = [UIColor colorWithRed:240/255. green:240/255. blue:240/255. alpha:1.];
     }
-
-    self.title = NSLocalizedString(@"File Info",nil);
+    
+    self.titleLabel = [[UILabel alloc] init];
+    self.titleLabel.text =  NSLocalizedString(@"Information", nil);
+    self.titleLabel.font = [UIFont boldSystemFontOfSize:17];
+    self.titleLabel.adjustsFontSizeToFitWidth = YES;
+    self.titleLabel.textAlignment = NSTextAlignmentCenter;
+    [self.view addSubview:self.titleLabel];
+    
     [self loadDocumentInfo];
     
     [self.view addSubview:self.curTableView];
     
+    self.view.backgroundColor = [CPDFColorUtils CPDFViewControllerBackgroundColor];
+    [self updatePreferredContentSizeWithTraitCollection:self.traitCollection];
+    
+    
 }
 
-- (void)viewWillAppear:(BOOL)animated
-{
-    [super viewWillAppear:animated];
-    
-    [self updateInterfaceOrientation:[[UIApplication sharedApplication] statusBarOrientation]];
+- (void)willTransitionToTraitCollection:(UITraitCollection *)newCollection withTransitionCoordinator:(id<UIViewControllerTransitionCoordinator>)coordinator {
+    [super willTransitionToTraitCollection:newCollection withTransitionCoordinator:coordinator];
+    [self updatePreferredContentSizeWithTraitCollection:newCollection];
 }
 
--(void)viewWillDisappear:(BOOL)animated
+- (void)updatePreferredContentSizeWithTraitCollection:(UITraitCollection *)traitCollection
 {
-    [super viewWillDisappear:animated];
+    self.preferredContentSize = CGSizeMake(self.view.bounds.size.width,self.view.bounds.size.height * 0.9);
+
+}
+
+- (void)viewWillLayoutSubviews {
+    self.titleLabel.frame = CGRectMake((self.view.frame.size.width - 120)/2, 5, 120, 50);
+    self.curTableView.frame = CGRectMake(0, 70, self.view.frame.size.width, self.view.frame.size.height - 50);
+
 }
 
-- (void)updateInterfaceOrientation:(UIInterfaceOrientation)interfaceOrientation
+-(void)viewWillDisappear:(BOOL)animated
 {
-    int inset = 0;
-    _curTableView.frame = CGRectInset(self.view.bounds, inset, 0);
-    [_curTableView reloadData];
+    [super viewWillDisappear:animated];
 }
 
 #pragma mark - getter && setter
@@ -145,9 +162,6 @@
     if (documentAttributes[CPDFDocumentCreatorAttribute]) {
         [mArray addObject:[NSDictionary dictionaryWithObjectsAndKeys:NSLocalizedString(@"Creator:",kDocumentInfoTitle nil),kDocumentInfoTitle, documentAttributes[CPDFDocumentCreatorAttribute], kDocumentInfoValue, nil]];
     }
-//    if (documentAttributes[CPDFDocumentProducerAttribute]) {
-//        [mArray addObject:[NSDictionary dictionaryWithObjectsAndKeys:NSLocalizedString(@"Producer:",kDocumentInfoTitle nil),kDocumentInfoTitle, documentAttributes[CPDFDocumentProducerAttribute], kDocumentInfoValue, nil]];
-//    }
     
     if (documentAttributes[CPDFDocumentCreationDateAttribute]){
         NSMutableString* mSting = [NSMutableString string];
@@ -278,7 +292,8 @@
     
     title = [NSString stringWithFormat:@"    %@",title];
     headerLabel.text = title;
-    headerLabel.textColor = [UIColor lightGrayColor];
+    headerLabel.font = [UIFont boldSystemFontOfSize:22];
+    headerLabel.textColor = [UIColor blackColor];
 
     return headerLabel;
 }

+ 15 - 5
compdfkit-tools/compdfkit-tools/Viewer/PDFThumbnail/CPDFThumbnailViewCell.m

@@ -18,22 +18,25 @@
     if (self = [super initWithFrame:frame]) {
         _imageView = [[UIImageView alloc] init];
         _imageView.layer.borderWidth = 1.0;
-        _imageView.layer.borderColor = [UIColor colorWithRed:214.0/255.0 green:214.0/255.0 blue:214.0/255.0 alpha:1.0].CGColor;
+        _imageView.layer.borderColor = [UIColor colorWithRed:221/255.0 green:233/255.0 blue:255/255.0 alpha:1.0].CGColor;
         [self.contentView addSubview:_imageView];
         
         _textLabel = [[UILabel alloc] initWithFrame:CGRectMake(0, frame.size.height - 12, frame.size.width, 12)];
         _textLabel.autoresizingMask = UIViewAutoresizingFlexibleWidth | UIViewAutoresizingFlexibleTopMargin;
         _textLabel.textAlignment = NSTextAlignmentCenter;
         _textLabel.font = [UIFont systemFontOfSize:10];
-        _textLabel.textColor = [UIColor blackColor];
+        _textLabel.textColor = [UIColor colorWithRed:20./255 green:96./255 blue:243./255 alpha:1];
         [self.contentView addSubview:_textLabel];
     }
     return self;
 }
 
 - (void)drawRect:(CGRect)rect {
-    _imageView.frame = CGRectMake((self.frame.size.width - self.imageSize.width)/2, (self.imageSize.height - 12 - self.imageSize.height) / 2, self.imageSize.width, self.imageSize.height);
-    _textLabel.frame = CGRectMake(0, self.imageSize.height + (self.imageSize.height - 12 - self.imageSize.height) / 2, self.frame.size.width, 12);
+    _imageView.frame = CGRectMake((self.frame.size.width - self.imageSize.width)/2, (self.imageSize.height - 14 - self.imageSize.height) / 2, self.imageSize.width, self.imageSize.height);
+    
+    CGFloat startW = [self.textLabel.text sizeWithFont:[UIFont systemFontOfSize:10] constrainedToSize:CGSizeMake(MAXFLOAT, 12)].width;
+    //restSize
+    _textLabel.frame = CGRectMake(self.frame.size.width/2 - (startW + 10)/2, self.imageSize.height + (self.imageSize.height - 10 - self.imageSize.height) / 2, startW + 10, 12);
 }
 
 - (void)setPageRef:(CGPDFPageRef)pageRef {
@@ -53,9 +56,16 @@
 - (void)setSelected:(BOOL)selected {
     [super setSelected:selected];
     if (selected) {
-        self.textLabel.textColor = [UIColor colorWithRed:0.0 green:124.0/255.0 blue:1.0 alpha:1.0];
+        self.textLabel.backgroundColor = [UIColor colorWithRed:20./255 green:96./255 blue:243./255 alpha:1];
+        self.textLabel.textColor = [UIColor whiteColor];
+        self.imageView.layer.borderColor = [UIColor colorWithRed:20./255 green:96./255 blue:243./255 alpha:1].CGColor;
+        self.imageView.layer.borderWidth = 2;
+        self.imageView.layer.cornerRadius = 4;
+        self.imageView.clipsToBounds = YES;
     } else {
         self.textLabel.textColor = [UIColor blackColor];
+        self.imageView.layer.borderColor = [UIColor clearColor].CGColor;
+        self.imageView.layer.borderWidth = 1;
     }
 }
 

+ 2 - 2
compdfkit-tools/compdfkit-tools/Viewer/PDFThumbnail/CPDFThumbnailViewController.m

@@ -14,6 +14,7 @@
 #import "CPDFThumbnailViewCell.h"
 
 #import <ComPDFKit/ComPDFKit.h>
+#import "UIViewController+LeftItem.h"
 
 @interface CPDFThumbnailViewController () <UICollectionViewDelegate,UICollectionViewDataSource>
 
@@ -39,9 +40,8 @@
 - (void)viewDidLoad {
     [super viewDidLoad];
     // Do any additional setup after loading the view.
-    
     self.title = @"Thumbnail";
-    
+    [self changeleftItem];
     UICollectionViewFlowLayout *layout = [[UICollectionViewFlowLayout alloc] init];
     layout.itemSize = CGSizeMake(110, 185);
     layout.sectionInset = UIEdgeInsetsMake(5, 5, 5, 5);

+ 3 - 0
compdfkit-tools/compdfkit-tools/compdfkit_tools.h

@@ -16,6 +16,9 @@
 
 // Navigtion
 #import <compdfkit_tools/CNavigationController.h>
+#import <compdfkit_tools/CNavigationBarTitleButton.h>
+#import <compdfkit_tools/CPDFPopMenu.h>
+#import <compdfkit_tools/CPDFPopMenuView.h>
 
 // Search
 #import <compdfkit_tools/CPDFSearchResultsViewController.h>