├── IDealist.podspec ├── IDealist.xcodeproj ├── project.pbxproj ├── project.xcworkspace │ ├── contents.xcworkspacedata │ ├── xcshareddata │ │ └── IDEWorkspaceChecks.plist │ └── xcuserdata │ │ └── darren.xcuserdatad │ │ └── UserInterfaceState.xcuserstate └── xcuserdata │ └── darren.xcuserdatad │ └── xcschemes │ └── xcschememanagement.plist ├── IDealist.xcworkspace ├── contents.xcworkspacedata ├── xcshareddata │ └── IDEWorkspaceChecks.plist └── xcuserdata │ └── darren.xcuserdatad │ ├── UserInterfaceState.xcuserstate │ └── xcdebugger │ └── Breakpoints_v2.xcbkptlist ├── IDealist ├── AppDelegate.swift ├── Assets.xcassets │ ├── AppIcon.appiconset │ │ ├── Contents.json │ │ ├── Icon-60.png │ │ ├── Icon-60@2x.png │ │ ├── Icon-60@3x.png │ │ ├── Icon-Small.png │ │ ├── Icon-Small@2x-1.png │ │ ├── Icon-Small@2x.png │ │ ├── Icon-Small@3x.png │ │ ├── Icon-Spotlight-40.png │ │ ├── Icon-Spotlight-40@2x-1.png │ │ ├── Icon-Spotlight-40@2x.png │ │ ├── Icon-Spotlight-40@3x.png │ │ ├── Icon-Spotlight-41.png │ │ └── id_logo.png │ ├── Contents.json │ ├── basevc.imageset │ │ ├── Contents.json │ │ └── basevc.png │ ├── cutting_ic_flashlight_off1.imageset │ │ ├── Contents.json │ │ ├── cutting_ic_flashlight_off1.png │ │ ├── cutting_ic_flashlight_off1@2x.png │ │ └── cutting_ic_flashlight_off1@3x.png │ ├── ic_back_grey.imageset │ │ ├── Contents.json │ │ ├── ic_back_grey@2x.png │ │ └── ic_back_grey@3x.png │ ├── ic_new.imageset │ │ ├── Contents.json │ │ ├── ic_new.png │ │ ├── ic_new@2x.png │ │ └── ic_new@3x.png │ ├── icn_icn_more.imageset │ │ ├── Contents.json │ │ ├── icn_icn_more.png │ │ ├── icn_icn_more@2x.png │ │ └── icn_icn_more@3x.png │ ├── id_logo.imageset │ │ ├── Contents.json │ │ └── id_logo.png │ ├── message_success.imageset │ │ ├── Contents.json │ │ └── success.png │ ├── takePicture.imageset │ │ ├── Contents.json │ │ └── takePicture.png │ └── 图标icon_slices │ │ ├── Contents.json │ │ ├── cutting_ic_right_white.imageset │ │ ├── Contents.json │ │ ├── cutting_ic_right_white.png │ │ ├── cutting_ic_right_white@2x.png │ │ └── cutting_ic_right_white@3x.png │ │ ├── icn_color_icn_components.imageset │ │ ├── Contents.json │ │ ├── icn_color_icn_components.png │ │ ├── icn_color_icn_components@2x.png │ │ └── icn_color_icn_components@3x.png │ │ ├── icn_color_icn_uikit.imageset │ │ ├── Contents.json │ │ ├── icn_color_icn_uikit.png │ │ ├── icn_color_icn_uikit@2x.png │ │ └── icn_color_icn_uikit@3x.png │ │ ├── icn_color_icn_utils.imageset │ │ ├── Contents.json │ │ ├── icn_color_icn_utils.png │ │ ├── icn_color_icn_utils@2x.png │ │ └── icn_color_icn_utils@3x.png │ │ ├── icn_icn_button.imageset │ │ ├── Contents.json │ │ ├── icn_icn_button.png │ │ ├── icn_icn_button@2x.png │ │ └── icn_icn_button@3x.png │ │ ├── icn_icn_dialog.imageset │ │ ├── Contents.json │ │ ├── icn_icn_dialog.png │ │ ├── icn_icn_dialog@2x.png │ │ └── icn_icn_dialog@3x.png │ │ ├── icn_icn_emptyview.imageset │ │ ├── Contents.json │ │ ├── icn_icn_emptyview.png │ │ ├── icn_icn_emptyview@2x.png │ │ └── icn_icn_emptyview@3x.png │ │ ├── icn_icn_image.imageset │ │ ├── Contents.json │ │ ├── icn_icn_image.png │ │ ├── icn_icn_image@2x.png │ │ └── icn_icn_image@3x.png │ │ ├── icn_icn_imfomation.imageset │ │ ├── Contents.json │ │ ├── icn_icn_imfomation.png │ │ ├── icn_icn_imfomation@2x.png │ │ └── icn_icn_imfomation@3x.png │ │ ├── icn_icn_label.imageset │ │ ├── Contents.json │ │ ├── icn_icn_label.png │ │ ├── icn_icn_label@2x.png │ │ └── icn_icn_label@3x.png │ │ ├── icn_icn_loading.imageset │ │ ├── Contents.json │ │ ├── icn_icn_loading.png │ │ ├── icn_icn_loading@2x.png │ │ └── icn_icn_loading@3x.png │ │ ├── icn_icn_popview.imageset │ │ ├── Contents.json │ │ ├── icn_icn_popview.png │ │ ├── icn_icn_popview@2x.png │ │ └── icn_icn_popview@3x.png │ │ ├── icn_icn_progressview.imageset │ │ ├── Contents.json │ │ ├── icn_icn_progressview.png │ │ ├── icn_icn_progressview@2x.png │ │ └── icn_icn_progressview@3x.png │ │ ├── icn_icn_refresh.imageset │ │ ├── Contents.json │ │ ├── icn_icn_refresh.png │ │ ├── icn_icn_refresh@2x.png │ │ └── icn_icn_refresh@3x.png │ │ ├── icn_icn_scanning.imageset │ │ ├── Contents.json │ │ ├── icn_icn_scanning.png │ │ ├── icn_icn_scanning@2x.png │ │ └── icn_icn_scanning@3x.png │ │ ├── icn_icn_searchbar.imageset │ │ ├── Contents.json │ │ ├── icn_icn_searchbar.png │ │ ├── icn_icn_searchbar@2x.png │ │ └── icn_icn_searchbar@3x.png │ │ ├── icn_icn_segmentview.imageset │ │ ├── Contents.json │ │ ├── icn_icn_segmentview.png │ │ ├── icn_icn_segmentview@2x.png │ │ └── icn_icn_segmentview@3x.png │ │ ├── icn_icn_switch.imageset │ │ ├── Contents.json │ │ ├── icn_icn_switch.png │ │ ├── icn_icn_switch@2x.png │ │ └── icn_icn_switch@3x.png │ │ ├── icn_icn_textfield.imageset │ │ ├── Contents.json │ │ ├── icn_icn_textfield.png │ │ ├── icn_icn_textfield@2x.png │ │ └── icn_icn_textfield@3x.png │ │ ├── icn_icn_textview.imageset │ │ ├── Contents.json │ │ ├── icn_icn_textview.png │ │ ├── icn_icn_textview@2x.png │ │ └── icn_icn_textview@3x.png │ │ ├── icn_icn_toast.imageset │ │ ├── Contents.json │ │ ├── icn_icn_toast.png │ │ ├── icn_icn_toast@2x.png │ │ └── icn_icn_toast@3x.png │ │ ├── icn_icn_update.imageset │ │ ├── Contents.json │ │ ├── icn_icn_update.png │ │ ├── icn_icn_update@2x.png │ │ └── icn_icn_update@3x.png │ │ ├── icn_icn_view.imageset │ │ ├── Contents.json │ │ ├── icn_icn_view.png │ │ ├── icn_icn_view@2x.png │ │ └── icn_icn_view@3x.png │ │ ├── icn_nocolor_icn_components.imageset │ │ ├── Contents.json │ │ ├── icn_nocolor_icn_components.png │ │ ├── icn_nocolor_icn_components@2x.png │ │ └── icn_nocolor_icn_components@3x.png │ │ ├── icn_nocolor_icn_uikit.imageset │ │ ├── Contents.json │ │ ├── icn_nocolor_icn_uikit.png │ │ ├── icn_nocolor_icn_uikit@2x.png │ │ └── icn_nocolor_icn_uikit@3x.png │ │ └── icn_nocolor_icn_utils.imageset │ │ ├── Contents.json │ │ ├── icn_nocolor_icn_utils.png │ │ ├── icn_nocolor_icn_utils@2x.png │ │ └── icn_nocolor_icn_utils@3x.png ├── Base.lproj │ ├── LaunchScreen.storyboard │ └── Main.storyboard ├── Demo │ ├── Home │ │ └── View │ │ │ ├── ComponentCell.swift │ │ │ ├── ComponentCell.xib │ │ │ ├── HomeListCell.swift │ │ │ └── HomeListCell.xib │ ├── IDBaseViewController │ │ └── TestIDBaseViewController.swift │ ├── IDDialog │ │ ├── IDDialogBaseViewController.swift │ │ ├── IDDialogImageViewController.swift │ │ ├── IDDialogInputViewController.swift │ │ ├── IDDialogTestController.swift │ │ └── View │ │ │ ├── DialogCell.swift │ │ │ └── DialogCell.xib │ ├── IDEmptyView │ │ ├── SecondViewController.swift │ │ └── TestIDEmptyViewController.swift │ ├── IDImagepicker │ │ ├── PhotoView.swift │ │ └── TestIDImagePickerViewController.swift │ ├── IDLoading │ │ ├── IDLoadingListViewController.swift │ │ ├── IDLoadingTestViewController.swift │ │ ├── IDLoadingTestViewController.xib │ │ └── IDLoadingWebViewController.swift │ ├── IDRefresh │ │ └── TestIDRefreshController.swift │ ├── IDScanQrcode │ │ ├── TestIDQRcodeViewController.swift │ │ └── TestIDScanCodeViewController.swift │ ├── IDToast │ │ └── IDToastTestController.swift │ ├── IDUIkit │ │ ├── TestButtonViewController.swift │ │ ├── TestButtonViewController.xib │ │ ├── TestIDPopViewController.swift │ │ ├── TestIDPopViewController.xib │ │ ├── TestIDSegmentedViewController.swift │ │ ├── TestIDSegmentedViewController.xib │ │ ├── TestIDSelectViewController.swift │ │ ├── TestImageViewController.swift │ │ ├── TestLabelViewController.swift │ │ ├── TestProgressViewController.swift │ │ ├── TestProgressViewController.xib │ │ ├── TestSearchBarViewController.swift │ │ ├── TestSearchBarViewController.xib │ │ ├── TestSwitchViewController.swift │ │ ├── TestSwitchViewController.xib │ │ ├── TestTextFieldViewController.swift │ │ ├── TestTextFieldViewController.xib │ │ ├── TestTextViewController.swift │ │ ├── TestTextViewController.xib │ │ └── TestTextViewControllerTwo.swift │ ├── IDUpdateManager │ │ └── IDUpdateManagerTestController.swift │ ├── IDUtils │ │ ├── IDUtilsThemeViewController.swift │ │ ├── IDUtilsThemeViewController.xib │ │ ├── TestAppInfoViewController.swift │ │ ├── TestArrayViewController.swift │ │ ├── TestArrayViewController.xib │ │ ├── TestColorViewController.swift │ │ ├── TestColorViewController.xib │ │ ├── TestDateViewController.swift │ │ ├── TestDeviceViewController.swift │ │ ├── TestIDViewViewController.swift │ │ ├── TestIDViewViewController.xib │ │ ├── TestStringViewController.swift │ │ ├── TestStringViewController.xib │ │ ├── TestURLViewController.swift │ │ └── TestURLViewController.xib │ └── Main │ │ ├── IDInfoViewController.swift │ │ ├── IDInfoViewController.xib │ │ └── Pages │ │ ├── MainViewController.swift │ │ ├── UIKitViewController.swift │ │ └── UtilsViewController.swift ├── IDealist │ ├── AppConfig.swift │ ├── IDBaseController │ │ ├── Components │ │ │ ├── IDBaseNavViewController.swift │ │ │ ├── IDBaseViewController.swift │ │ │ ├── IDCustomNavgationView.swift │ │ │ └── IDTabbarViewController.swift │ │ └── Images │ │ │ ├── btn_back@2x.png │ │ │ └── btn_back@3x.png │ ├── IDDialog │ │ ├── Components │ │ │ ├── IDDialog.swift │ │ │ ├── IDDialogCustomView.swift │ │ │ ├── IDDialogImageView.swift │ │ │ ├── IDDialogInputView.swift │ │ │ ├── IDDialogManager.swift │ │ │ ├── IDDialogNormalView.swift │ │ │ ├── IDDialogTextView.swift │ │ │ └── IDDialogUtil.swift │ │ └── Images │ │ │ ├── ic_toast_success2.png │ │ │ ├── ic_toast_success2@2x.png │ │ │ ├── ic_toast_success2@3x.png │ │ │ ├── icn_icn_fail2.png │ │ │ ├── icn_icn_fail2@2x.png │ │ │ ├── icn_icn_fail2@3x.png │ │ │ ├── icon_sign2.png │ │ │ ├── icon_sign2@2x.png │ │ │ └── icon_sign2@3x.png │ ├── IDEmptyView │ │ ├── Components │ │ │ ├── IDEmptyView.swift │ │ │ └── UIView+IDeal.swift │ │ └── Images │ │ │ ├── ic_empty@2x.png │ │ │ ├── ic_empty@3x.png │ │ │ ├── ic_load_failure@2x.png │ │ │ └── ic_load_failure@3x.png │ ├── IDImagePicker │ │ ├── Board │ │ │ ├── BaseBrush.swift │ │ │ ├── DBUndoManager.swift │ │ │ ├── DrawBoard.swift │ │ │ ├── EraserBrush.swift │ │ │ ├── GaussianBlurBrush.swift │ │ │ ├── InputBrush.swift │ │ │ ├── LineBrush.swift │ │ │ ├── PencilBrush.swift │ │ │ └── RectangleBrush.swift │ │ ├── Category │ │ │ ├── Ext.swift │ │ │ └── NavgationVCExt.swift │ │ ├── IDImagePicker.swift │ │ ├── Images │ │ │ ├── btn_back2@2x.png │ │ │ ├── btn_back2@3x.png │ │ │ ├── btn_back_w@2x.png │ │ │ ├── btn_back_w@3x.png │ │ │ ├── cl_imagepickervedio.png │ │ │ ├── clr_black@2x.png │ │ │ ├── clr_black@3x.png │ │ │ ├── clr_blue@2x.png │ │ │ ├── clr_blue@3x.png │ │ │ ├── clr_green@2x.png │ │ │ ├── clr_green@3x.png │ │ │ ├── clr_orange@2x.png │ │ │ ├── clr_orange@3x.png │ │ │ ├── clr_purple@2x.png │ │ │ ├── clr_purple@3x.png │ │ │ ├── clr_red@2x.png │ │ │ ├── clr_red@3x.png │ │ │ ├── clvedioplaybtn.png │ │ │ ├── ic_erase@2x.png │ │ │ ├── ic_erase@3x.png │ │ │ ├── ic_erase_grey@2x.png │ │ │ ├── ic_erase_grey@3x.png │ │ │ ├── ic_msk@2x.png │ │ │ ├── ic_msk@3x.png │ │ │ ├── ic_msk_grey@2x.png │ │ │ ├── ic_msk_grey@3x.png │ │ │ ├── ic_pen@2x.png │ │ │ ├── ic_pen@3x.png │ │ │ ├── ic_pen_grey@2x.png │ │ │ ├── ic_pen_grey@3x.png │ │ │ ├── ic_pre@2x.png │ │ │ ├── ic_pre@3x.png │ │ │ ├── ic_pre_grey@2x.png │ │ │ ├── ic_pre_grey@3x.png │ │ │ ├── ic_redo@2x.png │ │ │ ├── ic_redo@3x.png │ │ │ ├── ic_redo_grey@2x.png │ │ │ ├── ic_redo_grey@3x.png │ │ │ ├── icn_cin_more.png │ │ │ ├── icn_cin_more@2x.png │ │ │ ├── icn_cin_more@3x.png │ │ │ ├── icn_finish@2x.png │ │ │ ├── icn_finish@3x.png │ │ │ ├── icn_icn_back.png │ │ │ ├── icn_icn_back@2x.png │ │ │ ├── icn_icn_back@3x.png │ │ │ ├── icn_icn_back_b.png │ │ │ ├── icn_icn_back_b@2x.png │ │ │ ├── icn_icn_back_b@3x.png │ │ │ ├── icn_icn_back_white.png │ │ │ ├── icn_icn_back_white@2x.png │ │ │ ├── icn_icn_back_white@3x.png │ │ │ ├── icn_icn_cam.png │ │ │ ├── icn_icn_cam@2x.png │ │ │ ├── icn_icn_cam@3x.png │ │ │ ├── icn_icn_choose.png │ │ │ ├── icn_icn_choose@2x.png │ │ │ ├── icn_icn_choose@3x.png │ │ │ ├── icn_icn_cut.png │ │ │ ├── icn_icn_cut@2x.png │ │ │ ├── icn_icn_cut@3x.png │ │ │ ├── icn_icn_del.png │ │ │ ├── icn_icn_del@2x.png │ │ │ ├── icn_icn_del@3x.png │ │ │ ├── icn_icn_finish.png │ │ │ ├── icn_icn_finish@2x.png │ │ │ ├── icn_icn_finish@3x.png │ │ │ ├── icn_icn_text.png │ │ │ ├── icn_icn_text@2x.png │ │ │ ├── icn_icn_text@3x.png │ │ │ ├── photo_sel_photoPicker.png │ │ │ ├── photo_sel_photoPicker2.png │ │ │ └── takePicture.png │ │ ├── Utils │ │ │ ├── CLConfig.swift │ │ │ └── CLPickersTools.swift │ │ ├── controller │ │ │ ├── CLBaseImagePickerViewController.swift │ │ │ ├── CLCropViewController.swift │ │ │ ├── CLImagePickerSingleViewController.swift │ │ │ ├── CLImagePickerSingleViewController.xib │ │ │ ├── CLImagePickersViewController.swift │ │ │ ├── CLPreviewViewController.swift │ │ │ ├── EditorViewController.swift │ │ │ ├── EditorViewController.xib │ │ │ ├── IDEditorViewController.swift │ │ │ ├── IDEditorViewController.xib │ │ │ ├── IDPreviewViewController.swift │ │ │ └── IDPreviewViewController.xib │ │ ├── en.lproj │ │ │ └── Localizable.strings │ │ ├── model │ │ │ ├── CLImagePickerPhotoModel.swift │ │ │ └── PreviewModel.swift │ │ ├── pop │ │ │ ├── AlertViews │ │ │ │ ├── MessageStyleView.swift │ │ │ │ ├── MessageStyleView.xib │ │ │ │ ├── NomalStyleView.swift │ │ │ │ └── NomalStyleView.xib │ │ │ ├── HDAlertViewController.swift │ │ │ ├── HDAlertWindowView.swift │ │ │ └── PopViewUtil.swift │ │ ├── views │ │ │ ├── CLCircleView.swift │ │ │ ├── CLImageAmplifyView.swift │ │ │ ├── CLImagePickerCamaroCell.swift │ │ │ ├── CLImagePickerListCell.swift │ │ │ ├── CLImagePickerListCell.xib │ │ │ ├── CLPreviewCell.swift │ │ │ ├── CLPreviewVideoCell.swift │ │ │ ├── CLSingleTypeCell.swift │ │ │ ├── CLSingleTypeCell.xib │ │ │ ├── CLVideoPlayView.swift │ │ │ ├── ChooseView.swift │ │ │ ├── ChooseView.xib │ │ │ ├── CustomNavgationView.swift │ │ │ ├── ImagePickerChooseImageCell.swift │ │ │ ├── ImagePickerChooseImageCell.xib │ │ │ ├── MiniCell.swift │ │ │ ├── MiniCollectionView.swift │ │ │ └── PencilChooseView.swift │ │ └── zh-Hans.lproj │ │ │ └── Localizable.strings │ ├── IDLoading │ │ ├── Components │ │ │ ├── Config.swift │ │ │ ├── GifView.swift │ │ │ ├── IDLoading.swift │ │ │ ├── IDLoadingFreeUtil.swift │ │ │ ├── IDLoadingGifUtil.swift │ │ │ ├── IDLoadingNavUtil.swift │ │ │ ├── IDLoadingWaitUtil.swift │ │ │ ├── IDRefreshLoadView.swift │ │ │ └── NavProgressView.swift │ │ └── Images │ │ │ ├── icn_icn_loading.png │ │ │ ├── icn_icn_loading@2x.png │ │ │ └── icn_icn_loading@3x.png │ ├── IDScanCode │ │ ├── Components │ │ │ ├── BMDefaultUIView.h │ │ │ ├── BMDefaultUIView.m │ │ │ ├── BMDefaultUIView.xib │ │ │ ├── BMScan.h │ │ │ ├── BMScanController.h │ │ │ ├── BMScanController.m │ │ │ ├── BMScanDefaultCotroller.h │ │ │ ├── BMScanDefaultCotroller.m │ │ │ ├── BundleTools.h │ │ │ ├── BundleTools.m │ │ │ ├── IDealist.h │ │ │ ├── UIImage+BMScan.h │ │ │ └── UIImage+BMScan.m │ │ ├── IDScanCodeController.swift │ │ ├── IDScanNavgationView.swift │ │ ├── IDealist-Bridging-Header.h │ │ └── Images │ │ │ ├── bm_scan_image_qr_corner_001_@2x.png │ │ │ ├── bm_scan_image_qr_corner_002_@2x.png │ │ │ ├── bm_scan_image_qr_corner_003_@2x.png │ │ │ ├── bm_scan_image_qr_corner_004_@2x.png │ │ │ ├── bm_scan_image_qr_newbarcode_light_off@2x.png │ │ │ ├── bm_scan_image_qr_newbarcode_light_on@2x.png │ │ │ ├── bm_scan_image_qr_scan_line@2x.png │ │ │ ├── icn_back_white@2x.png │ │ │ ├── icn_back_white@3x.png │ │ │ ├── icn_light@2x.png │ │ │ ├── icn_light@3x.png │ │ │ ├── icn_light_s@2x.png │ │ │ ├── icn_light_s@3x.png │ │ │ ├── qrcode_scan_full_net.png │ │ │ └── qrcode_scan_part_net.png │ ├── IDToast │ │ ├── Components │ │ │ ├── IDImageToast.swift │ │ │ ├── IDTextToast.swift │ │ │ ├── IDToast.swift │ │ │ ├── IDToastManager.swift │ │ │ └── IDToastUtils.swift │ │ └── Images │ │ │ ├── ic_toast_success.png │ │ │ ├── ic_toast_success@2x.png │ │ │ ├── ic_toast_success@3x.png │ │ │ ├── icn_icn_fail.png │ │ │ ├── icn_icn_fail@2x.png │ │ │ ├── icn_icn_fail@3x.png │ │ │ ├── icon_sign.png │ │ │ ├── icon_sign@2x.png │ │ │ └── icon_sign@3x.png │ ├── IDUIKit │ │ ├── Components │ │ │ ├── IDButton │ │ │ │ └── IDButton.swift │ │ │ ├── IDImage │ │ │ │ └── IDImage.swift │ │ │ ├── IDLabel │ │ │ │ └── IDLabel.swift │ │ │ ├── IDPopView │ │ │ │ └── IDPopView.swift │ │ │ ├── IDProgressView │ │ │ │ ├── IDProgressCircleView.swift │ │ │ │ └── IDProgressView.swift │ │ │ ├── IDSearchBar │ │ │ │ └── IDSearchBar.swift │ │ │ ├── IDSegmentedControl │ │ │ │ ├── IDSegmentedControl.swift │ │ │ │ └── IDSelectView.swift │ │ │ ├── IDSwitch │ │ │ │ └── IDSwitch.swift │ │ │ ├── IDTextField │ │ │ │ └── IDTextField.swift │ │ │ ├── IDTextView │ │ │ │ └── IDTextView.swift │ │ │ └── IDView │ │ │ │ └── IDView.swift │ │ └── Images │ │ │ ├── ic_ssearch@2x.png │ │ │ └── ic_ssearch@3x.png │ ├── IDUtils │ │ ├── IDArrayExtension.swift │ │ ├── IDColorExtension.swift │ │ ├── IDDateExtension.swift │ │ ├── IDDeviceExtension.swift │ │ ├── IDPlistUtils.swift │ │ ├── IDStringExtension.swift │ │ ├── IDUIViewExtension.swift │ │ ├── IDUrlExtension.swift │ │ └── IDViewControllerExtension.swift │ ├── IDealistConfig.swift │ └── Utils │ │ ├── BundleUtil.swift │ │ ├── LimitsTools.swift │ │ └── ScreenTools.swift ├── Info.plist └── ViewController.swift ├── Podfile ├── Podfile.lock ├── Pods ├── JXSegmentedView │ ├── LICENSE │ ├── README-English.md │ └── Sources │ │ ├── AttributeTitle │ │ ├── JXSegmentedTitleAttributeCell.swift │ │ ├── JXSegmentedTitleAttributeDataSource.swift │ │ └── JXSegmentedTitleAttributeItemModel.swift │ │ ├── Common │ │ ├── JXSegmentedAnimator.swift │ │ ├── JXSegmentedListContainerView.swift │ │ └── JXSegmentedViewTool.swift │ │ ├── Core │ │ ├── JXSegmentedBaseCell.swift │ │ ├── JXSegmentedBaseDataSource.swift │ │ ├── JXSegmentedBaseItemModel.swift │ │ ├── JXSegmentedCollectionView.swift │ │ └── JXSegmentedView.swift │ │ ├── Dot │ │ ├── JXSegmentedDotCell.swift │ │ ├── JXSegmentedDotDataSource.swift │ │ └── JXSegmentedDotItemModel.swift │ │ ├── Indicator │ │ ├── JXSegmentedComponetGradientView.swift │ │ ├── JXSegmentedIndicatorBackgroundView.swift │ │ ├── JXSegmentedIndicatorBaseView.swift │ │ ├── JXSegmentedIndicatorDotLineView.swift │ │ ├── JXSegmentedIndicatorDoubleLineView.swift │ │ ├── JXSegmentedIndicatorGradientView.swift │ │ ├── JXSegmentedIndicatorImageView.swift │ │ ├── JXSegmentedIndicatorLineView.swift │ │ ├── JXSegmentedIndicatorParamsModel.swift │ │ ├── JXSegmentedIndicatorProtocol.swift │ │ ├── JXSegmentedIndicatorRainbowLineView.swift │ │ └── JXSegmentedIndicatorTriangleView.swift │ │ ├── Number │ │ ├── JXSegmentedNumberCell.swift │ │ ├── JXSegmentedNumberDataSource.swift │ │ └── JXSegmentedNumberItemModel.swift │ │ ├── Title │ │ ├── JXSegmentedTitleCell.swift │ │ ├── JXSegmentedTitleDataSource.swift │ │ └── JXSegmentedTitleItemModel.swift │ │ ├── TitleGradient │ │ ├── JXSegmentedTitleGradientCell.swift │ │ ├── JXSegmentedTitleGradientDataSource.swift │ │ └── JXSegmentedTitleGradientItemModel.swift │ │ ├── TitleImage │ │ ├── JXSegmentedTitleImageCell.swift │ │ ├── JXSegmentedTitleImageDataSource.swift │ │ └── JXSegmentedTitleImageItemModel.swift │ │ └── TitleOrImage │ │ ├── JXSegmentedTitleOrImageCell.swift │ │ ├── JXSegmentedTitleOrImageDataSource.swift │ │ └── JXSegmentedTitleOrImageItemModel.swift ├── Manifest.lock ├── Pods.xcodeproj │ ├── project.pbxproj │ └── xcuserdata │ │ └── darren.xcuserdatad │ │ └── xcschemes │ │ ├── JXSegmentedView.xcscheme │ │ ├── Pods-IDealist.xcscheme │ │ ├── SnapKit.xcscheme │ │ └── xcschememanagement.plist ├── SnapKit │ ├── LICENSE │ ├── README.md │ └── Source │ │ ├── Constraint.swift │ │ ├── ConstraintAttributes.swift │ │ ├── ConstraintConfig.swift │ │ ├── ConstraintConstantTarget.swift │ │ ├── ConstraintDSL.swift │ │ ├── ConstraintDescription.swift │ │ ├── ConstraintInsetTarget.swift │ │ ├── ConstraintInsets.swift │ │ ├── ConstraintItem.swift │ │ ├── ConstraintLayoutGuide+Extensions.swift │ │ ├── ConstraintLayoutGuide.swift │ │ ├── ConstraintLayoutGuideDSL.swift │ │ ├── ConstraintLayoutSupport.swift │ │ ├── ConstraintLayoutSupportDSL.swift │ │ ├── ConstraintMaker.swift │ │ ├── ConstraintMakerEditable.swift │ │ ├── ConstraintMakerExtendable.swift │ │ ├── ConstraintMakerFinalizable.swift │ │ ├── ConstraintMakerPriortizable.swift │ │ ├── ConstraintMakerRelatable.swift │ │ ├── ConstraintMultiplierTarget.swift │ │ ├── ConstraintOffsetTarget.swift │ │ ├── ConstraintPriority.swift │ │ ├── ConstraintPriorityTarget.swift │ │ ├── ConstraintRelatableTarget.swift │ │ ├── ConstraintRelation.swift │ │ ├── ConstraintView+Extensions.swift │ │ ├── ConstraintView.swift │ │ ├── ConstraintViewDSL.swift │ │ ├── Debugging.swift │ │ ├── LayoutConstraint.swift │ │ ├── LayoutConstraintItem.swift │ │ ├── Typealiases.swift │ │ └── UILayoutSupport+Extensions.swift └── Target Support Files │ ├── JXSegmentedView │ ├── Info.plist │ ├── JXSegmentedView-dummy.m │ ├── JXSegmentedView-prefix.pch │ ├── JXSegmentedView-umbrella.h │ ├── JXSegmentedView.modulemap │ └── JXSegmentedView.xcconfig │ ├── Pods-IDealist │ ├── Info.plist │ ├── Pods-IDealist-acknowledgements.markdown │ ├── Pods-IDealist-acknowledgements.plist │ ├── Pods-IDealist-dummy.m │ ├── Pods-IDealist-frameworks.sh │ ├── Pods-IDealist-resources.sh │ ├── Pods-IDealist-umbrella.h │ ├── Pods-IDealist.debug.xcconfig │ ├── Pods-IDealist.modulemap │ └── Pods-IDealist.release.xcconfig │ └── SnapKit │ ├── Info.plist │ ├── SnapKit-dummy.m │ ├── SnapKit-prefix.pch │ ├── SnapKit-umbrella.h │ ├── SnapKit.modulemap │ └── SnapKit.xcconfig ├── README.md └── screenShot ├── 屏幕快照 2019-02-25 下午4.44.26.png ├── 屏幕快照 2019-02-25 下午4.44.39.png ├── 屏幕快照 2019-02-25 下午4.44.50.png ├── 屏幕快照 2019-02-25 下午4.45.19.png ├── 屏幕快照 2019-02-26 上午11.32.45.png ├── 屏幕快照 2019-02-26 上午11.32.53.png ├── 屏幕快照 2019-02-26 上午11.33.00.png ├── 屏幕快照 2019-02-26 上午11.33.07.png ├── 屏幕快照 2019-02-26 上午11.33.21.png ├── 屏幕快照 2019-02-26 上午11.33.38.png ├── 屏幕快照 2019-02-26 上午11.33.53.png ├── 屏幕快照 2019-02-26 上午11.34.09.png ├── 屏幕快照 2019-02-26 上午11.34.29.png ├── 屏幕快照 2019-02-26 上午11.40.21.png ├── 屏幕快照 2019-02-26 上午11.40.37.png ├── 屏幕快照 2019-02-26 上午11.40.50.png ├── 屏幕快照 2019-02-26 上午11.41.01.png ├── 屏幕快照 2019-02-26 上午11.41.10.png └── 屏幕快照 2019-02-26 上午11.41.22.png /IDealist.podspec: -------------------------------------------------------------------------------- 1 | Pod::Spec.new do |s| 2 | s.name = 'IDealist' 3 | s.version = '0.0.9' 4 | s.swift_version = '4.2' 5 | s.license = 'MIT' 6 | s.summary = 'This is a IOS Components' 7 | s.homepage = 'https://github.com/Darren-chenchen/IDealist.git' 8 | s.authors = { 'chenliang' => '1597887620@qq.com' } 9 | s.source = { :git => 'https://github.com/Darren-chenchen/IDealist.git', :tag => s.version.to_s } 10 | 11 | s.public_header_files = 'IDealist/IDealist/IDScanCode/**/*.h' 12 | 13 | s.requires_arc = true 14 | 15 | s.ios.deployment_target = '8.0' 16 | 17 | s.source_files = ['IDealist/IDealist/**/*.swift', 'IDealist/IDealist/IDScanCode/Components/*.{h,m}'] 18 | 19 | s.resource_bundles = { 20 | 'IDealist' => ['IDealist/IDealist/IDUIKit/Images/**/*.png', 21 | 'IDealist/IDealist/IDToast/Images/**/*.png', 22 | 'IDealist/IDealist/IDDialog/Images/**/*.png', 23 | 'IDealist/IDealist/IDScanCode/Images/**/*.png', 24 | 'IDealist/IDealist/IDLoading/Images/**/*.png', 25 | 'IDealist/IDealist/IDImagePicker/Images/**/*.png', 26 | 'IDealist/IDealist/IDEmptyView/Images/**/*.png', 27 | 'IDealist/IDealist/IDBaseController/Images/**/*.png', 28 | 'IDealist/IDealist/IDScanCode/**/*.{xib}', 29 | 'IDealist/IDealist/IDImagePicker/**/*.{xib,storyboard}', 30 | 'IDealist/IDealist/IDImagePicker/**/*.{lproj,strings}'] 31 | } 32 | 33 | s.dependency 'JXSegmentedView', '0.0.4' 34 | 35 | end 36 | -------------------------------------------------------------------------------- /IDealist.xcodeproj/project.xcworkspace/contents.xcworkspacedata: -------------------------------------------------------------------------------- 1 | 2 | 4 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /IDealist.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | IDEDidComputeMac32BitWarning 6 | 7 | 8 | 9 | -------------------------------------------------------------------------------- /IDealist.xcodeproj/project.xcworkspace/xcuserdata/darren.xcuserdatad/UserInterfaceState.xcuserstate: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Darren-chenchen/IDealist/341a4728cd601d80c4cd7a9e6be45fc7087c1f7a/IDealist.xcodeproj/project.xcworkspace/xcuserdata/darren.xcuserdatad/UserInterfaceState.xcuserstate -------------------------------------------------------------------------------- /IDealist.xcodeproj/xcuserdata/darren.xcuserdatad/xcschemes/xcschememanagement.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | SchemeUserState 6 | 7 | IDealist.xcscheme_^#shared#^_ 8 | 9 | orderHint 10 | 3 11 | 12 | 13 | 14 | 15 | -------------------------------------------------------------------------------- /IDealist.xcworkspace/contents.xcworkspacedata: -------------------------------------------------------------------------------- 1 | 2 | 4 | 6 | 7 | 9 | 10 | 11 | -------------------------------------------------------------------------------- /IDealist.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | IDEDidComputeMac32BitWarning 6 | 7 | 8 | 9 | -------------------------------------------------------------------------------- /IDealist.xcworkspace/xcuserdata/darren.xcuserdatad/UserInterfaceState.xcuserstate: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Darren-chenchen/IDealist/341a4728cd601d80c4cd7a9e6be45fc7087c1f7a/IDealist.xcworkspace/xcuserdata/darren.xcuserdatad/UserInterfaceState.xcuserstate -------------------------------------------------------------------------------- /IDealist.xcworkspace/xcuserdata/darren.xcuserdatad/xcdebugger/Breakpoints_v2.xcbkptlist: -------------------------------------------------------------------------------- 1 | 2 | 5 | 6 | -------------------------------------------------------------------------------- /IDealist/Assets.xcassets/AppIcon.appiconset/Icon-60.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Darren-chenchen/IDealist/341a4728cd601d80c4cd7a9e6be45fc7087c1f7a/IDealist/Assets.xcassets/AppIcon.appiconset/Icon-60.png -------------------------------------------------------------------------------- /IDealist/Assets.xcassets/AppIcon.appiconset/Icon-60@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Darren-chenchen/IDealist/341a4728cd601d80c4cd7a9e6be45fc7087c1f7a/IDealist/Assets.xcassets/AppIcon.appiconset/Icon-60@2x.png -------------------------------------------------------------------------------- /IDealist/Assets.xcassets/AppIcon.appiconset/Icon-60@3x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Darren-chenchen/IDealist/341a4728cd601d80c4cd7a9e6be45fc7087c1f7a/IDealist/Assets.xcassets/AppIcon.appiconset/Icon-60@3x.png -------------------------------------------------------------------------------- /IDealist/Assets.xcassets/AppIcon.appiconset/Icon-Small.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Darren-chenchen/IDealist/341a4728cd601d80c4cd7a9e6be45fc7087c1f7a/IDealist/Assets.xcassets/AppIcon.appiconset/Icon-Small.png -------------------------------------------------------------------------------- /IDealist/Assets.xcassets/AppIcon.appiconset/Icon-Small@2x-1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Darren-chenchen/IDealist/341a4728cd601d80c4cd7a9e6be45fc7087c1f7a/IDealist/Assets.xcassets/AppIcon.appiconset/Icon-Small@2x-1.png -------------------------------------------------------------------------------- /IDealist/Assets.xcassets/AppIcon.appiconset/Icon-Small@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Darren-chenchen/IDealist/341a4728cd601d80c4cd7a9e6be45fc7087c1f7a/IDealist/Assets.xcassets/AppIcon.appiconset/Icon-Small@2x.png -------------------------------------------------------------------------------- /IDealist/Assets.xcassets/AppIcon.appiconset/Icon-Small@3x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Darren-chenchen/IDealist/341a4728cd601d80c4cd7a9e6be45fc7087c1f7a/IDealist/Assets.xcassets/AppIcon.appiconset/Icon-Small@3x.png -------------------------------------------------------------------------------- /IDealist/Assets.xcassets/AppIcon.appiconset/Icon-Spotlight-40.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Darren-chenchen/IDealist/341a4728cd601d80c4cd7a9e6be45fc7087c1f7a/IDealist/Assets.xcassets/AppIcon.appiconset/Icon-Spotlight-40.png -------------------------------------------------------------------------------- /IDealist/Assets.xcassets/AppIcon.appiconset/Icon-Spotlight-40@2x-1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Darren-chenchen/IDealist/341a4728cd601d80c4cd7a9e6be45fc7087c1f7a/IDealist/Assets.xcassets/AppIcon.appiconset/Icon-Spotlight-40@2x-1.png -------------------------------------------------------------------------------- /IDealist/Assets.xcassets/AppIcon.appiconset/Icon-Spotlight-40@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Darren-chenchen/IDealist/341a4728cd601d80c4cd7a9e6be45fc7087c1f7a/IDealist/Assets.xcassets/AppIcon.appiconset/Icon-Spotlight-40@2x.png -------------------------------------------------------------------------------- /IDealist/Assets.xcassets/AppIcon.appiconset/Icon-Spotlight-40@3x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Darren-chenchen/IDealist/341a4728cd601d80c4cd7a9e6be45fc7087c1f7a/IDealist/Assets.xcassets/AppIcon.appiconset/Icon-Spotlight-40@3x.png -------------------------------------------------------------------------------- /IDealist/Assets.xcassets/AppIcon.appiconset/Icon-Spotlight-41.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Darren-chenchen/IDealist/341a4728cd601d80c4cd7a9e6be45fc7087c1f7a/IDealist/Assets.xcassets/AppIcon.appiconset/Icon-Spotlight-41.png -------------------------------------------------------------------------------- /IDealist/Assets.xcassets/AppIcon.appiconset/id_logo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Darren-chenchen/IDealist/341a4728cd601d80c4cd7a9e6be45fc7087c1f7a/IDealist/Assets.xcassets/AppIcon.appiconset/id_logo.png -------------------------------------------------------------------------------- /IDealist/Assets.xcassets/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "info" : { 3 | "version" : 1, 4 | "author" : "xcode" 5 | } 6 | } -------------------------------------------------------------------------------- /IDealist/Assets.xcassets/basevc.imageset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "idiom" : "universal", 5 | "filename" : "basevc.png", 6 | "scale" : "1x" 7 | }, 8 | { 9 | "idiom" : "universal", 10 | "scale" : "2x" 11 | }, 12 | { 13 | "idiom" : "universal", 14 | "scale" : "3x" 15 | } 16 | ], 17 | "info" : { 18 | "version" : 1, 19 | "author" : "xcode" 20 | } 21 | } -------------------------------------------------------------------------------- /IDealist/Assets.xcassets/basevc.imageset/basevc.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Darren-chenchen/IDealist/341a4728cd601d80c4cd7a9e6be45fc7087c1f7a/IDealist/Assets.xcassets/basevc.imageset/basevc.png -------------------------------------------------------------------------------- /IDealist/Assets.xcassets/cutting_ic_flashlight_off1.imageset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "idiom" : "universal", 5 | "filename" : "cutting_ic_flashlight_off1.png", 6 | "scale" : "1x" 7 | }, 8 | { 9 | "idiom" : "universal", 10 | "filename" : "cutting_ic_flashlight_off1@2x.png", 11 | "scale" : "2x" 12 | }, 13 | { 14 | "idiom" : "universal", 15 | "filename" : "cutting_ic_flashlight_off1@3x.png", 16 | "scale" : "3x" 17 | } 18 | ], 19 | "info" : { 20 | "version" : 1, 21 | "author" : "xcode" 22 | } 23 | } -------------------------------------------------------------------------------- /IDealist/Assets.xcassets/cutting_ic_flashlight_off1.imageset/cutting_ic_flashlight_off1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Darren-chenchen/IDealist/341a4728cd601d80c4cd7a9e6be45fc7087c1f7a/IDealist/Assets.xcassets/cutting_ic_flashlight_off1.imageset/cutting_ic_flashlight_off1.png -------------------------------------------------------------------------------- /IDealist/Assets.xcassets/cutting_ic_flashlight_off1.imageset/cutting_ic_flashlight_off1@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Darren-chenchen/IDealist/341a4728cd601d80c4cd7a9e6be45fc7087c1f7a/IDealist/Assets.xcassets/cutting_ic_flashlight_off1.imageset/cutting_ic_flashlight_off1@2x.png -------------------------------------------------------------------------------- /IDealist/Assets.xcassets/cutting_ic_flashlight_off1.imageset/cutting_ic_flashlight_off1@3x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Darren-chenchen/IDealist/341a4728cd601d80c4cd7a9e6be45fc7087c1f7a/IDealist/Assets.xcassets/cutting_ic_flashlight_off1.imageset/cutting_ic_flashlight_off1@3x.png -------------------------------------------------------------------------------- /IDealist/Assets.xcassets/ic_back_grey.imageset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "idiom" : "universal", 5 | "scale" : "1x" 6 | }, 7 | { 8 | "idiom" : "universal", 9 | "filename" : "ic_back_grey@2x.png", 10 | "scale" : "2x" 11 | }, 12 | { 13 | "idiom" : "universal", 14 | "filename" : "ic_back_grey@3x.png", 15 | "scale" : "3x" 16 | } 17 | ], 18 | "info" : { 19 | "version" : 1, 20 | "author" : "xcode" 21 | } 22 | } -------------------------------------------------------------------------------- /IDealist/Assets.xcassets/ic_back_grey.imageset/ic_back_grey@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Darren-chenchen/IDealist/341a4728cd601d80c4cd7a9e6be45fc7087c1f7a/IDealist/Assets.xcassets/ic_back_grey.imageset/ic_back_grey@2x.png -------------------------------------------------------------------------------- /IDealist/Assets.xcassets/ic_back_grey.imageset/ic_back_grey@3x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Darren-chenchen/IDealist/341a4728cd601d80c4cd7a9e6be45fc7087c1f7a/IDealist/Assets.xcassets/ic_back_grey.imageset/ic_back_grey@3x.png -------------------------------------------------------------------------------- /IDealist/Assets.xcassets/ic_new.imageset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "idiom" : "universal", 5 | "filename" : "ic_new.png", 6 | "scale" : "1x" 7 | }, 8 | { 9 | "idiom" : "universal", 10 | "filename" : "ic_new@2x.png", 11 | "scale" : "2x" 12 | }, 13 | { 14 | "idiom" : "universal", 15 | "filename" : "ic_new@3x.png", 16 | "scale" : "3x" 17 | } 18 | ], 19 | "info" : { 20 | "version" : 1, 21 | "author" : "xcode" 22 | } 23 | } -------------------------------------------------------------------------------- /IDealist/Assets.xcassets/ic_new.imageset/ic_new.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Darren-chenchen/IDealist/341a4728cd601d80c4cd7a9e6be45fc7087c1f7a/IDealist/Assets.xcassets/ic_new.imageset/ic_new.png -------------------------------------------------------------------------------- /IDealist/Assets.xcassets/ic_new.imageset/ic_new@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Darren-chenchen/IDealist/341a4728cd601d80c4cd7a9e6be45fc7087c1f7a/IDealist/Assets.xcassets/ic_new.imageset/ic_new@2x.png -------------------------------------------------------------------------------- /IDealist/Assets.xcassets/ic_new.imageset/ic_new@3x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Darren-chenchen/IDealist/341a4728cd601d80c4cd7a9e6be45fc7087c1f7a/IDealist/Assets.xcassets/ic_new.imageset/ic_new@3x.png -------------------------------------------------------------------------------- /IDealist/Assets.xcassets/icn_icn_more.imageset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "idiom" : "universal", 5 | "filename" : "icn_icn_more.png", 6 | "scale" : "1x" 7 | }, 8 | { 9 | "idiom" : "universal", 10 | "filename" : "icn_icn_more@2x.png", 11 | "scale" : "2x" 12 | }, 13 | { 14 | "idiom" : "universal", 15 | "filename" : "icn_icn_more@3x.png", 16 | "scale" : "3x" 17 | } 18 | ], 19 | "info" : { 20 | "version" : 1, 21 | "author" : "xcode" 22 | } 23 | } -------------------------------------------------------------------------------- /IDealist/Assets.xcassets/icn_icn_more.imageset/icn_icn_more.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Darren-chenchen/IDealist/341a4728cd601d80c4cd7a9e6be45fc7087c1f7a/IDealist/Assets.xcassets/icn_icn_more.imageset/icn_icn_more.png -------------------------------------------------------------------------------- /IDealist/Assets.xcassets/icn_icn_more.imageset/icn_icn_more@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Darren-chenchen/IDealist/341a4728cd601d80c4cd7a9e6be45fc7087c1f7a/IDealist/Assets.xcassets/icn_icn_more.imageset/icn_icn_more@2x.png -------------------------------------------------------------------------------- /IDealist/Assets.xcassets/icn_icn_more.imageset/icn_icn_more@3x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Darren-chenchen/IDealist/341a4728cd601d80c4cd7a9e6be45fc7087c1f7a/IDealist/Assets.xcassets/icn_icn_more.imageset/icn_icn_more@3x.png -------------------------------------------------------------------------------- /IDealist/Assets.xcassets/id_logo.imageset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "idiom" : "universal", 5 | "filename" : "id_logo.png", 6 | "scale" : "1x" 7 | }, 8 | { 9 | "idiom" : "universal", 10 | "scale" : "2x" 11 | }, 12 | { 13 | "idiom" : "universal", 14 | "scale" : "3x" 15 | } 16 | ], 17 | "info" : { 18 | "version" : 1, 19 | "author" : "xcode" 20 | } 21 | } -------------------------------------------------------------------------------- /IDealist/Assets.xcassets/id_logo.imageset/id_logo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Darren-chenchen/IDealist/341a4728cd601d80c4cd7a9e6be45fc7087c1f7a/IDealist/Assets.xcassets/id_logo.imageset/id_logo.png -------------------------------------------------------------------------------- /IDealist/Assets.xcassets/message_success.imageset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "idiom" : "universal", 5 | "filename" : "success.png", 6 | "scale" : "1x" 7 | }, 8 | { 9 | "idiom" : "universal", 10 | "scale" : "2x" 11 | }, 12 | { 13 | "idiom" : "universal", 14 | "scale" : "3x" 15 | } 16 | ], 17 | "info" : { 18 | "version" : 1, 19 | "author" : "xcode" 20 | } 21 | } -------------------------------------------------------------------------------- /IDealist/Assets.xcassets/message_success.imageset/success.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Darren-chenchen/IDealist/341a4728cd601d80c4cd7a9e6be45fc7087c1f7a/IDealist/Assets.xcassets/message_success.imageset/success.png -------------------------------------------------------------------------------- /IDealist/Assets.xcassets/takePicture.imageset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "idiom" : "universal", 5 | "filename" : "takePicture.png", 6 | "scale" : "1x" 7 | }, 8 | { 9 | "idiom" : "universal", 10 | "scale" : "2x" 11 | }, 12 | { 13 | "idiom" : "universal", 14 | "scale" : "3x" 15 | } 16 | ], 17 | "info" : { 18 | "version" : 1, 19 | "author" : "xcode" 20 | } 21 | } -------------------------------------------------------------------------------- /IDealist/Assets.xcassets/takePicture.imageset/takePicture.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Darren-chenchen/IDealist/341a4728cd601d80c4cd7a9e6be45fc7087c1f7a/IDealist/Assets.xcassets/takePicture.imageset/takePicture.png -------------------------------------------------------------------------------- /IDealist/Assets.xcassets/图标icon_slices/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "info" : { 3 | "version" : 1, 4 | "author" : "xcode" 5 | } 6 | } -------------------------------------------------------------------------------- /IDealist/Assets.xcassets/图标icon_slices/cutting_ic_right_white.imageset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "idiom" : "universal", 5 | "filename" : "cutting_ic_right_white.png", 6 | "scale" : "1x" 7 | }, 8 | { 9 | "idiom" : "universal", 10 | "filename" : "cutting_ic_right_white@2x.png", 11 | "scale" : "2x" 12 | }, 13 | { 14 | "idiom" : "universal", 15 | "filename" : "cutting_ic_right_white@3x.png", 16 | "scale" : "3x" 17 | } 18 | ], 19 | "info" : { 20 | "version" : 1, 21 | "author" : "xcode" 22 | } 23 | } -------------------------------------------------------------------------------- /IDealist/Assets.xcassets/图标icon_slices/cutting_ic_right_white.imageset/cutting_ic_right_white.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Darren-chenchen/IDealist/341a4728cd601d80c4cd7a9e6be45fc7087c1f7a/IDealist/Assets.xcassets/图标icon_slices/cutting_ic_right_white.imageset/cutting_ic_right_white.png -------------------------------------------------------------------------------- /IDealist/Assets.xcassets/图标icon_slices/cutting_ic_right_white.imageset/cutting_ic_right_white@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Darren-chenchen/IDealist/341a4728cd601d80c4cd7a9e6be45fc7087c1f7a/IDealist/Assets.xcassets/图标icon_slices/cutting_ic_right_white.imageset/cutting_ic_right_white@2x.png -------------------------------------------------------------------------------- /IDealist/Assets.xcassets/图标icon_slices/cutting_ic_right_white.imageset/cutting_ic_right_white@3x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Darren-chenchen/IDealist/341a4728cd601d80c4cd7a9e6be45fc7087c1f7a/IDealist/Assets.xcassets/图标icon_slices/cutting_ic_right_white.imageset/cutting_ic_right_white@3x.png -------------------------------------------------------------------------------- /IDealist/Assets.xcassets/图标icon_slices/icn_color_icn_components.imageset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "idiom" : "universal", 5 | "filename" : "icn_color_icn_components.png", 6 | "scale" : "1x" 7 | }, 8 | { 9 | "idiom" : "universal", 10 | "filename" : "icn_color_icn_components@2x.png", 11 | "scale" : "2x" 12 | }, 13 | { 14 | "idiom" : "universal", 15 | "filename" : "icn_color_icn_components@3x.png", 16 | "scale" : "3x" 17 | } 18 | ], 19 | "info" : { 20 | "version" : 1, 21 | "author" : "xcode" 22 | } 23 | } -------------------------------------------------------------------------------- /IDealist/Assets.xcassets/图标icon_slices/icn_color_icn_components.imageset/icn_color_icn_components.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Darren-chenchen/IDealist/341a4728cd601d80c4cd7a9e6be45fc7087c1f7a/IDealist/Assets.xcassets/图标icon_slices/icn_color_icn_components.imageset/icn_color_icn_components.png -------------------------------------------------------------------------------- /IDealist/Assets.xcassets/图标icon_slices/icn_color_icn_components.imageset/icn_color_icn_components@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Darren-chenchen/IDealist/341a4728cd601d80c4cd7a9e6be45fc7087c1f7a/IDealist/Assets.xcassets/图标icon_slices/icn_color_icn_components.imageset/icn_color_icn_components@2x.png -------------------------------------------------------------------------------- /IDealist/Assets.xcassets/图标icon_slices/icn_color_icn_components.imageset/icn_color_icn_components@3x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Darren-chenchen/IDealist/341a4728cd601d80c4cd7a9e6be45fc7087c1f7a/IDealist/Assets.xcassets/图标icon_slices/icn_color_icn_components.imageset/icn_color_icn_components@3x.png -------------------------------------------------------------------------------- /IDealist/Assets.xcassets/图标icon_slices/icn_color_icn_uikit.imageset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "idiom" : "universal", 5 | "filename" : "icn_color_icn_uikit.png", 6 | "scale" : "1x" 7 | }, 8 | { 9 | "idiom" : "universal", 10 | "filename" : "icn_color_icn_uikit@2x.png", 11 | "scale" : "2x" 12 | }, 13 | { 14 | "idiom" : "universal", 15 | "filename" : "icn_color_icn_uikit@3x.png", 16 | "scale" : "3x" 17 | } 18 | ], 19 | "info" : { 20 | "version" : 1, 21 | "author" : "xcode" 22 | } 23 | } -------------------------------------------------------------------------------- /IDealist/Assets.xcassets/图标icon_slices/icn_color_icn_uikit.imageset/icn_color_icn_uikit.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Darren-chenchen/IDealist/341a4728cd601d80c4cd7a9e6be45fc7087c1f7a/IDealist/Assets.xcassets/图标icon_slices/icn_color_icn_uikit.imageset/icn_color_icn_uikit.png -------------------------------------------------------------------------------- /IDealist/Assets.xcassets/图标icon_slices/icn_color_icn_uikit.imageset/icn_color_icn_uikit@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Darren-chenchen/IDealist/341a4728cd601d80c4cd7a9e6be45fc7087c1f7a/IDealist/Assets.xcassets/图标icon_slices/icn_color_icn_uikit.imageset/icn_color_icn_uikit@2x.png -------------------------------------------------------------------------------- /IDealist/Assets.xcassets/图标icon_slices/icn_color_icn_uikit.imageset/icn_color_icn_uikit@3x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Darren-chenchen/IDealist/341a4728cd601d80c4cd7a9e6be45fc7087c1f7a/IDealist/Assets.xcassets/图标icon_slices/icn_color_icn_uikit.imageset/icn_color_icn_uikit@3x.png -------------------------------------------------------------------------------- /IDealist/Assets.xcassets/图标icon_slices/icn_color_icn_utils.imageset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "idiom" : "universal", 5 | "filename" : "icn_color_icn_utils.png", 6 | "scale" : "1x" 7 | }, 8 | { 9 | "idiom" : "universal", 10 | "filename" : "icn_color_icn_utils@2x.png", 11 | "scale" : "2x" 12 | }, 13 | { 14 | "idiom" : "universal", 15 | "filename" : "icn_color_icn_utils@3x.png", 16 | "scale" : "3x" 17 | } 18 | ], 19 | "info" : { 20 | "version" : 1, 21 | "author" : "xcode" 22 | } 23 | } -------------------------------------------------------------------------------- /IDealist/Assets.xcassets/图标icon_slices/icn_color_icn_utils.imageset/icn_color_icn_utils.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Darren-chenchen/IDealist/341a4728cd601d80c4cd7a9e6be45fc7087c1f7a/IDealist/Assets.xcassets/图标icon_slices/icn_color_icn_utils.imageset/icn_color_icn_utils.png -------------------------------------------------------------------------------- /IDealist/Assets.xcassets/图标icon_slices/icn_color_icn_utils.imageset/icn_color_icn_utils@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Darren-chenchen/IDealist/341a4728cd601d80c4cd7a9e6be45fc7087c1f7a/IDealist/Assets.xcassets/图标icon_slices/icn_color_icn_utils.imageset/icn_color_icn_utils@2x.png -------------------------------------------------------------------------------- /IDealist/Assets.xcassets/图标icon_slices/icn_color_icn_utils.imageset/icn_color_icn_utils@3x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Darren-chenchen/IDealist/341a4728cd601d80c4cd7a9e6be45fc7087c1f7a/IDealist/Assets.xcassets/图标icon_slices/icn_color_icn_utils.imageset/icn_color_icn_utils@3x.png -------------------------------------------------------------------------------- /IDealist/Assets.xcassets/图标icon_slices/icn_icn_button.imageset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "idiom" : "universal", 5 | "filename" : "icn_icn_button.png", 6 | "scale" : "1x" 7 | }, 8 | { 9 | "idiom" : "universal", 10 | "filename" : "icn_icn_button@2x.png", 11 | "scale" : "2x" 12 | }, 13 | { 14 | "idiom" : "universal", 15 | "filename" : "icn_icn_button@3x.png", 16 | "scale" : "3x" 17 | } 18 | ], 19 | "info" : { 20 | "version" : 1, 21 | "author" : "xcode" 22 | } 23 | } -------------------------------------------------------------------------------- /IDealist/Assets.xcassets/图标icon_slices/icn_icn_button.imageset/icn_icn_button.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Darren-chenchen/IDealist/341a4728cd601d80c4cd7a9e6be45fc7087c1f7a/IDealist/Assets.xcassets/图标icon_slices/icn_icn_button.imageset/icn_icn_button.png -------------------------------------------------------------------------------- /IDealist/Assets.xcassets/图标icon_slices/icn_icn_button.imageset/icn_icn_button@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Darren-chenchen/IDealist/341a4728cd601d80c4cd7a9e6be45fc7087c1f7a/IDealist/Assets.xcassets/图标icon_slices/icn_icn_button.imageset/icn_icn_button@2x.png -------------------------------------------------------------------------------- /IDealist/Assets.xcassets/图标icon_slices/icn_icn_button.imageset/icn_icn_button@3x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Darren-chenchen/IDealist/341a4728cd601d80c4cd7a9e6be45fc7087c1f7a/IDealist/Assets.xcassets/图标icon_slices/icn_icn_button.imageset/icn_icn_button@3x.png -------------------------------------------------------------------------------- /IDealist/Assets.xcassets/图标icon_slices/icn_icn_dialog.imageset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "idiom" : "universal", 5 | "filename" : "icn_icn_dialog.png", 6 | "scale" : "1x" 7 | }, 8 | { 9 | "idiom" : "universal", 10 | "filename" : "icn_icn_dialog@2x.png", 11 | "scale" : "2x" 12 | }, 13 | { 14 | "idiom" : "universal", 15 | "filename" : "icn_icn_dialog@3x.png", 16 | "scale" : "3x" 17 | } 18 | ], 19 | "info" : { 20 | "version" : 1, 21 | "author" : "xcode" 22 | } 23 | } -------------------------------------------------------------------------------- /IDealist/Assets.xcassets/图标icon_slices/icn_icn_dialog.imageset/icn_icn_dialog.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Darren-chenchen/IDealist/341a4728cd601d80c4cd7a9e6be45fc7087c1f7a/IDealist/Assets.xcassets/图标icon_slices/icn_icn_dialog.imageset/icn_icn_dialog.png -------------------------------------------------------------------------------- /IDealist/Assets.xcassets/图标icon_slices/icn_icn_dialog.imageset/icn_icn_dialog@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Darren-chenchen/IDealist/341a4728cd601d80c4cd7a9e6be45fc7087c1f7a/IDealist/Assets.xcassets/图标icon_slices/icn_icn_dialog.imageset/icn_icn_dialog@2x.png -------------------------------------------------------------------------------- /IDealist/Assets.xcassets/图标icon_slices/icn_icn_dialog.imageset/icn_icn_dialog@3x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Darren-chenchen/IDealist/341a4728cd601d80c4cd7a9e6be45fc7087c1f7a/IDealist/Assets.xcassets/图标icon_slices/icn_icn_dialog.imageset/icn_icn_dialog@3x.png -------------------------------------------------------------------------------- /IDealist/Assets.xcassets/图标icon_slices/icn_icn_emptyview.imageset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "idiom" : "universal", 5 | "filename" : "icn_icn_emptyview.png", 6 | "scale" : "1x" 7 | }, 8 | { 9 | "idiom" : "universal", 10 | "filename" : "icn_icn_emptyview@2x.png", 11 | "scale" : "2x" 12 | }, 13 | { 14 | "idiom" : "universal", 15 | "filename" : "icn_icn_emptyview@3x.png", 16 | "scale" : "3x" 17 | } 18 | ], 19 | "info" : { 20 | "version" : 1, 21 | "author" : "xcode" 22 | } 23 | } -------------------------------------------------------------------------------- /IDealist/Assets.xcassets/图标icon_slices/icn_icn_emptyview.imageset/icn_icn_emptyview.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Darren-chenchen/IDealist/341a4728cd601d80c4cd7a9e6be45fc7087c1f7a/IDealist/Assets.xcassets/图标icon_slices/icn_icn_emptyview.imageset/icn_icn_emptyview.png -------------------------------------------------------------------------------- /IDealist/Assets.xcassets/图标icon_slices/icn_icn_emptyview.imageset/icn_icn_emptyview@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Darren-chenchen/IDealist/341a4728cd601d80c4cd7a9e6be45fc7087c1f7a/IDealist/Assets.xcassets/图标icon_slices/icn_icn_emptyview.imageset/icn_icn_emptyview@2x.png -------------------------------------------------------------------------------- /IDealist/Assets.xcassets/图标icon_slices/icn_icn_emptyview.imageset/icn_icn_emptyview@3x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Darren-chenchen/IDealist/341a4728cd601d80c4cd7a9e6be45fc7087c1f7a/IDealist/Assets.xcassets/图标icon_slices/icn_icn_emptyview.imageset/icn_icn_emptyview@3x.png -------------------------------------------------------------------------------- /IDealist/Assets.xcassets/图标icon_slices/icn_icn_image.imageset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "idiom" : "universal", 5 | "filename" : "icn_icn_image.png", 6 | "scale" : "1x" 7 | }, 8 | { 9 | "idiom" : "universal", 10 | "filename" : "icn_icn_image@2x.png", 11 | "scale" : "2x" 12 | }, 13 | { 14 | "idiom" : "universal", 15 | "filename" : "icn_icn_image@3x.png", 16 | "scale" : "3x" 17 | } 18 | ], 19 | "info" : { 20 | "version" : 1, 21 | "author" : "xcode" 22 | } 23 | } -------------------------------------------------------------------------------- /IDealist/Assets.xcassets/图标icon_slices/icn_icn_image.imageset/icn_icn_image.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Darren-chenchen/IDealist/341a4728cd601d80c4cd7a9e6be45fc7087c1f7a/IDealist/Assets.xcassets/图标icon_slices/icn_icn_image.imageset/icn_icn_image.png -------------------------------------------------------------------------------- /IDealist/Assets.xcassets/图标icon_slices/icn_icn_image.imageset/icn_icn_image@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Darren-chenchen/IDealist/341a4728cd601d80c4cd7a9e6be45fc7087c1f7a/IDealist/Assets.xcassets/图标icon_slices/icn_icn_image.imageset/icn_icn_image@2x.png -------------------------------------------------------------------------------- /IDealist/Assets.xcassets/图标icon_slices/icn_icn_image.imageset/icn_icn_image@3x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Darren-chenchen/IDealist/341a4728cd601d80c4cd7a9e6be45fc7087c1f7a/IDealist/Assets.xcassets/图标icon_slices/icn_icn_image.imageset/icn_icn_image@3x.png -------------------------------------------------------------------------------- /IDealist/Assets.xcassets/图标icon_slices/icn_icn_imfomation.imageset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "idiom" : "universal", 5 | "filename" : "icn_icn_imfomation.png", 6 | "scale" : "1x" 7 | }, 8 | { 9 | "idiom" : "universal", 10 | "filename" : "icn_icn_imfomation@2x.png", 11 | "scale" : "2x" 12 | }, 13 | { 14 | "idiom" : "universal", 15 | "filename" : "icn_icn_imfomation@3x.png", 16 | "scale" : "3x" 17 | } 18 | ], 19 | "info" : { 20 | "version" : 1, 21 | "author" : "xcode" 22 | } 23 | } -------------------------------------------------------------------------------- /IDealist/Assets.xcassets/图标icon_slices/icn_icn_imfomation.imageset/icn_icn_imfomation.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Darren-chenchen/IDealist/341a4728cd601d80c4cd7a9e6be45fc7087c1f7a/IDealist/Assets.xcassets/图标icon_slices/icn_icn_imfomation.imageset/icn_icn_imfomation.png -------------------------------------------------------------------------------- /IDealist/Assets.xcassets/图标icon_slices/icn_icn_imfomation.imageset/icn_icn_imfomation@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Darren-chenchen/IDealist/341a4728cd601d80c4cd7a9e6be45fc7087c1f7a/IDealist/Assets.xcassets/图标icon_slices/icn_icn_imfomation.imageset/icn_icn_imfomation@2x.png -------------------------------------------------------------------------------- /IDealist/Assets.xcassets/图标icon_slices/icn_icn_imfomation.imageset/icn_icn_imfomation@3x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Darren-chenchen/IDealist/341a4728cd601d80c4cd7a9e6be45fc7087c1f7a/IDealist/Assets.xcassets/图标icon_slices/icn_icn_imfomation.imageset/icn_icn_imfomation@3x.png -------------------------------------------------------------------------------- /IDealist/Assets.xcassets/图标icon_slices/icn_icn_label.imageset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "idiom" : "universal", 5 | "filename" : "icn_icn_label.png", 6 | "scale" : "1x" 7 | }, 8 | { 9 | "idiom" : "universal", 10 | "filename" : "icn_icn_label@2x.png", 11 | "scale" : "2x" 12 | }, 13 | { 14 | "idiom" : "universal", 15 | "filename" : "icn_icn_label@3x.png", 16 | "scale" : "3x" 17 | } 18 | ], 19 | "info" : { 20 | "version" : 1, 21 | "author" : "xcode" 22 | } 23 | } -------------------------------------------------------------------------------- /IDealist/Assets.xcassets/图标icon_slices/icn_icn_label.imageset/icn_icn_label.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Darren-chenchen/IDealist/341a4728cd601d80c4cd7a9e6be45fc7087c1f7a/IDealist/Assets.xcassets/图标icon_slices/icn_icn_label.imageset/icn_icn_label.png -------------------------------------------------------------------------------- /IDealist/Assets.xcassets/图标icon_slices/icn_icn_label.imageset/icn_icn_label@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Darren-chenchen/IDealist/341a4728cd601d80c4cd7a9e6be45fc7087c1f7a/IDealist/Assets.xcassets/图标icon_slices/icn_icn_label.imageset/icn_icn_label@2x.png -------------------------------------------------------------------------------- /IDealist/Assets.xcassets/图标icon_slices/icn_icn_label.imageset/icn_icn_label@3x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Darren-chenchen/IDealist/341a4728cd601d80c4cd7a9e6be45fc7087c1f7a/IDealist/Assets.xcassets/图标icon_slices/icn_icn_label.imageset/icn_icn_label@3x.png -------------------------------------------------------------------------------- /IDealist/Assets.xcassets/图标icon_slices/icn_icn_loading.imageset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "idiom" : "universal", 5 | "filename" : "icn_icn_loading.png", 6 | "scale" : "1x" 7 | }, 8 | { 9 | "idiom" : "universal", 10 | "filename" : "icn_icn_loading@2x.png", 11 | "scale" : "2x" 12 | }, 13 | { 14 | "idiom" : "universal", 15 | "filename" : "icn_icn_loading@3x.png", 16 | "scale" : "3x" 17 | } 18 | ], 19 | "info" : { 20 | "version" : 1, 21 | "author" : "xcode" 22 | } 23 | } -------------------------------------------------------------------------------- /IDealist/Assets.xcassets/图标icon_slices/icn_icn_loading.imageset/icn_icn_loading.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Darren-chenchen/IDealist/341a4728cd601d80c4cd7a9e6be45fc7087c1f7a/IDealist/Assets.xcassets/图标icon_slices/icn_icn_loading.imageset/icn_icn_loading.png -------------------------------------------------------------------------------- /IDealist/Assets.xcassets/图标icon_slices/icn_icn_loading.imageset/icn_icn_loading@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Darren-chenchen/IDealist/341a4728cd601d80c4cd7a9e6be45fc7087c1f7a/IDealist/Assets.xcassets/图标icon_slices/icn_icn_loading.imageset/icn_icn_loading@2x.png -------------------------------------------------------------------------------- /IDealist/Assets.xcassets/图标icon_slices/icn_icn_loading.imageset/icn_icn_loading@3x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Darren-chenchen/IDealist/341a4728cd601d80c4cd7a9e6be45fc7087c1f7a/IDealist/Assets.xcassets/图标icon_slices/icn_icn_loading.imageset/icn_icn_loading@3x.png -------------------------------------------------------------------------------- /IDealist/Assets.xcassets/图标icon_slices/icn_icn_popview.imageset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "idiom" : "universal", 5 | "filename" : "icn_icn_popview.png", 6 | "scale" : "1x" 7 | }, 8 | { 9 | "idiom" : "universal", 10 | "filename" : "icn_icn_popview@2x.png", 11 | "scale" : "2x" 12 | }, 13 | { 14 | "idiom" : "universal", 15 | "filename" : "icn_icn_popview@3x.png", 16 | "scale" : "3x" 17 | } 18 | ], 19 | "info" : { 20 | "version" : 1, 21 | "author" : "xcode" 22 | } 23 | } -------------------------------------------------------------------------------- /IDealist/Assets.xcassets/图标icon_slices/icn_icn_popview.imageset/icn_icn_popview.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Darren-chenchen/IDealist/341a4728cd601d80c4cd7a9e6be45fc7087c1f7a/IDealist/Assets.xcassets/图标icon_slices/icn_icn_popview.imageset/icn_icn_popview.png -------------------------------------------------------------------------------- /IDealist/Assets.xcassets/图标icon_slices/icn_icn_popview.imageset/icn_icn_popview@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Darren-chenchen/IDealist/341a4728cd601d80c4cd7a9e6be45fc7087c1f7a/IDealist/Assets.xcassets/图标icon_slices/icn_icn_popview.imageset/icn_icn_popview@2x.png -------------------------------------------------------------------------------- /IDealist/Assets.xcassets/图标icon_slices/icn_icn_popview.imageset/icn_icn_popview@3x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Darren-chenchen/IDealist/341a4728cd601d80c4cd7a9e6be45fc7087c1f7a/IDealist/Assets.xcassets/图标icon_slices/icn_icn_popview.imageset/icn_icn_popview@3x.png -------------------------------------------------------------------------------- /IDealist/Assets.xcassets/图标icon_slices/icn_icn_progressview.imageset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "idiom" : "universal", 5 | "filename" : "icn_icn_progressview.png", 6 | "scale" : "1x" 7 | }, 8 | { 9 | "idiom" : "universal", 10 | "filename" : "icn_icn_progressview@2x.png", 11 | "scale" : "2x" 12 | }, 13 | { 14 | "idiom" : "universal", 15 | "filename" : "icn_icn_progressview@3x.png", 16 | "scale" : "3x" 17 | } 18 | ], 19 | "info" : { 20 | "version" : 1, 21 | "author" : "xcode" 22 | } 23 | } -------------------------------------------------------------------------------- /IDealist/Assets.xcassets/图标icon_slices/icn_icn_progressview.imageset/icn_icn_progressview.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Darren-chenchen/IDealist/341a4728cd601d80c4cd7a9e6be45fc7087c1f7a/IDealist/Assets.xcassets/图标icon_slices/icn_icn_progressview.imageset/icn_icn_progressview.png -------------------------------------------------------------------------------- /IDealist/Assets.xcassets/图标icon_slices/icn_icn_progressview.imageset/icn_icn_progressview@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Darren-chenchen/IDealist/341a4728cd601d80c4cd7a9e6be45fc7087c1f7a/IDealist/Assets.xcassets/图标icon_slices/icn_icn_progressview.imageset/icn_icn_progressview@2x.png -------------------------------------------------------------------------------- /IDealist/Assets.xcassets/图标icon_slices/icn_icn_progressview.imageset/icn_icn_progressview@3x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Darren-chenchen/IDealist/341a4728cd601d80c4cd7a9e6be45fc7087c1f7a/IDealist/Assets.xcassets/图标icon_slices/icn_icn_progressview.imageset/icn_icn_progressview@3x.png -------------------------------------------------------------------------------- /IDealist/Assets.xcassets/图标icon_slices/icn_icn_refresh.imageset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "idiom" : "universal", 5 | "filename" : "icn_icn_refresh.png", 6 | "scale" : "1x" 7 | }, 8 | { 9 | "idiom" : "universal", 10 | "filename" : "icn_icn_refresh@2x.png", 11 | "scale" : "2x" 12 | }, 13 | { 14 | "idiom" : "universal", 15 | "filename" : "icn_icn_refresh@3x.png", 16 | "scale" : "3x" 17 | } 18 | ], 19 | "info" : { 20 | "version" : 1, 21 | "author" : "xcode" 22 | } 23 | } -------------------------------------------------------------------------------- /IDealist/Assets.xcassets/图标icon_slices/icn_icn_refresh.imageset/icn_icn_refresh.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Darren-chenchen/IDealist/341a4728cd601d80c4cd7a9e6be45fc7087c1f7a/IDealist/Assets.xcassets/图标icon_slices/icn_icn_refresh.imageset/icn_icn_refresh.png -------------------------------------------------------------------------------- /IDealist/Assets.xcassets/图标icon_slices/icn_icn_refresh.imageset/icn_icn_refresh@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Darren-chenchen/IDealist/341a4728cd601d80c4cd7a9e6be45fc7087c1f7a/IDealist/Assets.xcassets/图标icon_slices/icn_icn_refresh.imageset/icn_icn_refresh@2x.png -------------------------------------------------------------------------------- /IDealist/Assets.xcassets/图标icon_slices/icn_icn_refresh.imageset/icn_icn_refresh@3x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Darren-chenchen/IDealist/341a4728cd601d80c4cd7a9e6be45fc7087c1f7a/IDealist/Assets.xcassets/图标icon_slices/icn_icn_refresh.imageset/icn_icn_refresh@3x.png -------------------------------------------------------------------------------- /IDealist/Assets.xcassets/图标icon_slices/icn_icn_scanning.imageset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "idiom" : "universal", 5 | "filename" : "icn_icn_scanning.png", 6 | "scale" : "1x" 7 | }, 8 | { 9 | "idiom" : "universal", 10 | "filename" : "icn_icn_scanning@2x.png", 11 | "scale" : "2x" 12 | }, 13 | { 14 | "idiom" : "universal", 15 | "filename" : "icn_icn_scanning@3x.png", 16 | "scale" : "3x" 17 | } 18 | ], 19 | "info" : { 20 | "version" : 1, 21 | "author" : "xcode" 22 | } 23 | } -------------------------------------------------------------------------------- /IDealist/Assets.xcassets/图标icon_slices/icn_icn_scanning.imageset/icn_icn_scanning.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Darren-chenchen/IDealist/341a4728cd601d80c4cd7a9e6be45fc7087c1f7a/IDealist/Assets.xcassets/图标icon_slices/icn_icn_scanning.imageset/icn_icn_scanning.png -------------------------------------------------------------------------------- /IDealist/Assets.xcassets/图标icon_slices/icn_icn_scanning.imageset/icn_icn_scanning@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Darren-chenchen/IDealist/341a4728cd601d80c4cd7a9e6be45fc7087c1f7a/IDealist/Assets.xcassets/图标icon_slices/icn_icn_scanning.imageset/icn_icn_scanning@2x.png -------------------------------------------------------------------------------- /IDealist/Assets.xcassets/图标icon_slices/icn_icn_scanning.imageset/icn_icn_scanning@3x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Darren-chenchen/IDealist/341a4728cd601d80c4cd7a9e6be45fc7087c1f7a/IDealist/Assets.xcassets/图标icon_slices/icn_icn_scanning.imageset/icn_icn_scanning@3x.png -------------------------------------------------------------------------------- /IDealist/Assets.xcassets/图标icon_slices/icn_icn_searchbar.imageset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "idiom" : "universal", 5 | "filename" : "icn_icn_searchbar.png", 6 | "scale" : "1x" 7 | }, 8 | { 9 | "idiom" : "universal", 10 | "filename" : "icn_icn_searchbar@2x.png", 11 | "scale" : "2x" 12 | }, 13 | { 14 | "idiom" : "universal", 15 | "filename" : "icn_icn_searchbar@3x.png", 16 | "scale" : "3x" 17 | } 18 | ], 19 | "info" : { 20 | "version" : 1, 21 | "author" : "xcode" 22 | } 23 | } -------------------------------------------------------------------------------- /IDealist/Assets.xcassets/图标icon_slices/icn_icn_searchbar.imageset/icn_icn_searchbar.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Darren-chenchen/IDealist/341a4728cd601d80c4cd7a9e6be45fc7087c1f7a/IDealist/Assets.xcassets/图标icon_slices/icn_icn_searchbar.imageset/icn_icn_searchbar.png -------------------------------------------------------------------------------- /IDealist/Assets.xcassets/图标icon_slices/icn_icn_searchbar.imageset/icn_icn_searchbar@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Darren-chenchen/IDealist/341a4728cd601d80c4cd7a9e6be45fc7087c1f7a/IDealist/Assets.xcassets/图标icon_slices/icn_icn_searchbar.imageset/icn_icn_searchbar@2x.png -------------------------------------------------------------------------------- /IDealist/Assets.xcassets/图标icon_slices/icn_icn_searchbar.imageset/icn_icn_searchbar@3x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Darren-chenchen/IDealist/341a4728cd601d80c4cd7a9e6be45fc7087c1f7a/IDealist/Assets.xcassets/图标icon_slices/icn_icn_searchbar.imageset/icn_icn_searchbar@3x.png -------------------------------------------------------------------------------- /IDealist/Assets.xcassets/图标icon_slices/icn_icn_segmentview.imageset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "idiom" : "universal", 5 | "filename" : "icn_icn_segmentview.png", 6 | "scale" : "1x" 7 | }, 8 | { 9 | "idiom" : "universal", 10 | "filename" : "icn_icn_segmentview@2x.png", 11 | "scale" : "2x" 12 | }, 13 | { 14 | "idiom" : "universal", 15 | "filename" : "icn_icn_segmentview@3x.png", 16 | "scale" : "3x" 17 | } 18 | ], 19 | "info" : { 20 | "version" : 1, 21 | "author" : "xcode" 22 | } 23 | } -------------------------------------------------------------------------------- /IDealist/Assets.xcassets/图标icon_slices/icn_icn_segmentview.imageset/icn_icn_segmentview.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Darren-chenchen/IDealist/341a4728cd601d80c4cd7a9e6be45fc7087c1f7a/IDealist/Assets.xcassets/图标icon_slices/icn_icn_segmentview.imageset/icn_icn_segmentview.png -------------------------------------------------------------------------------- /IDealist/Assets.xcassets/图标icon_slices/icn_icn_segmentview.imageset/icn_icn_segmentview@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Darren-chenchen/IDealist/341a4728cd601d80c4cd7a9e6be45fc7087c1f7a/IDealist/Assets.xcassets/图标icon_slices/icn_icn_segmentview.imageset/icn_icn_segmentview@2x.png -------------------------------------------------------------------------------- /IDealist/Assets.xcassets/图标icon_slices/icn_icn_segmentview.imageset/icn_icn_segmentview@3x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Darren-chenchen/IDealist/341a4728cd601d80c4cd7a9e6be45fc7087c1f7a/IDealist/Assets.xcassets/图标icon_slices/icn_icn_segmentview.imageset/icn_icn_segmentview@3x.png -------------------------------------------------------------------------------- /IDealist/Assets.xcassets/图标icon_slices/icn_icn_switch.imageset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "idiom" : "universal", 5 | "filename" : "icn_icn_switch.png", 6 | "scale" : "1x" 7 | }, 8 | { 9 | "idiom" : "universal", 10 | "filename" : "icn_icn_switch@2x.png", 11 | "scale" : "2x" 12 | }, 13 | { 14 | "idiom" : "universal", 15 | "filename" : "icn_icn_switch@3x.png", 16 | "scale" : "3x" 17 | } 18 | ], 19 | "info" : { 20 | "version" : 1, 21 | "author" : "xcode" 22 | } 23 | } -------------------------------------------------------------------------------- /IDealist/Assets.xcassets/图标icon_slices/icn_icn_switch.imageset/icn_icn_switch.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Darren-chenchen/IDealist/341a4728cd601d80c4cd7a9e6be45fc7087c1f7a/IDealist/Assets.xcassets/图标icon_slices/icn_icn_switch.imageset/icn_icn_switch.png -------------------------------------------------------------------------------- /IDealist/Assets.xcassets/图标icon_slices/icn_icn_switch.imageset/icn_icn_switch@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Darren-chenchen/IDealist/341a4728cd601d80c4cd7a9e6be45fc7087c1f7a/IDealist/Assets.xcassets/图标icon_slices/icn_icn_switch.imageset/icn_icn_switch@2x.png -------------------------------------------------------------------------------- /IDealist/Assets.xcassets/图标icon_slices/icn_icn_switch.imageset/icn_icn_switch@3x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Darren-chenchen/IDealist/341a4728cd601d80c4cd7a9e6be45fc7087c1f7a/IDealist/Assets.xcassets/图标icon_slices/icn_icn_switch.imageset/icn_icn_switch@3x.png -------------------------------------------------------------------------------- /IDealist/Assets.xcassets/图标icon_slices/icn_icn_textfield.imageset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "idiom" : "universal", 5 | "filename" : "icn_icn_textfield.png", 6 | "scale" : "1x" 7 | }, 8 | { 9 | "idiom" : "universal", 10 | "filename" : "icn_icn_textfield@2x.png", 11 | "scale" : "2x" 12 | }, 13 | { 14 | "idiom" : "universal", 15 | "filename" : "icn_icn_textfield@3x.png", 16 | "scale" : "3x" 17 | } 18 | ], 19 | "info" : { 20 | "version" : 1, 21 | "author" : "xcode" 22 | } 23 | } -------------------------------------------------------------------------------- /IDealist/Assets.xcassets/图标icon_slices/icn_icn_textfield.imageset/icn_icn_textfield.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Darren-chenchen/IDealist/341a4728cd601d80c4cd7a9e6be45fc7087c1f7a/IDealist/Assets.xcassets/图标icon_slices/icn_icn_textfield.imageset/icn_icn_textfield.png -------------------------------------------------------------------------------- /IDealist/Assets.xcassets/图标icon_slices/icn_icn_textfield.imageset/icn_icn_textfield@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Darren-chenchen/IDealist/341a4728cd601d80c4cd7a9e6be45fc7087c1f7a/IDealist/Assets.xcassets/图标icon_slices/icn_icn_textfield.imageset/icn_icn_textfield@2x.png -------------------------------------------------------------------------------- /IDealist/Assets.xcassets/图标icon_slices/icn_icn_textfield.imageset/icn_icn_textfield@3x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Darren-chenchen/IDealist/341a4728cd601d80c4cd7a9e6be45fc7087c1f7a/IDealist/Assets.xcassets/图标icon_slices/icn_icn_textfield.imageset/icn_icn_textfield@3x.png -------------------------------------------------------------------------------- /IDealist/Assets.xcassets/图标icon_slices/icn_icn_textview.imageset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "idiom" : "universal", 5 | "filename" : "icn_icn_textview.png", 6 | "scale" : "1x" 7 | }, 8 | { 9 | "idiom" : "universal", 10 | "filename" : "icn_icn_textview@2x.png", 11 | "scale" : "2x" 12 | }, 13 | { 14 | "idiom" : "universal", 15 | "filename" : "icn_icn_textview@3x.png", 16 | "scale" : "3x" 17 | } 18 | ], 19 | "info" : { 20 | "version" : 1, 21 | "author" : "xcode" 22 | } 23 | } -------------------------------------------------------------------------------- /IDealist/Assets.xcassets/图标icon_slices/icn_icn_textview.imageset/icn_icn_textview.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Darren-chenchen/IDealist/341a4728cd601d80c4cd7a9e6be45fc7087c1f7a/IDealist/Assets.xcassets/图标icon_slices/icn_icn_textview.imageset/icn_icn_textview.png -------------------------------------------------------------------------------- /IDealist/Assets.xcassets/图标icon_slices/icn_icn_textview.imageset/icn_icn_textview@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Darren-chenchen/IDealist/341a4728cd601d80c4cd7a9e6be45fc7087c1f7a/IDealist/Assets.xcassets/图标icon_slices/icn_icn_textview.imageset/icn_icn_textview@2x.png -------------------------------------------------------------------------------- /IDealist/Assets.xcassets/图标icon_slices/icn_icn_textview.imageset/icn_icn_textview@3x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Darren-chenchen/IDealist/341a4728cd601d80c4cd7a9e6be45fc7087c1f7a/IDealist/Assets.xcassets/图标icon_slices/icn_icn_textview.imageset/icn_icn_textview@3x.png -------------------------------------------------------------------------------- /IDealist/Assets.xcassets/图标icon_slices/icn_icn_toast.imageset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "idiom" : "universal", 5 | "filename" : "icn_icn_toast.png", 6 | "scale" : "1x" 7 | }, 8 | { 9 | "idiom" : "universal", 10 | "filename" : "icn_icn_toast@2x.png", 11 | "scale" : "2x" 12 | }, 13 | { 14 | "idiom" : "universal", 15 | "filename" : "icn_icn_toast@3x.png", 16 | "scale" : "3x" 17 | } 18 | ], 19 | "info" : { 20 | "version" : 1, 21 | "author" : "xcode" 22 | } 23 | } -------------------------------------------------------------------------------- /IDealist/Assets.xcassets/图标icon_slices/icn_icn_toast.imageset/icn_icn_toast.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Darren-chenchen/IDealist/341a4728cd601d80c4cd7a9e6be45fc7087c1f7a/IDealist/Assets.xcassets/图标icon_slices/icn_icn_toast.imageset/icn_icn_toast.png -------------------------------------------------------------------------------- /IDealist/Assets.xcassets/图标icon_slices/icn_icn_toast.imageset/icn_icn_toast@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Darren-chenchen/IDealist/341a4728cd601d80c4cd7a9e6be45fc7087c1f7a/IDealist/Assets.xcassets/图标icon_slices/icn_icn_toast.imageset/icn_icn_toast@2x.png -------------------------------------------------------------------------------- /IDealist/Assets.xcassets/图标icon_slices/icn_icn_toast.imageset/icn_icn_toast@3x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Darren-chenchen/IDealist/341a4728cd601d80c4cd7a9e6be45fc7087c1f7a/IDealist/Assets.xcassets/图标icon_slices/icn_icn_toast.imageset/icn_icn_toast@3x.png -------------------------------------------------------------------------------- /IDealist/Assets.xcassets/图标icon_slices/icn_icn_update.imageset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "idiom" : "universal", 5 | "filename" : "icn_icn_update.png", 6 | "scale" : "1x" 7 | }, 8 | { 9 | "idiom" : "universal", 10 | "filename" : "icn_icn_update@2x.png", 11 | "scale" : "2x" 12 | }, 13 | { 14 | "idiom" : "universal", 15 | "filename" : "icn_icn_update@3x.png", 16 | "scale" : "3x" 17 | } 18 | ], 19 | "info" : { 20 | "version" : 1, 21 | "author" : "xcode" 22 | } 23 | } -------------------------------------------------------------------------------- /IDealist/Assets.xcassets/图标icon_slices/icn_icn_update.imageset/icn_icn_update.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Darren-chenchen/IDealist/341a4728cd601d80c4cd7a9e6be45fc7087c1f7a/IDealist/Assets.xcassets/图标icon_slices/icn_icn_update.imageset/icn_icn_update.png -------------------------------------------------------------------------------- /IDealist/Assets.xcassets/图标icon_slices/icn_icn_update.imageset/icn_icn_update@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Darren-chenchen/IDealist/341a4728cd601d80c4cd7a9e6be45fc7087c1f7a/IDealist/Assets.xcassets/图标icon_slices/icn_icn_update.imageset/icn_icn_update@2x.png -------------------------------------------------------------------------------- /IDealist/Assets.xcassets/图标icon_slices/icn_icn_update.imageset/icn_icn_update@3x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Darren-chenchen/IDealist/341a4728cd601d80c4cd7a9e6be45fc7087c1f7a/IDealist/Assets.xcassets/图标icon_slices/icn_icn_update.imageset/icn_icn_update@3x.png -------------------------------------------------------------------------------- /IDealist/Assets.xcassets/图标icon_slices/icn_icn_view.imageset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "idiom" : "universal", 5 | "filename" : "icn_icn_view.png", 6 | "scale" : "1x" 7 | }, 8 | { 9 | "idiom" : "universal", 10 | "filename" : "icn_icn_view@2x.png", 11 | "scale" : "2x" 12 | }, 13 | { 14 | "idiom" : "universal", 15 | "filename" : "icn_icn_view@3x.png", 16 | "scale" : "3x" 17 | } 18 | ], 19 | "info" : { 20 | "version" : 1, 21 | "author" : "xcode" 22 | } 23 | } -------------------------------------------------------------------------------- /IDealist/Assets.xcassets/图标icon_slices/icn_icn_view.imageset/icn_icn_view.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Darren-chenchen/IDealist/341a4728cd601d80c4cd7a9e6be45fc7087c1f7a/IDealist/Assets.xcassets/图标icon_slices/icn_icn_view.imageset/icn_icn_view.png -------------------------------------------------------------------------------- /IDealist/Assets.xcassets/图标icon_slices/icn_icn_view.imageset/icn_icn_view@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Darren-chenchen/IDealist/341a4728cd601d80c4cd7a9e6be45fc7087c1f7a/IDealist/Assets.xcassets/图标icon_slices/icn_icn_view.imageset/icn_icn_view@2x.png -------------------------------------------------------------------------------- /IDealist/Assets.xcassets/图标icon_slices/icn_icn_view.imageset/icn_icn_view@3x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Darren-chenchen/IDealist/341a4728cd601d80c4cd7a9e6be45fc7087c1f7a/IDealist/Assets.xcassets/图标icon_slices/icn_icn_view.imageset/icn_icn_view@3x.png -------------------------------------------------------------------------------- /IDealist/Assets.xcassets/图标icon_slices/icn_nocolor_icn_components.imageset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "idiom" : "universal", 5 | "filename" : "icn_nocolor_icn_components.png", 6 | "scale" : "1x" 7 | }, 8 | { 9 | "idiom" : "universal", 10 | "filename" : "icn_nocolor_icn_components@2x.png", 11 | "scale" : "2x" 12 | }, 13 | { 14 | "idiom" : "universal", 15 | "filename" : "icn_nocolor_icn_components@3x.png", 16 | "scale" : "3x" 17 | } 18 | ], 19 | "info" : { 20 | "version" : 1, 21 | "author" : "xcode" 22 | } 23 | } -------------------------------------------------------------------------------- /IDealist/Assets.xcassets/图标icon_slices/icn_nocolor_icn_components.imageset/icn_nocolor_icn_components.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Darren-chenchen/IDealist/341a4728cd601d80c4cd7a9e6be45fc7087c1f7a/IDealist/Assets.xcassets/图标icon_slices/icn_nocolor_icn_components.imageset/icn_nocolor_icn_components.png -------------------------------------------------------------------------------- /IDealist/Assets.xcassets/图标icon_slices/icn_nocolor_icn_components.imageset/icn_nocolor_icn_components@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Darren-chenchen/IDealist/341a4728cd601d80c4cd7a9e6be45fc7087c1f7a/IDealist/Assets.xcassets/图标icon_slices/icn_nocolor_icn_components.imageset/icn_nocolor_icn_components@2x.png -------------------------------------------------------------------------------- /IDealist/Assets.xcassets/图标icon_slices/icn_nocolor_icn_components.imageset/icn_nocolor_icn_components@3x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Darren-chenchen/IDealist/341a4728cd601d80c4cd7a9e6be45fc7087c1f7a/IDealist/Assets.xcassets/图标icon_slices/icn_nocolor_icn_components.imageset/icn_nocolor_icn_components@3x.png -------------------------------------------------------------------------------- /IDealist/Assets.xcassets/图标icon_slices/icn_nocolor_icn_uikit.imageset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "idiom" : "universal", 5 | "filename" : "icn_nocolor_icn_uikit.png", 6 | "scale" : "1x" 7 | }, 8 | { 9 | "idiom" : "universal", 10 | "filename" : "icn_nocolor_icn_uikit@2x.png", 11 | "scale" : "2x" 12 | }, 13 | { 14 | "idiom" : "universal", 15 | "filename" : "icn_nocolor_icn_uikit@3x.png", 16 | "scale" : "3x" 17 | } 18 | ], 19 | "info" : { 20 | "version" : 1, 21 | "author" : "xcode" 22 | } 23 | } -------------------------------------------------------------------------------- /IDealist/Assets.xcassets/图标icon_slices/icn_nocolor_icn_uikit.imageset/icn_nocolor_icn_uikit.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Darren-chenchen/IDealist/341a4728cd601d80c4cd7a9e6be45fc7087c1f7a/IDealist/Assets.xcassets/图标icon_slices/icn_nocolor_icn_uikit.imageset/icn_nocolor_icn_uikit.png -------------------------------------------------------------------------------- /IDealist/Assets.xcassets/图标icon_slices/icn_nocolor_icn_uikit.imageset/icn_nocolor_icn_uikit@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Darren-chenchen/IDealist/341a4728cd601d80c4cd7a9e6be45fc7087c1f7a/IDealist/Assets.xcassets/图标icon_slices/icn_nocolor_icn_uikit.imageset/icn_nocolor_icn_uikit@2x.png -------------------------------------------------------------------------------- /IDealist/Assets.xcassets/图标icon_slices/icn_nocolor_icn_uikit.imageset/icn_nocolor_icn_uikit@3x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Darren-chenchen/IDealist/341a4728cd601d80c4cd7a9e6be45fc7087c1f7a/IDealist/Assets.xcassets/图标icon_slices/icn_nocolor_icn_uikit.imageset/icn_nocolor_icn_uikit@3x.png -------------------------------------------------------------------------------- /IDealist/Assets.xcassets/图标icon_slices/icn_nocolor_icn_utils.imageset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "idiom" : "universal", 5 | "filename" : "icn_nocolor_icn_utils.png", 6 | "scale" : "1x" 7 | }, 8 | { 9 | "idiom" : "universal", 10 | "filename" : "icn_nocolor_icn_utils@2x.png", 11 | "scale" : "2x" 12 | }, 13 | { 14 | "idiom" : "universal", 15 | "filename" : "icn_nocolor_icn_utils@3x.png", 16 | "scale" : "3x" 17 | } 18 | ], 19 | "info" : { 20 | "version" : 1, 21 | "author" : "xcode" 22 | } 23 | } -------------------------------------------------------------------------------- /IDealist/Assets.xcassets/图标icon_slices/icn_nocolor_icn_utils.imageset/icn_nocolor_icn_utils.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Darren-chenchen/IDealist/341a4728cd601d80c4cd7a9e6be45fc7087c1f7a/IDealist/Assets.xcassets/图标icon_slices/icn_nocolor_icn_utils.imageset/icn_nocolor_icn_utils.png -------------------------------------------------------------------------------- /IDealist/Assets.xcassets/图标icon_slices/icn_nocolor_icn_utils.imageset/icn_nocolor_icn_utils@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Darren-chenchen/IDealist/341a4728cd601d80c4cd7a9e6be45fc7087c1f7a/IDealist/Assets.xcassets/图标icon_slices/icn_nocolor_icn_utils.imageset/icn_nocolor_icn_utils@2x.png -------------------------------------------------------------------------------- /IDealist/Assets.xcassets/图标icon_slices/icn_nocolor_icn_utils.imageset/icn_nocolor_icn_utils@3x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Darren-chenchen/IDealist/341a4728cd601d80c4cd7a9e6be45fc7087c1f7a/IDealist/Assets.xcassets/图标icon_slices/icn_nocolor_icn_utils.imageset/icn_nocolor_icn_utils@3x.png -------------------------------------------------------------------------------- /IDealist/Demo/Home/View/ComponentCell.swift: -------------------------------------------------------------------------------- 1 | // 2 | // ComponentCell.swift 3 | // ideal 4 | // 5 | // Created by darren on 2018/8/21. 6 | // Copyright © 2018年 陈亮陈亮. All rights reserved. 7 | // 8 | 9 | import UIKit 10 | 11 | class ComponentCell: UICollectionViewCell { 12 | 13 | @IBOutlet weak var titleLabel: UILabel! 14 | @IBOutlet weak var iconView: UIImageView! 15 | override func awakeFromNib() { 16 | super.awakeFromNib() 17 | 18 | self.backgroundColor = UIColor.white 19 | } 20 | 21 | } 22 | -------------------------------------------------------------------------------- /IDealist/Demo/Home/View/HomeListCell.swift: -------------------------------------------------------------------------------- 1 | // 2 | // HomeListCell.swift 3 | // IdealDemo 4 | // 5 | // Created by darren on 2018/11/23. 6 | // Copyright © 2018年 陈亮陈亮. All rights reserved. 7 | // 8 | 9 | import UIKit 10 | 11 | class HomeListCell: UITableViewCell { 12 | 13 | @IBOutlet weak var bottomView: UIView! 14 | @IBOutlet weak var titleLabel: UILabel! 15 | @IBOutlet weak var iconView: UIImageView! 16 | override func awakeFromNib() { 17 | super.awakeFromNib() 18 | 19 | self.backgroundColor = UIColor.groupTableViewBackground 20 | self.bottomView.layer.cornerRadius = 4 21 | } 22 | 23 | static func cellWithTableView(tableView:UITableView) -> HomeListCell{ 24 | let bundle = Bundle.main 25 | let ID = "HomeListCell" 26 | var cell = tableView.dequeueReusableCell(withIdentifier: ID) 27 | if cell == nil { 28 | cell = bundle.loadNibNamed("HomeListCell", owner: nil, options: nil)?.last as! HomeListCell? 29 | } 30 | cell?.selectionStyle = .none 31 | 32 | return cell! as! HomeListCell 33 | } 34 | 35 | 36 | } 37 | -------------------------------------------------------------------------------- /IDealist/Demo/IDDialog/View/DialogCell.swift: -------------------------------------------------------------------------------- 1 | // 2 | // DialogCell.swift 3 | // IdealDemo 4 | // 5 | // Created by darren on 2018/11/23. 6 | // Copyright © 2018年 陈亮陈亮. All rights reserved. 7 | // 8 | 9 | import UIKit 10 | 11 | typealias clickSwichCluse = () -> () 12 | typealias clickDetailCluse = () -> () 13 | 14 | class DialogCell: UITableViewCell { 15 | 16 | var swichClouse: clickSwichCluse? 17 | var detailClouse: clickDetailCluse? 18 | 19 | @IBOutlet weak var swich: UISwitch! 20 | @IBOutlet weak var titleLabel: UILabel! 21 | override func awakeFromNib() { 22 | super.awakeFromNib() 23 | 24 | } 25 | 26 | @IBAction func clickSwich(_ sender: Any) { 27 | if self.swich.isOn { 28 | if swichClouse != nil { 29 | swichClouse!() 30 | } 31 | } else { 32 | 33 | } 34 | } 35 | @IBAction func clickBtn(_ sender: Any) { 36 | if detailClouse != nil { 37 | detailClouse!() 38 | } 39 | } 40 | static func cellWithTableView(tableView:UITableView) -> DialogCell{ 41 | let bundle = Bundle.main 42 | let ID = "DialogCell" 43 | var cell = tableView.dequeueReusableCell(withIdentifier: ID) 44 | if cell == nil { 45 | cell = bundle.loadNibNamed("DialogCell", owner: nil, options: nil)?.last as! DialogCell? 46 | } 47 | cell?.selectionStyle = .none 48 | 49 | return cell! as! DialogCell 50 | } 51 | 52 | 53 | 54 | } 55 | -------------------------------------------------------------------------------- /IDealist/Demo/IDEmptyView/SecondViewController.swift: -------------------------------------------------------------------------------- 1 | // 2 | // SecondViewController.swift 3 | // IDEmptyView_Example 4 | // 5 | // Created by implion on 2018/12/7. 6 | // Copyright © 2018 CocoaPods. All rights reserved. 7 | // 8 | 9 | import UIKit 10 | 11 | 12 | class SecondViewController: IDBaseViewController { 13 | 14 | var style: IDEmptyView.Style? 15 | 16 | override func viewDidLoad() { 17 | super.viewDidLoad() 18 | 19 | self.id_navTitle = "IDEmptyView" 20 | 21 | view.backgroundColor = UIColor.white 22 | view.id_empty = IDEmptyView.create().configStyle(style) 23 | view.id_empty?.backgroundColor = UIColor.init(white: 1.0, alpha: 0.92) 24 | 25 | self.view.bringSubviewToFront(self.id_customNavBar) 26 | } 27 | 28 | } 29 | -------------------------------------------------------------------------------- /IDealist/Demo/IDLoading/IDLoadingListViewController.swift: -------------------------------------------------------------------------------- 1 | // 2 | // IDLoadingListViewController.swift 3 | // IdealDemo 4 | // 5 | // Created by darren on 2018/11/23. 6 | // Copyright © 2018年 陈亮陈亮. All rights reserved. 7 | // 8 | 9 | import UIKit 10 | 11 | class IDLoadingListViewController: IDBaseViewController { 12 | 13 | override func viewDidLoad() { 14 | super.viewDidLoad() 15 | 16 | self.id_navTitle = "商品列表" 17 | 18 | self.view.backgroundColor = UIColor.init(redValue: 245, green: 245, blue: 245, alpha: 1) 19 | 20 | IDLoading.id_show(onView: self.view) 21 | } 22 | 23 | } 24 | -------------------------------------------------------------------------------- /IDealist/Demo/IDLoading/IDLoadingTestViewController.xib: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | -------------------------------------------------------------------------------- /IDealist/Demo/IDLoading/IDLoadingWebViewController.swift: -------------------------------------------------------------------------------- 1 | // 2 | // IDLoadingWebViewController.swift 3 | // IdealDemo 4 | // 5 | // Created by darren on 2018/11/23. 6 | // Copyright © 2018年 陈亮陈亮. All rights reserved. 7 | // 8 | 9 | import UIKit 10 | 11 | class IDLoadingWebViewController: IDBaseViewController, UIWebViewDelegate { 12 | 13 | lazy var webview: UIWebView = { 14 | let web = UIWebView.init(frame: CGRect.init(x: 0, y: KNavgationBarHeight, width: KScreenWidth, height: KScreenHeight-KNavgationBarHeight)) 15 | web.loadRequest(URLRequest.init(url: URL.init(string: "https://www.darrenblog.cn/")!)) 16 | web.delegate = self 17 | return web 18 | }() 19 | override func viewDidLoad() { 20 | super.viewDidLoad() 21 | 22 | self.id_navTitle = "网页展示" 23 | self.view.addSubview(self.webview) 24 | 25 | IDLoading.id_showProgressLine(onView: self.id_customNavBar) 26 | } 27 | 28 | func webViewDidFinishLoad(_ webView: UIWebView) { 29 | 30 | IDLoading.id_dismissNav() 31 | } 32 | } 33 | -------------------------------------------------------------------------------- /IDealist/Demo/IDScanQrcode/TestIDQRcodeViewController.swift: -------------------------------------------------------------------------------- 1 | // 2 | // TestIDQRcodeViewController.swift 3 | // IdealDemo 4 | // 5 | // Created by darren on 2018/12/8. 6 | // Copyright © 2018年 陈亮陈亮. All rights reserved. 7 | // 8 | 9 | import UIKit 10 | 11 | class TestIDQRcodeViewController: IDScanCodeController { 12 | 13 | override func viewDidLoad() { 14 | super.viewDidLoad() 15 | 16 | self.customNavBar.backgroundColor = UIColor.white 17 | self.customNavBar.titleLable.textColor = UIColor.black 18 | self.rightBtn.setTitleColor(UIColor.black, for: .normal) 19 | self.backBtn.setImage(UIImage(named: "ic_back_grey"), for: .normal) 20 | } 21 | 22 | override var preferredStatusBarStyle: UIStatusBarStyle { 23 | return .default 24 | } 25 | 26 | } 27 | -------------------------------------------------------------------------------- /IDealist/Demo/IDUIkit/TestButtonViewController.xib: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | -------------------------------------------------------------------------------- /IDealist/Demo/IDUIkit/TestIDSegmentedViewController.swift: -------------------------------------------------------------------------------- 1 | // 2 | // TestIDSegmentedViewController.swift 3 | // IDUIKit-ios 4 | // 5 | // Created by darren on 2018/12/5. 6 | // Copyright © 2018年 陈亮陈亮. All rights reserved. 7 | // 8 | 9 | import UIKit 10 | 11 | 12 | class TestIDSegmentedViewController: IDBaseViewController { 13 | 14 | @IBOutlet weak var moreBtn: UIButton! 15 | @IBOutlet weak var seg: IDSegmentedView! 16 | @IBOutlet weak var seg1: IDSegmentedView! 17 | 18 | lazy var selectView: IDSelectView = { 19 | let select = IDSelectView.init(frame: CGRect.init(x: 0, y: 290, width: KScreenWidth, height: 50)) 20 | select.id_titles = ["待支付", "已支付", "待发货"] 21 | return select 22 | }() 23 | override func viewDidLoad() { 24 | super.viewDidLoad() 25 | 26 | self.id_navTitle = "IDSegmentedView" 27 | self.view.backgroundColor = UIColor.groupTableViewBackground 28 | 29 | self.seg.setImage(UIImage(named: "ic_new"), forSegmentAt: 0) 30 | 31 | self.seg1.id_setSegmentStyle(normalColor: UIColor.white, selectedColor: UIColor.red, dividerColor: UIColor.groupTableViewBackground) 32 | 33 | self.view.addSubview(self.selectView) 34 | 35 | self.moreBtn.layer.cornerRadius = 15 36 | } 37 | 38 | @IBAction func clickMoreBtrn(_ sender: Any) { 39 | let vc = TestIDSelectViewController() 40 | self.navigationController?.pushViewController(vc, animated: true) 41 | } 42 | } 43 | -------------------------------------------------------------------------------- /IDealist/Demo/IDUIkit/TestImageViewController.swift: -------------------------------------------------------------------------------- 1 | // 2 | // TestImageViewController.swift 3 | // IDUIKit-ios 4 | // 5 | // Created by darren on 2018/12/4. 6 | // Copyright © 2018年 陈亮陈亮. All rights reserved. 7 | // 8 | 9 | import UIKit 10 | 11 | class TestImageViewController: IDBaseViewController { 12 | 13 | lazy var imgView: UIImageView = { 14 | let img = UIImageView.init(frame: CGRect.init(x: 10, y: KNavgationBarHeight + 40 + 40, width: 90, height: 90)) 15 | return img 16 | }() 17 | lazy var label: UILabel = { 18 | let label = UILabel.init(frame: CGRect.init(x: 10, y: KNavgationBarHeight + 40, width: KScreenWidth, height: 30)) 19 | label.text = "通过颜色生成一张图片" 20 | return label 21 | }() 22 | lazy var label2: UILabel = { 23 | let label = UILabel.init(frame: CGRect.init(x: 10, y: KNavgationBarHeight + 160, width: KScreenWidth-20, height: 80)) 24 | label.text = "self.imgView.image = UIImage.id_renderImageWithColor(UIColor.purple, size: CGSize.init(width: 80, height: 80))" 25 | label.numberOfLines = 0 26 | label.textColor = UIColor.lightGray 27 | return label 28 | }() 29 | 30 | override func viewDidLoad() { 31 | super.viewDidLoad() 32 | 33 | self.id_navTitle = "IDImage" 34 | self.view.addSubview(self.label) 35 | self.view.addSubview(self.imgView) 36 | self.view.addSubview(self.label2) 37 | 38 | let img = UIImage.id_renderImageWithColor(UIColor.purple, size: CGSize.init(width: 80, height: 80)) 39 | self.imgView.image = img 40 | } 41 | 42 | @objc func clickBtn() { 43 | } 44 | 45 | } 46 | -------------------------------------------------------------------------------- /IDealist/Demo/IDUIkit/TestProgressViewController.swift: -------------------------------------------------------------------------------- 1 | // 2 | // TestProgressViewController.swift 3 | // IDUIKit-ios 4 | // 5 | // Created by darren on 2018/12/3. 6 | // Copyright © 2018年 陈亮陈亮. All rights reserved. 7 | // 8 | 9 | import UIKit 10 | 11 | 12 | class TestProgressViewController: IDBaseViewController { 13 | 14 | @IBOutlet weak var circleView: IDProgressCircleView! 15 | @IBOutlet weak var nibProgressView: IDProgressCircleView! 16 | 17 | override func viewDidLoad() { 18 | super.viewDidLoad() 19 | 20 | self.id_navTitle = "IDProgressView" 21 | self.view.backgroundColor = UIColor.groupTableViewBackground 22 | self.nibProgressView.id_value = 50 23 | 24 | // circleView的宽高是80 25 | self.circleView.id_type = .pie 26 | self.circleView.id_value = 50 27 | } 28 | @IBAction func clickSider(_ sender: Any) { 29 | let value = (sender as! UISlider).value * 100 30 | 31 | self.nibProgressView.id_value = CGFloat(value) 32 | } 33 | @IBAction func clickSlider2(_ sender: Any) { 34 | let value = (sender as! UISlider).value * 100 35 | self.circleView.id_value = CGFloat(value) 36 | } 37 | } 38 | -------------------------------------------------------------------------------- /IDealist/Demo/IDUIkit/TestSearchBarViewController.swift: -------------------------------------------------------------------------------- 1 | // 2 | // TestSearchBarViewController.swift 3 | // IDUIKit-ios 4 | // 5 | // Created by darren on 2018/12/3. 6 | // Copyright © 2018年 陈亮陈亮. All rights reserved. 7 | // 8 | 9 | import UIKit 10 | 11 | 12 | 13 | class TestSearchBarViewController: IDBaseViewController { 14 | 15 | @IBOutlet weak var searchBar3: IDSearchBar! 16 | @IBOutlet weak var searchBar2: IDSearchBar! 17 | @IBOutlet weak var nibSearchbar: IDSearchBar! 18 | 19 | lazy var searchBar4: IDSearchBar = { 20 | let search = IDSearchBar.init(frame: CGRect.init(x: 0, y: 300, width: KScreenWidth, height: 60)) 21 | return search 22 | }() 23 | 24 | override func viewDidLoad() { 25 | super.viewDidLoad() 26 | 27 | self.id_navTitle = "IDSearchBar" 28 | 29 | self.view.backgroundColor = UIColor.init(redValue: 245, green: 245, blue: 249, alpha: 1) 30 | 31 | self.view.addSubview(self.searchBar4) 32 | 33 | self.searchBar2.id_placeHolder = "搜索" 34 | self.searchBar2.id_containerBgColor = UIColor.white 35 | 36 | self.searchBar3.id_showRightBtn = true 37 | 38 | self.searchBar4.id_showRightBtn = true 39 | self.searchBar4.id_cancelButtonTitle = "文本" 40 | self.searchBar4.id_cornerRadius = 20 41 | } 42 | 43 | } 44 | -------------------------------------------------------------------------------- /IDealist/Demo/IDUIkit/TestTextFieldViewController.swift: -------------------------------------------------------------------------------- 1 | // 2 | // TestTextFieldViewController.swift 3 | // IDUIKit-ios 4 | // 5 | // Created by darren on 2018/12/3. 6 | // Copyright © 2018年 陈亮陈亮. All rights reserved. 7 | // 8 | 9 | import UIKit 10 | 11 | class TestTextFieldViewController: IDBaseViewController { 12 | 13 | @IBOutlet weak var textF1: IDTextField! 14 | 15 | @IBOutlet weak var textF2: IDTextField! 16 | 17 | @IBOutlet weak var textF3: IDTextField! 18 | @IBOutlet weak var textF4: IDTextField! 19 | @IBOutlet weak var textF5: IDTextField! 20 | 21 | override func viewDidLoad() { 22 | super.viewDidLoad() 23 | self.id_navTitle = "IDTextField" 24 | 25 | self.view.backgroundColor = UIColor.groupTableViewBackground 26 | 27 | self.textF1.maxLength = 10 28 | 29 | self.textF2.onlyNumberAndPoint = true 30 | self.textF2.pointLength = 2 31 | 32 | self.textF3.onlyNumber = true 33 | 34 | self.textF4.allowEmoji = false 35 | 36 | self.textF5.predicateString = "^[a-z0-9A-Z]*$" 37 | } 38 | } 39 | -------------------------------------------------------------------------------- /IDealist/Demo/IDUIkit/TestTextViewController.swift: -------------------------------------------------------------------------------- 1 | // 2 | // TestTextViewController.swift 3 | // IDUIKit-ios 4 | // 5 | // Created by darren on 2018/11/30. 6 | // Copyright © 2018年 陈亮陈亮. All rights reserved. 7 | // 8 | 9 | import UIKit 10 | 11 | 12 | class TestTextViewController: IDBaseViewController { 13 | 14 | @IBOutlet weak var textView: IDTextView! 15 | 16 | lazy var textView2: IDTextView = { 17 | let text = IDTextView.init(frame: CGRect.init(x: 10, y: 220, width: KScreenWidth-20, height: 50)) 18 | text.id_placehoder = "我是代码创建的" 19 | return text 20 | }() 21 | 22 | lazy var textView3: IDTextView = { 23 | let text = IDTextView.init(frame: CGRect.init(x: 10, y: 300, width: KScreenWidth-20, height: 50)) 24 | text.id_placehoder = "支持高度自动增加" 25 | text.id_supportAutoHeight = true 26 | return text 27 | }() 28 | override func viewDidLoad() { 29 | super.viewDidLoad() 30 | 31 | self.id_navTitle = "IDTextView" 32 | self.view.backgroundColor = UIColor.groupTableViewBackground 33 | 34 | self.textView.id_placehoder = "xib创建的" 35 | self.textView.layer.borderWidth = 0 36 | self.textView.backgroundColor = UIColor.white 37 | 38 | self.view.addSubview(self.textView2) 39 | self.view.addSubview(self.textView3) 40 | } 41 | 42 | } 43 | -------------------------------------------------------------------------------- /IDealist/Demo/IDUIkit/TestTextViewControllerTwo.swift: -------------------------------------------------------------------------------- 1 | // 2 | // TestTextViewControllerTwo.swift 3 | // IdealDemo 4 | // 5 | // Created by darren on 2018/12/26. 6 | // Copyright © 2018年 陈亮陈亮. All rights reserved. 7 | // 8 | 9 | import UIKit 10 | 11 | 12 | class TestTextViewControllerTwo: IDBaseViewController { 13 | lazy var textView2: IDTextView = { 14 | let text = IDTextView.init(frame: CGRect.init(x: 10, y: 150, width: KScreenWidth-20, height: 80)) 15 | text.id_placehoder = "我是代码创建的" 16 | return text 17 | }() 18 | 19 | lazy var textView3: IDTextView = { 20 | let text = IDTextView.init(frame: CGRect.init(x: 10, y: 300, width: KScreenWidth-20, height: 50)) 21 | text.id_placehoder = "支持高度自动增加" 22 | text.id_supportAutoHeight = true 23 | return text 24 | }() 25 | override func viewDidLoad() { 26 | super.viewDidLoad() 27 | 28 | self.id_navTitle = "IDTextView" 29 | self.view.backgroundColor = UIColor.groupTableViewBackground 30 | 31 | 32 | self.view.addSubview(self.textView2) 33 | self.view.addSubview(self.textView3) 34 | 35 | } 36 | 37 | } 38 | -------------------------------------------------------------------------------- /IDealist/Demo/IDUtils/IDUtilsThemeViewController.swift: -------------------------------------------------------------------------------- 1 | // 2 | // IDUtilsThemeViewController.swift 3 | // IdealDemo 4 | // 5 | // Created by darren on 2018/12/4. 6 | // Copyright © 2018年 陈亮陈亮. All rights reserved. 7 | // 8 | 9 | import UIKit 10 | 11 | class IDUtilsThemeViewController: IDBaseViewController { 12 | 13 | @IBOutlet weak var view3: UIView! 14 | @IBOutlet weak var view2: UIView! 15 | @IBOutlet weak var view1: UIView! 16 | 17 | override func viewDidLoad() { 18 | super.viewDidLoad() 19 | 20 | self.id_navTitle = "更换主题" 21 | } 22 | 23 | @IBAction func clickDefault(_ sender: Any) { 24 | 25 | IDealistConfig.share.id_setupMainColor(color: UIColor.init(redValue: 13, green: 13, blue: 255, alpha: 1)) 26 | 27 | IDDialog.id_show(msg: "设置成功", leftActionTitle: nil, rightActionTitle: "确定", leftHandler: nil, rightHandler: nil) 28 | } 29 | @IBAction func clickCustom1(_ sender: Any) { 30 | 31 | IDealistConfig.share.id_setupMainColor(color: UIColor.init(redValue: 115, green: 109, blue: 216, alpha: 1)) 32 | IDDialog.id_show(msg: "设置成功", leftActionTitle: nil, rightActionTitle: "确定", leftHandler: nil, rightHandler: nil) 33 | 34 | } 35 | @IBAction func clickCustom2(_ sender: Any) { 36 | IDealistConfig.share.id_setupMainColor(color: UIColor.red) 37 | IDDialog.id_show(msg: "设置成功", leftActionTitle: nil, rightActionTitle: "确定", leftHandler: nil, rightHandler: nil) 38 | } 39 | } 40 | -------------------------------------------------------------------------------- /IDealist/Demo/IDUtils/TestArrayViewController.swift: -------------------------------------------------------------------------------- 1 | // 2 | // TestArrayViewController.swift 3 | // Ideal-IOS 4 | // 5 | // Created by darren on 2018/12/5. 6 | // Copyright © 2018年 陈亮陈亮. All rights reserved. 7 | // 8 | 9 | import UIKit 10 | 11 | 12 | class TestArrayViewController: IDBaseViewController { 13 | 14 | @IBOutlet weak var label3: UILabel! 15 | @IBOutlet weak var label2: UILabel! 16 | @IBOutlet weak var label1: UILabel! 17 | override func viewDidLoad() { 18 | super.viewDidLoad() 19 | 20 | self.id_navTitle = "数组处理" 21 | 22 | self.label1.text = "[1,1,2,2,3,3,4,4]" 23 | 24 | self.label2.text = "[1, 2, 3, 4]" 25 | 26 | let arr = [1,1,2,2,3,3,4,4] 27 | let arr2 = arr.id_filterDuplicates({$0}) 28 | print(arr2) 29 | } 30 | 31 | } 32 | -------------------------------------------------------------------------------- /IDealist/Demo/IDUtils/TestColorViewController.swift: -------------------------------------------------------------------------------- 1 | // 2 | // TestColorViewController.swift 3 | // Ideal-IOS 4 | // 5 | // Created by darren on 2018/12/4. 6 | // Copyright © 2018年 陈亮陈亮. All rights reserved. 7 | // 8 | 9 | import UIKit 10 | 11 | 12 | class TestColorViewController: IDBaseViewController { 13 | 14 | @IBOutlet weak var view1: UIView! 15 | 16 | @IBOutlet weak var view2: UIView! 17 | override func viewDidLoad() { 18 | super.viewDidLoad() 19 | 20 | self.id_navTitle = "颜色设置" 21 | 22 | self.view1.layer.cornerRadius = 40 23 | self.view2.layer.cornerRadius = 40 24 | 25 | 26 | self.view1.backgroundColor = UIColor.init(redValue: 13, green: 133, blue: 133, alpha: 1) 27 | self.view2.backgroundColor = UIColor.init(hexString: "#3423df") 28 | } 29 | 30 | } 31 | -------------------------------------------------------------------------------- /IDealist/Demo/IDUtils/TestIDViewViewController.swift: -------------------------------------------------------------------------------- 1 | // 2 | // TestIDViewViewController.swift 3 | // Ideal-IOS 4 | // 5 | // Created by darren on 2018/12/5. 6 | // Copyright © 2018年 陈亮陈亮. All rights reserved. 7 | // 8 | 9 | import UIKit 10 | 11 | 12 | class TestIDViewViewController: IDBaseViewController { 13 | 14 | @IBOutlet weak var view3: UIView! 15 | @IBOutlet weak var VIEW2: UIView! 16 | @IBOutlet weak var view1: UIView! 17 | @IBOutlet weak var testView: UIView! 18 | override func viewDidLoad() { 19 | super.viewDidLoad() 20 | 21 | self.id_navTitle = "UIView属性扩展" 22 | 23 | self.testView.id_addGradientLayer(gradientColors: [UIColor.red, UIColor.blue], gradientDirection: UIViewGradientDirection.horizontally) 24 | 25 | self.view1.id_border(1,UIColor.red, 5) 26 | self.VIEW2.id_borderSpecified(UIRectCorner.topLeft, cornerRadius: 6) 27 | self.view3.id_borderSpecified(UIRectCorner.topRight, cornerRadius: 6) 28 | } 29 | } 30 | -------------------------------------------------------------------------------- /IDealist/Demo/IDUtils/TestStringViewController.swift: -------------------------------------------------------------------------------- 1 | // 2 | // TestStringViewController.swift 3 | // Ideal-IOS 4 | // 5 | // Created by darren on 2018/12/5. 6 | // Copyright © 2018年 陈亮陈亮. All rights reserved. 7 | // 8 | 9 | import UIKit 10 | 11 | class TestStringViewController: IDBaseViewController { 12 | 13 | @IBOutlet weak var label6: UILabel! 14 | @IBOutlet weak var label5: UILabel! 15 | @IBOutlet weak var label4: UILabel! 16 | @IBOutlet weak var label3: UILabel! 17 | @IBOutlet weak var label2: UILabel! 18 | @IBOutlet weak var label1: UILabel! 19 | override func viewDidLoad() { 20 | super.viewDidLoad() 21 | 22 | self.id_navTitle = "字符串处理" 23 | 24 | self.label2.text = self.label1.text?.id_subString(to: 5) 25 | 26 | self.label4.text = self.label3.text?.id_subString(from: 5) 27 | 28 | self.label6.text = self.label5.text?.id_subString(from: 5, offSet: 2) 29 | } 30 | 31 | } 32 | -------------------------------------------------------------------------------- /IDealist/Demo/IDUtils/TestURLViewController.swift: -------------------------------------------------------------------------------- 1 | // 2 | // TestURLViewController.swift 3 | // Ideal-IOS 4 | // 5 | // Created by darren on 2018/12/5. 6 | // Copyright © 2018年 陈亮陈亮. All rights reserved. 7 | // 8 | 9 | import UIKit 10 | 11 | 12 | class TestURLViewController: IDBaseViewController { 13 | 14 | @IBOutlet weak var label2: UILabel! 15 | @IBOutlet weak var label1: UILabel! 16 | override func viewDidLoad() { 17 | super.viewDidLoad() 18 | 19 | self.id_navTitle = "URL特殊字符处理" 20 | 21 | self.label2.text = URL.id_init(string: self.label1.text!)?.absoluteString 22 | } 23 | 24 | } 25 | -------------------------------------------------------------------------------- /IDealist/Demo/Main/IDInfoViewController.swift: -------------------------------------------------------------------------------- 1 | // 2 | // IDInfoViewController.swift 3 | // IdealDemo 4 | // 5 | // Created by darren on 2018/12/8. 6 | // Copyright © 2018年 陈亮陈亮. All rights reserved. 7 | // 8 | 9 | import UIKit 10 | 11 | 12 | class IDInfoViewController: IDBaseViewController { 13 | 14 | override func viewDidLoad() { 15 | super.viewDidLoad() 16 | 17 | self.id_navTitle = "关于IDealist" 18 | } 19 | 20 | } 21 | -------------------------------------------------------------------------------- /IDealist/IDealist/AppConfig.swift: -------------------------------------------------------------------------------- 1 | 2 | import UIKit 3 | 4 | /// 屏幕宽度 5 | var KScreenHeight = UIScreen.main.bounds.height 6 | /// 屏幕高度 7 | var KScreenWidth = UIScreen.main.bounds.width 8 | /// 屏幕比例 9 | var kScale = UIScreen.main.scale 10 | /// 导航栏高度+状态栏(iphonex 88) 11 | var KNavgationBarHeight: CGFloat = UIDevice.id_isX() == true ? 88:64 12 | /// tabbar高度(iphonex 83) 13 | var KTabBarHeight: CGFloat = UIDevice.id_isX() == true ? 83:49 14 | /// iphonex 底部间距 15 | var IphoneXBottomSpace: CGFloat = UIDevice.id_isX() == true ? 34:0 16 | 17 | 18 | var dialogWidth: CGFloat = 300 19 | 20 | var RGBAColor: (CGFloat, CGFloat, CGFloat, CGFloat) -> UIColor = {red, green, blue, alpha in 21 | return UIColor(red: red / 255, green: green / 255, blue: blue / 255, alpha: alpha); 22 | } 23 | 24 | // MARK:- 设置圆角 25 | func HDViewsBorder(_ view:UIView, borderWidth:CGFloat, borderColor:UIColor?=nil,cornerRadius:CGFloat){ 26 | view.layer.borderWidth = borderWidth; 27 | view.layer.borderColor = borderColor?.cgColor 28 | view.layer.cornerRadius = cornerRadius 29 | view.layer.masksToBounds = true 30 | } 31 | 32 | let HDWindow = UIApplication.shared.keyWindow 33 | let HDNotificationCenter = NotificationCenter.default 34 | let HDUserDefaults = UserDefaults.standard 35 | -------------------------------------------------------------------------------- /IDealist/IDealist/IDBaseController/Components/IDBaseNavViewController.swift: -------------------------------------------------------------------------------- 1 | // 2 | // BaseNavViewController.swift 3 | // 4 | // Created by darren on 2017/9/12. 5 | // Copyright © 2017年 陈亮陈亮. All rights reserved. 6 | // 7 | 8 | import UIKit 9 | 10 | open class IDBaseNavViewController: UINavigationController { 11 | 12 | override open func viewDidLoad() { 13 | super.viewDidLoad() 14 | 15 | } 16 | //push时候自动隐藏bottomBar 17 | override open func pushViewController(_ viewController: UIViewController, animated: Bool) { 18 | 19 | if children.count > 0 { 20 | // push时隐藏tabBar 21 | viewController.hidesBottomBarWhenPushed = true 22 | } 23 | super.pushViewController(viewController, animated: animated) 24 | } 25 | override open func popViewController(animated: Bool) -> UIViewController? { 26 | return super.popViewController(animated: animated) 27 | } 28 | 29 | 30 | } 31 | -------------------------------------------------------------------------------- /IDealist/IDealist/IDBaseController/Images/btn_back@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Darren-chenchen/IDealist/341a4728cd601d80c4cd7a9e6be45fc7087c1f7a/IDealist/IDealist/IDBaseController/Images/btn_back@2x.png -------------------------------------------------------------------------------- /IDealist/IDealist/IDBaseController/Images/btn_back@3x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Darren-chenchen/IDealist/341a4728cd601d80c4cd7a9e6be45fc7087c1f7a/IDealist/IDealist/IDBaseController/Images/btn_back@3x.png -------------------------------------------------------------------------------- /IDealist/IDealist/IDDialog/Images/ic_toast_success2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Darren-chenchen/IDealist/341a4728cd601d80c4cd7a9e6be45fc7087c1f7a/IDealist/IDealist/IDDialog/Images/ic_toast_success2.png -------------------------------------------------------------------------------- /IDealist/IDealist/IDDialog/Images/ic_toast_success2@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Darren-chenchen/IDealist/341a4728cd601d80c4cd7a9e6be45fc7087c1f7a/IDealist/IDealist/IDDialog/Images/ic_toast_success2@2x.png -------------------------------------------------------------------------------- /IDealist/IDealist/IDDialog/Images/ic_toast_success2@3x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Darren-chenchen/IDealist/341a4728cd601d80c4cd7a9e6be45fc7087c1f7a/IDealist/IDealist/IDDialog/Images/ic_toast_success2@3x.png -------------------------------------------------------------------------------- /IDealist/IDealist/IDDialog/Images/icn_icn_fail2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Darren-chenchen/IDealist/341a4728cd601d80c4cd7a9e6be45fc7087c1f7a/IDealist/IDealist/IDDialog/Images/icn_icn_fail2.png -------------------------------------------------------------------------------- /IDealist/IDealist/IDDialog/Images/icn_icn_fail2@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Darren-chenchen/IDealist/341a4728cd601d80c4cd7a9e6be45fc7087c1f7a/IDealist/IDealist/IDDialog/Images/icn_icn_fail2@2x.png -------------------------------------------------------------------------------- /IDealist/IDealist/IDDialog/Images/icn_icn_fail2@3x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Darren-chenchen/IDealist/341a4728cd601d80c4cd7a9e6be45fc7087c1f7a/IDealist/IDealist/IDDialog/Images/icn_icn_fail2@3x.png -------------------------------------------------------------------------------- /IDealist/IDealist/IDDialog/Images/icon_sign2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Darren-chenchen/IDealist/341a4728cd601d80c4cd7a9e6be45fc7087c1f7a/IDealist/IDealist/IDDialog/Images/icon_sign2.png -------------------------------------------------------------------------------- /IDealist/IDealist/IDDialog/Images/icon_sign2@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Darren-chenchen/IDealist/341a4728cd601d80c4cd7a9e6be45fc7087c1f7a/IDealist/IDealist/IDDialog/Images/icon_sign2@2x.png -------------------------------------------------------------------------------- /IDealist/IDealist/IDDialog/Images/icon_sign2@3x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Darren-chenchen/IDealist/341a4728cd601d80c4cd7a9e6be45fc7087c1f7a/IDealist/IDealist/IDDialog/Images/icon_sign2@3x.png -------------------------------------------------------------------------------- /IDealist/IDealist/IDEmptyView/Components/UIView+IDeal.swift: -------------------------------------------------------------------------------- 1 | // 2 | // UIView+IDeal.swift 3 | // IDEmptyView 4 | // 5 | // Created by implion on 2018/12/7. 6 | // 7 | 8 | import Foundation 9 | import UIKit 10 | 11 | extension UIView { 12 | 13 | static var IDEmptyViewKey: UInt8 = 0 14 | public var id_empty: IDEmptyView? { 15 | 16 | get { 17 | return (objc_getAssociatedObject(self, &UIView.IDEmptyViewKey) as? IDEmptyView) 18 | } 19 | 20 | set { 21 | if let view = newValue { 22 | self.id_empty?.removeFromSuperview() 23 | self.insertSubview(view, at: self.subviews.count) 24 | objc_setAssociatedObject(self, &UIView.IDEmptyViewKey, newValue, .OBJC_ASSOCIATION_RETAIN) 25 | } 26 | } 27 | } 28 | } 29 | -------------------------------------------------------------------------------- /IDealist/IDealist/IDEmptyView/Images/ic_empty@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Darren-chenchen/IDealist/341a4728cd601d80c4cd7a9e6be45fc7087c1f7a/IDealist/IDealist/IDEmptyView/Images/ic_empty@2x.png -------------------------------------------------------------------------------- /IDealist/IDealist/IDEmptyView/Images/ic_empty@3x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Darren-chenchen/IDealist/341a4728cd601d80c4cd7a9e6be45fc7087c1f7a/IDealist/IDealist/IDEmptyView/Images/ic_empty@3x.png -------------------------------------------------------------------------------- /IDealist/IDealist/IDEmptyView/Images/ic_load_failure@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Darren-chenchen/IDealist/341a4728cd601d80c4cd7a9e6be45fc7087c1f7a/IDealist/IDealist/IDEmptyView/Images/ic_load_failure@2x.png -------------------------------------------------------------------------------- /IDealist/IDealist/IDEmptyView/Images/ic_load_failure@3x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Darren-chenchen/IDealist/341a4728cd601d80c4cd7a9e6be45fc7087c1f7a/IDealist/IDealist/IDEmptyView/Images/ic_load_failure@3x.png -------------------------------------------------------------------------------- /IDealist/IDealist/IDImagePicker/Board/BaseBrush.swift: -------------------------------------------------------------------------------- 1 | // 2 | // BaseBrush.swift 3 | // testDemoSwift 4 | // 5 | // Created by 陈亮陈亮 on 2017/5/19. 6 | // Copyright © 2017年 陈亮陈亮. All rights reserved. 7 | // 8 | 9 | import CoreGraphics 10 | import Foundation 11 | 12 | //supportedContinuousDrawing,表示是否是连续不断的绘图 13 | //drawInContext,基于Context的绘图方法,子类必须实现具体的绘图 14 | //只要是实现了PaintBrush接口的类,我们就当作是一个绘图工具(如铅笔、直尺等) 15 | protocol PaintBrush { 16 | 17 | func supportedContinuousDrawing() -> Bool 18 | 19 | func drawInContext(_ context: CGContext) 20 | } 21 | 22 | class BaseBrush : NSObject, PaintBrush { 23 | var beginPoint: CGPoint! 24 | var endPoint: CGPoint! 25 | var lastPoint: CGPoint? 26 | 27 | var strokeWidth: CGFloat! 28 | 29 | @objc func supportedContinuousDrawing() -> Bool { 30 | return false 31 | } 32 | 33 | @objc func drawInContext(_ context: CGContext) { 34 | assert(false, "must implements in subclass.") 35 | } 36 | } 37 | 38 | -------------------------------------------------------------------------------- /IDealist/IDealist/IDImagePicker/Board/EraserBrush.swift: -------------------------------------------------------------------------------- 1 | // 2 | // EraserBrush.swift 3 | // testDemoSwift 4 | // 5 | // Created by 陈亮陈亮 on 2017/5/19. 6 | // Copyright © 2017年 陈亮陈亮. All rights reserved. 7 | // 橡皮擦 8 | 9 | import UIKit 10 | 11 | class EraserBrush: PencilBrush { 12 | override func drawInContext(_ context: CGContext) { 13 | context.setBlendMode(CGBlendMode.clear) 14 | 15 | super.drawInContext(context) 16 | } 17 | } 18 | -------------------------------------------------------------------------------- /IDealist/IDealist/IDImagePicker/Board/GaussianBlurBrush.swift: -------------------------------------------------------------------------------- 1 | // 2 | // RectangleBrush.swift 3 | // DrawingBoard 4 | // 5 | // Created by ZhangAo on 15-2-16. 6 | // Copyright (c) 2015年 zhangao. All rights reserved. 7 | // 高斯模糊 8 | 9 | import UIKit 10 | 11 | class GaussianBlurBrush: BaseBrush { 12 | 13 | override func drawInContext(_ context: CGContext) { 14 | 15 | if let lastPoint = self.lastPoint { 16 | context.move(to: CGPoint(x: lastPoint.x, y: lastPoint.y)) 17 | context.addLine(to: CGPoint(x: endPoint.x, y: endPoint.y)) 18 | } else { 19 | context.move(to: CGPoint(x: beginPoint.x, y: beginPoint.y)) 20 | context.addLine(to: CGPoint(x: endPoint.x, y: endPoint.y)) 21 | } 22 | } 23 | 24 | override func supportedContinuousDrawing() -> Bool { 25 | return true 26 | } 27 | } 28 | -------------------------------------------------------------------------------- /IDealist/IDealist/IDImagePicker/Board/InputBrush.swift: -------------------------------------------------------------------------------- 1 | // 2 | // InputBrush.swift 3 | // testDemoSwift 4 | // 5 | // Created by 陈亮陈亮 on 2017/5/25. 6 | // Copyright © 2017年 陈亮陈亮. All rights reserved. 7 | // 文本输入框 8 | 9 | import UIKit 10 | 11 | class InputBrush: BaseBrush { 12 | 13 | } 14 | -------------------------------------------------------------------------------- /IDealist/IDealist/IDImagePicker/Board/LineBrush.swift: -------------------------------------------------------------------------------- 1 | // 2 | // LineBrush.swift 3 | // testDemoSwift 4 | // 5 | // Created by 陈亮陈亮 on 2017/5/19. 6 | // Copyright © 2017年 陈亮陈亮. All rights reserved. 7 | // 直线 8 | 9 | import UIKit 10 | 11 | class LineBrush: BaseBrush { 12 | override func drawInContext(_ context: CGContext) { 13 | context.move(to: CGPoint(x: beginPoint.x, y: beginPoint.y)) 14 | context.addLine(to: CGPoint(x: endPoint.x, y: endPoint.y)) 15 | } 16 | 17 | } 18 | -------------------------------------------------------------------------------- /IDealist/IDealist/IDImagePicker/Board/PencilBrush.swift: -------------------------------------------------------------------------------- 1 | // 2 | // PencilBrush.swift 3 | // testDemoSwift 4 | // 5 | // Created by 陈亮陈亮 on 2017/5/19. 6 | // Copyright © 2017年 陈亮陈亮. All rights reserved. 7 | // 铅笔工具 8 | 9 | import UIKit 10 | 11 | class PencilBrush: BaseBrush { 12 | //如果lastPoint为nil,则基于beginPoint画线,反之则基于lastPoint画线。 13 | override func drawInContext(_ context: CGContext) { 14 | if let lastPoint = self.lastPoint { 15 | context.move(to: CGPoint(x: lastPoint.x, y: lastPoint.y)) 16 | context.addLine(to: CGPoint(x: endPoint.x, y: endPoint.y)) 17 | } else { 18 | context.move(to: CGPoint(x: beginPoint.x, y: beginPoint.y)) 19 | context.addLine(to: CGPoint(x: endPoint.x, y: endPoint.y)) 20 | } 21 | } 22 | override func supportedContinuousDrawing() -> Bool { 23 | return true 24 | } 25 | 26 | } 27 | -------------------------------------------------------------------------------- /IDealist/IDealist/IDImagePicker/Board/RectangleBrush.swift: -------------------------------------------------------------------------------- 1 | // 2 | // RectangleBrush.swift 3 | // DrawingBoard 4 | // 5 | // Created by ZhangAo on 15-2-16. 6 | // Copyright (c) 2015年 zhangao. All rights reserved. 7 | // 连续矩形 8 | 9 | import UIKit 10 | 11 | class RectangleBrush: BaseBrush { 12 | 13 | override func drawInContext(_ context: CGContext) { 14 | if let lastPoint = self.lastPoint { 15 | context.move(to: CGPoint(x: lastPoint.x, y: lastPoint.y)) 16 | context.addLine(to: CGPoint(x: endPoint.x, y: endPoint.y)) 17 | } else { 18 | context.move(to: CGPoint(x: beginPoint.x, y: beginPoint.y)) 19 | context.addLine(to: CGPoint(x: endPoint.x, y: endPoint.y)) 20 | } 21 | } 22 | 23 | override func supportedContinuousDrawing() -> Bool { 24 | return true 25 | } 26 | } 27 | -------------------------------------------------------------------------------- /IDealist/IDealist/IDImagePicker/Category/NavgationVCExt.swift: -------------------------------------------------------------------------------- 1 | // 2 | // NavgationVCExt.swift 3 | // paso-ios 4 | // 5 | // Created by darren on 2017/6/26. 6 | // Copyright © 2017年 陈亮陈亮. All rights reserved. 7 | // 8 | 9 | import UIKit 10 | 11 | extension UINavigationController { 12 | 13 | open override var preferredStatusBarStyle: UIStatusBarStyle { 14 | if self.topViewController == nil { 15 | return .default 16 | } 17 | return self.topViewController!.preferredStatusBarStyle 18 | } 19 | } 20 | -------------------------------------------------------------------------------- /IDealist/IDealist/IDImagePicker/Images/btn_back2@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Darren-chenchen/IDealist/341a4728cd601d80c4cd7a9e6be45fc7087c1f7a/IDealist/IDealist/IDImagePicker/Images/btn_back2@2x.png -------------------------------------------------------------------------------- /IDealist/IDealist/IDImagePicker/Images/btn_back2@3x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Darren-chenchen/IDealist/341a4728cd601d80c4cd7a9e6be45fc7087c1f7a/IDealist/IDealist/IDImagePicker/Images/btn_back2@3x.png -------------------------------------------------------------------------------- /IDealist/IDealist/IDImagePicker/Images/btn_back_w@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Darren-chenchen/IDealist/341a4728cd601d80c4cd7a9e6be45fc7087c1f7a/IDealist/IDealist/IDImagePicker/Images/btn_back_w@2x.png -------------------------------------------------------------------------------- /IDealist/IDealist/IDImagePicker/Images/btn_back_w@3x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Darren-chenchen/IDealist/341a4728cd601d80c4cd7a9e6be45fc7087c1f7a/IDealist/IDealist/IDImagePicker/Images/btn_back_w@3x.png -------------------------------------------------------------------------------- /IDealist/IDealist/IDImagePicker/Images/cl_imagepickervedio.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Darren-chenchen/IDealist/341a4728cd601d80c4cd7a9e6be45fc7087c1f7a/IDealist/IDealist/IDImagePicker/Images/cl_imagepickervedio.png -------------------------------------------------------------------------------- /IDealist/IDealist/IDImagePicker/Images/clr_black@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Darren-chenchen/IDealist/341a4728cd601d80c4cd7a9e6be45fc7087c1f7a/IDealist/IDealist/IDImagePicker/Images/clr_black@2x.png -------------------------------------------------------------------------------- /IDealist/IDealist/IDImagePicker/Images/clr_black@3x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Darren-chenchen/IDealist/341a4728cd601d80c4cd7a9e6be45fc7087c1f7a/IDealist/IDealist/IDImagePicker/Images/clr_black@3x.png -------------------------------------------------------------------------------- /IDealist/IDealist/IDImagePicker/Images/clr_blue@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Darren-chenchen/IDealist/341a4728cd601d80c4cd7a9e6be45fc7087c1f7a/IDealist/IDealist/IDImagePicker/Images/clr_blue@2x.png -------------------------------------------------------------------------------- /IDealist/IDealist/IDImagePicker/Images/clr_blue@3x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Darren-chenchen/IDealist/341a4728cd601d80c4cd7a9e6be45fc7087c1f7a/IDealist/IDealist/IDImagePicker/Images/clr_blue@3x.png -------------------------------------------------------------------------------- /IDealist/IDealist/IDImagePicker/Images/clr_green@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Darren-chenchen/IDealist/341a4728cd601d80c4cd7a9e6be45fc7087c1f7a/IDealist/IDealist/IDImagePicker/Images/clr_green@2x.png -------------------------------------------------------------------------------- /IDealist/IDealist/IDImagePicker/Images/clr_green@3x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Darren-chenchen/IDealist/341a4728cd601d80c4cd7a9e6be45fc7087c1f7a/IDealist/IDealist/IDImagePicker/Images/clr_green@3x.png -------------------------------------------------------------------------------- /IDealist/IDealist/IDImagePicker/Images/clr_orange@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Darren-chenchen/IDealist/341a4728cd601d80c4cd7a9e6be45fc7087c1f7a/IDealist/IDealist/IDImagePicker/Images/clr_orange@2x.png -------------------------------------------------------------------------------- /IDealist/IDealist/IDImagePicker/Images/clr_orange@3x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Darren-chenchen/IDealist/341a4728cd601d80c4cd7a9e6be45fc7087c1f7a/IDealist/IDealist/IDImagePicker/Images/clr_orange@3x.png -------------------------------------------------------------------------------- /IDealist/IDealist/IDImagePicker/Images/clr_purple@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Darren-chenchen/IDealist/341a4728cd601d80c4cd7a9e6be45fc7087c1f7a/IDealist/IDealist/IDImagePicker/Images/clr_purple@2x.png -------------------------------------------------------------------------------- /IDealist/IDealist/IDImagePicker/Images/clr_purple@3x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Darren-chenchen/IDealist/341a4728cd601d80c4cd7a9e6be45fc7087c1f7a/IDealist/IDealist/IDImagePicker/Images/clr_purple@3x.png -------------------------------------------------------------------------------- /IDealist/IDealist/IDImagePicker/Images/clr_red@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Darren-chenchen/IDealist/341a4728cd601d80c4cd7a9e6be45fc7087c1f7a/IDealist/IDealist/IDImagePicker/Images/clr_red@2x.png -------------------------------------------------------------------------------- /IDealist/IDealist/IDImagePicker/Images/clr_red@3x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Darren-chenchen/IDealist/341a4728cd601d80c4cd7a9e6be45fc7087c1f7a/IDealist/IDealist/IDImagePicker/Images/clr_red@3x.png -------------------------------------------------------------------------------- /IDealist/IDealist/IDImagePicker/Images/clvedioplaybtn.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Darren-chenchen/IDealist/341a4728cd601d80c4cd7a9e6be45fc7087c1f7a/IDealist/IDealist/IDImagePicker/Images/clvedioplaybtn.png -------------------------------------------------------------------------------- /IDealist/IDealist/IDImagePicker/Images/ic_erase@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Darren-chenchen/IDealist/341a4728cd601d80c4cd7a9e6be45fc7087c1f7a/IDealist/IDealist/IDImagePicker/Images/ic_erase@2x.png -------------------------------------------------------------------------------- /IDealist/IDealist/IDImagePicker/Images/ic_erase@3x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Darren-chenchen/IDealist/341a4728cd601d80c4cd7a9e6be45fc7087c1f7a/IDealist/IDealist/IDImagePicker/Images/ic_erase@3x.png -------------------------------------------------------------------------------- /IDealist/IDealist/IDImagePicker/Images/ic_erase_grey@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Darren-chenchen/IDealist/341a4728cd601d80c4cd7a9e6be45fc7087c1f7a/IDealist/IDealist/IDImagePicker/Images/ic_erase_grey@2x.png -------------------------------------------------------------------------------- /IDealist/IDealist/IDImagePicker/Images/ic_erase_grey@3x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Darren-chenchen/IDealist/341a4728cd601d80c4cd7a9e6be45fc7087c1f7a/IDealist/IDealist/IDImagePicker/Images/ic_erase_grey@3x.png -------------------------------------------------------------------------------- /IDealist/IDealist/IDImagePicker/Images/ic_msk@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Darren-chenchen/IDealist/341a4728cd601d80c4cd7a9e6be45fc7087c1f7a/IDealist/IDealist/IDImagePicker/Images/ic_msk@2x.png -------------------------------------------------------------------------------- /IDealist/IDealist/IDImagePicker/Images/ic_msk@3x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Darren-chenchen/IDealist/341a4728cd601d80c4cd7a9e6be45fc7087c1f7a/IDealist/IDealist/IDImagePicker/Images/ic_msk@3x.png -------------------------------------------------------------------------------- /IDealist/IDealist/IDImagePicker/Images/ic_msk_grey@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Darren-chenchen/IDealist/341a4728cd601d80c4cd7a9e6be45fc7087c1f7a/IDealist/IDealist/IDImagePicker/Images/ic_msk_grey@2x.png -------------------------------------------------------------------------------- /IDealist/IDealist/IDImagePicker/Images/ic_msk_grey@3x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Darren-chenchen/IDealist/341a4728cd601d80c4cd7a9e6be45fc7087c1f7a/IDealist/IDealist/IDImagePicker/Images/ic_msk_grey@3x.png -------------------------------------------------------------------------------- /IDealist/IDealist/IDImagePicker/Images/ic_pen@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Darren-chenchen/IDealist/341a4728cd601d80c4cd7a9e6be45fc7087c1f7a/IDealist/IDealist/IDImagePicker/Images/ic_pen@2x.png -------------------------------------------------------------------------------- /IDealist/IDealist/IDImagePicker/Images/ic_pen@3x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Darren-chenchen/IDealist/341a4728cd601d80c4cd7a9e6be45fc7087c1f7a/IDealist/IDealist/IDImagePicker/Images/ic_pen@3x.png -------------------------------------------------------------------------------- /IDealist/IDealist/IDImagePicker/Images/ic_pen_grey@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Darren-chenchen/IDealist/341a4728cd601d80c4cd7a9e6be45fc7087c1f7a/IDealist/IDealist/IDImagePicker/Images/ic_pen_grey@2x.png -------------------------------------------------------------------------------- /IDealist/IDealist/IDImagePicker/Images/ic_pen_grey@3x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Darren-chenchen/IDealist/341a4728cd601d80c4cd7a9e6be45fc7087c1f7a/IDealist/IDealist/IDImagePicker/Images/ic_pen_grey@3x.png -------------------------------------------------------------------------------- /IDealist/IDealist/IDImagePicker/Images/ic_pre@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Darren-chenchen/IDealist/341a4728cd601d80c4cd7a9e6be45fc7087c1f7a/IDealist/IDealist/IDImagePicker/Images/ic_pre@2x.png -------------------------------------------------------------------------------- /IDealist/IDealist/IDImagePicker/Images/ic_pre@3x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Darren-chenchen/IDealist/341a4728cd601d80c4cd7a9e6be45fc7087c1f7a/IDealist/IDealist/IDImagePicker/Images/ic_pre@3x.png -------------------------------------------------------------------------------- /IDealist/IDealist/IDImagePicker/Images/ic_pre_grey@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Darren-chenchen/IDealist/341a4728cd601d80c4cd7a9e6be45fc7087c1f7a/IDealist/IDealist/IDImagePicker/Images/ic_pre_grey@2x.png -------------------------------------------------------------------------------- /IDealist/IDealist/IDImagePicker/Images/ic_pre_grey@3x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Darren-chenchen/IDealist/341a4728cd601d80c4cd7a9e6be45fc7087c1f7a/IDealist/IDealist/IDImagePicker/Images/ic_pre_grey@3x.png -------------------------------------------------------------------------------- /IDealist/IDealist/IDImagePicker/Images/ic_redo@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Darren-chenchen/IDealist/341a4728cd601d80c4cd7a9e6be45fc7087c1f7a/IDealist/IDealist/IDImagePicker/Images/ic_redo@2x.png -------------------------------------------------------------------------------- /IDealist/IDealist/IDImagePicker/Images/ic_redo@3x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Darren-chenchen/IDealist/341a4728cd601d80c4cd7a9e6be45fc7087c1f7a/IDealist/IDealist/IDImagePicker/Images/ic_redo@3x.png -------------------------------------------------------------------------------- /IDealist/IDealist/IDImagePicker/Images/ic_redo_grey@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Darren-chenchen/IDealist/341a4728cd601d80c4cd7a9e6be45fc7087c1f7a/IDealist/IDealist/IDImagePicker/Images/ic_redo_grey@2x.png -------------------------------------------------------------------------------- /IDealist/IDealist/IDImagePicker/Images/ic_redo_grey@3x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Darren-chenchen/IDealist/341a4728cd601d80c4cd7a9e6be45fc7087c1f7a/IDealist/IDealist/IDImagePicker/Images/ic_redo_grey@3x.png -------------------------------------------------------------------------------- /IDealist/IDealist/IDImagePicker/Images/icn_cin_more.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Darren-chenchen/IDealist/341a4728cd601d80c4cd7a9e6be45fc7087c1f7a/IDealist/IDealist/IDImagePicker/Images/icn_cin_more.png -------------------------------------------------------------------------------- /IDealist/IDealist/IDImagePicker/Images/icn_cin_more@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Darren-chenchen/IDealist/341a4728cd601d80c4cd7a9e6be45fc7087c1f7a/IDealist/IDealist/IDImagePicker/Images/icn_cin_more@2x.png -------------------------------------------------------------------------------- /IDealist/IDealist/IDImagePicker/Images/icn_cin_more@3x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Darren-chenchen/IDealist/341a4728cd601d80c4cd7a9e6be45fc7087c1f7a/IDealist/IDealist/IDImagePicker/Images/icn_cin_more@3x.png -------------------------------------------------------------------------------- /IDealist/IDealist/IDImagePicker/Images/icn_finish@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Darren-chenchen/IDealist/341a4728cd601d80c4cd7a9e6be45fc7087c1f7a/IDealist/IDealist/IDImagePicker/Images/icn_finish@2x.png -------------------------------------------------------------------------------- /IDealist/IDealist/IDImagePicker/Images/icn_finish@3x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Darren-chenchen/IDealist/341a4728cd601d80c4cd7a9e6be45fc7087c1f7a/IDealist/IDealist/IDImagePicker/Images/icn_finish@3x.png -------------------------------------------------------------------------------- /IDealist/IDealist/IDImagePicker/Images/icn_icn_back.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Darren-chenchen/IDealist/341a4728cd601d80c4cd7a9e6be45fc7087c1f7a/IDealist/IDealist/IDImagePicker/Images/icn_icn_back.png -------------------------------------------------------------------------------- /IDealist/IDealist/IDImagePicker/Images/icn_icn_back@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Darren-chenchen/IDealist/341a4728cd601d80c4cd7a9e6be45fc7087c1f7a/IDealist/IDealist/IDImagePicker/Images/icn_icn_back@2x.png -------------------------------------------------------------------------------- /IDealist/IDealist/IDImagePicker/Images/icn_icn_back@3x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Darren-chenchen/IDealist/341a4728cd601d80c4cd7a9e6be45fc7087c1f7a/IDealist/IDealist/IDImagePicker/Images/icn_icn_back@3x.png -------------------------------------------------------------------------------- /IDealist/IDealist/IDImagePicker/Images/icn_icn_back_b.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Darren-chenchen/IDealist/341a4728cd601d80c4cd7a9e6be45fc7087c1f7a/IDealist/IDealist/IDImagePicker/Images/icn_icn_back_b.png -------------------------------------------------------------------------------- /IDealist/IDealist/IDImagePicker/Images/icn_icn_back_b@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Darren-chenchen/IDealist/341a4728cd601d80c4cd7a9e6be45fc7087c1f7a/IDealist/IDealist/IDImagePicker/Images/icn_icn_back_b@2x.png -------------------------------------------------------------------------------- /IDealist/IDealist/IDImagePicker/Images/icn_icn_back_b@3x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Darren-chenchen/IDealist/341a4728cd601d80c4cd7a9e6be45fc7087c1f7a/IDealist/IDealist/IDImagePicker/Images/icn_icn_back_b@3x.png -------------------------------------------------------------------------------- /IDealist/IDealist/IDImagePicker/Images/icn_icn_back_white.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Darren-chenchen/IDealist/341a4728cd601d80c4cd7a9e6be45fc7087c1f7a/IDealist/IDealist/IDImagePicker/Images/icn_icn_back_white.png -------------------------------------------------------------------------------- /IDealist/IDealist/IDImagePicker/Images/icn_icn_back_white@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Darren-chenchen/IDealist/341a4728cd601d80c4cd7a9e6be45fc7087c1f7a/IDealist/IDealist/IDImagePicker/Images/icn_icn_back_white@2x.png -------------------------------------------------------------------------------- /IDealist/IDealist/IDImagePicker/Images/icn_icn_back_white@3x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Darren-chenchen/IDealist/341a4728cd601d80c4cd7a9e6be45fc7087c1f7a/IDealist/IDealist/IDImagePicker/Images/icn_icn_back_white@3x.png -------------------------------------------------------------------------------- /IDealist/IDealist/IDImagePicker/Images/icn_icn_cam.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Darren-chenchen/IDealist/341a4728cd601d80c4cd7a9e6be45fc7087c1f7a/IDealist/IDealist/IDImagePicker/Images/icn_icn_cam.png -------------------------------------------------------------------------------- /IDealist/IDealist/IDImagePicker/Images/icn_icn_cam@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Darren-chenchen/IDealist/341a4728cd601d80c4cd7a9e6be45fc7087c1f7a/IDealist/IDealist/IDImagePicker/Images/icn_icn_cam@2x.png -------------------------------------------------------------------------------- /IDealist/IDealist/IDImagePicker/Images/icn_icn_cam@3x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Darren-chenchen/IDealist/341a4728cd601d80c4cd7a9e6be45fc7087c1f7a/IDealist/IDealist/IDImagePicker/Images/icn_icn_cam@3x.png -------------------------------------------------------------------------------- /IDealist/IDealist/IDImagePicker/Images/icn_icn_choose.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Darren-chenchen/IDealist/341a4728cd601d80c4cd7a9e6be45fc7087c1f7a/IDealist/IDealist/IDImagePicker/Images/icn_icn_choose.png -------------------------------------------------------------------------------- /IDealist/IDealist/IDImagePicker/Images/icn_icn_choose@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Darren-chenchen/IDealist/341a4728cd601d80c4cd7a9e6be45fc7087c1f7a/IDealist/IDealist/IDImagePicker/Images/icn_icn_choose@2x.png -------------------------------------------------------------------------------- /IDealist/IDealist/IDImagePicker/Images/icn_icn_choose@3x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Darren-chenchen/IDealist/341a4728cd601d80c4cd7a9e6be45fc7087c1f7a/IDealist/IDealist/IDImagePicker/Images/icn_icn_choose@3x.png -------------------------------------------------------------------------------- /IDealist/IDealist/IDImagePicker/Images/icn_icn_cut.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Darren-chenchen/IDealist/341a4728cd601d80c4cd7a9e6be45fc7087c1f7a/IDealist/IDealist/IDImagePicker/Images/icn_icn_cut.png -------------------------------------------------------------------------------- /IDealist/IDealist/IDImagePicker/Images/icn_icn_cut@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Darren-chenchen/IDealist/341a4728cd601d80c4cd7a9e6be45fc7087c1f7a/IDealist/IDealist/IDImagePicker/Images/icn_icn_cut@2x.png -------------------------------------------------------------------------------- /IDealist/IDealist/IDImagePicker/Images/icn_icn_cut@3x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Darren-chenchen/IDealist/341a4728cd601d80c4cd7a9e6be45fc7087c1f7a/IDealist/IDealist/IDImagePicker/Images/icn_icn_cut@3x.png -------------------------------------------------------------------------------- /IDealist/IDealist/IDImagePicker/Images/icn_icn_del.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Darren-chenchen/IDealist/341a4728cd601d80c4cd7a9e6be45fc7087c1f7a/IDealist/IDealist/IDImagePicker/Images/icn_icn_del.png -------------------------------------------------------------------------------- /IDealist/IDealist/IDImagePicker/Images/icn_icn_del@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Darren-chenchen/IDealist/341a4728cd601d80c4cd7a9e6be45fc7087c1f7a/IDealist/IDealist/IDImagePicker/Images/icn_icn_del@2x.png -------------------------------------------------------------------------------- /IDealist/IDealist/IDImagePicker/Images/icn_icn_del@3x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Darren-chenchen/IDealist/341a4728cd601d80c4cd7a9e6be45fc7087c1f7a/IDealist/IDealist/IDImagePicker/Images/icn_icn_del@3x.png -------------------------------------------------------------------------------- /IDealist/IDealist/IDImagePicker/Images/icn_icn_finish.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Darren-chenchen/IDealist/341a4728cd601d80c4cd7a9e6be45fc7087c1f7a/IDealist/IDealist/IDImagePicker/Images/icn_icn_finish.png -------------------------------------------------------------------------------- /IDealist/IDealist/IDImagePicker/Images/icn_icn_finish@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Darren-chenchen/IDealist/341a4728cd601d80c4cd7a9e6be45fc7087c1f7a/IDealist/IDealist/IDImagePicker/Images/icn_icn_finish@2x.png -------------------------------------------------------------------------------- /IDealist/IDealist/IDImagePicker/Images/icn_icn_finish@3x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Darren-chenchen/IDealist/341a4728cd601d80c4cd7a9e6be45fc7087c1f7a/IDealist/IDealist/IDImagePicker/Images/icn_icn_finish@3x.png -------------------------------------------------------------------------------- /IDealist/IDealist/IDImagePicker/Images/icn_icn_text.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Darren-chenchen/IDealist/341a4728cd601d80c4cd7a9e6be45fc7087c1f7a/IDealist/IDealist/IDImagePicker/Images/icn_icn_text.png -------------------------------------------------------------------------------- /IDealist/IDealist/IDImagePicker/Images/icn_icn_text@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Darren-chenchen/IDealist/341a4728cd601d80c4cd7a9e6be45fc7087c1f7a/IDealist/IDealist/IDImagePicker/Images/icn_icn_text@2x.png -------------------------------------------------------------------------------- /IDealist/IDealist/IDImagePicker/Images/icn_icn_text@3x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Darren-chenchen/IDealist/341a4728cd601d80c4cd7a9e6be45fc7087c1f7a/IDealist/IDealist/IDImagePicker/Images/icn_icn_text@3x.png -------------------------------------------------------------------------------- /IDealist/IDealist/IDImagePicker/Images/photo_sel_photoPicker.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Darren-chenchen/IDealist/341a4728cd601d80c4cd7a9e6be45fc7087c1f7a/IDealist/IDealist/IDImagePicker/Images/photo_sel_photoPicker.png -------------------------------------------------------------------------------- /IDealist/IDealist/IDImagePicker/Images/photo_sel_photoPicker2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Darren-chenchen/IDealist/341a4728cd601d80c4cd7a9e6be45fc7087c1f7a/IDealist/IDealist/IDImagePicker/Images/photo_sel_photoPicker2.png -------------------------------------------------------------------------------- /IDealist/IDealist/IDImagePicker/Images/takePicture.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Darren-chenchen/IDealist/341a4728cd601d80c4cd7a9e6be45fc7087c1f7a/IDealist/IDealist/IDImagePicker/Images/takePicture.png -------------------------------------------------------------------------------- /IDealist/IDealist/IDImagePicker/controller/IDEditorViewController.swift: -------------------------------------------------------------------------------- 1 | // 2 | // IDEditorViewController.swift 3 | // IDImagePicker-IOS 4 | // 5 | // Created by darren on 2018/12/6. 6 | // Copyright © 2018年 陈亮陈亮. All rights reserved. 7 | // 8 | 9 | import UIKit 10 | 11 | class IDEditorViewController: UIViewController { 12 | 13 | @IBOutlet weak var bottomHYs: NSLayoutConstraint! 14 | @IBOutlet weak var iconView: UIImageView! 15 | @IBOutlet weak var cancelBtn: UIButton! 16 | @IBOutlet weak var sureBtn: UIButton! 17 | 18 | var model: PreviewModel = PreviewModel() 19 | 20 | override func viewDidLoad() { 21 | super.viewDidLoad() 22 | 23 | self.iconView.contentMode = .scaleAspectFit 24 | self.bottomHYs.constant = 60 + SaveAreaHeight 25 | 26 | if model.phAsset == nil { 27 | return 28 | } 29 | 30 | self.iconView.image = self.model.img 31 | // CLPickersTools.instence.getAssetOrigin(asset: model.phAsset!) { (img, info) in 32 | // if img != nil { 33 | // self.iconView.image = img! 34 | // } else { // 说明本地没有需要到iCloud下载 35 | // } 36 | // } 37 | } 38 | 39 | @IBAction func clickCancelBtn(_ sender: Any) { 40 | self.dismiss(animated: false, completion: nil) 41 | } 42 | @IBAction func clickDoneBtn(_ sender: Any) { 43 | } 44 | @IBAction func clickEditorTextBtn(_ sender: Any) { 45 | } 46 | @IBAction func clickCutBtn(_ sender: Any) { 47 | } 48 | } 49 | -------------------------------------------------------------------------------- /IDealist/IDealist/IDImagePicker/en.lproj/Localizable.strings: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Darren-chenchen/IDealist/341a4728cd601d80c4cd7a9e6be45fc7087c1f7a/IDealist/IDealist/IDImagePicker/en.lproj/Localizable.strings -------------------------------------------------------------------------------- /IDealist/IDealist/IDImagePicker/model/PreviewModel.swift: -------------------------------------------------------------------------------- 1 | // 2 | // PreviewModel.swift 3 | // CLImagePickerTool 4 | // 5 | // Created by darren on 2017/8/9. 6 | // Copyright © 2017年 陈亮陈亮. All rights reserved. 7 | // 8 | 9 | import UIKit 10 | import Photos 11 | import PhotosUI 12 | 13 | 14 | class PreviewModel: NSObject { 15 | 16 | @objc var phAsset: PHAsset? 17 | @objc var downLoadProgress: CGFloat = 100 // 默认100 18 | @objc var index: Int = 0 19 | @objc var isCheck = true 20 | var img: UIImage? 21 | } 22 | -------------------------------------------------------------------------------- /IDealist/IDealist/IDImagePicker/pop/AlertViews/MessageStyleView.swift: -------------------------------------------------------------------------------- 1 | // 2 | // messageStyleView.swift 3 | // testPop 4 | // 5 | // Created by darren on 2017/6/28. 6 | // Copyright © 2017年 陈亮陈亮. All rights reserved. 7 | // 8 | 9 | import UIKit 10 | 11 | class MessageStyleView: UIView { 12 | @objc var leftHendle: leftHendleClouse? 13 | @objc var rightHendle: rightHendleClouse? 14 | @objc var middleHendle: middleHendleClouse? 15 | 16 | @IBOutlet weak var middleBtn: UIButton! 17 | @IBOutlet weak var contentLableBottomYS: NSLayoutConstraint! 18 | @IBOutlet weak var btnsBottomView: UIView! 19 | @IBOutlet weak var rightBtn: UIButton! 20 | @IBOutlet weak var leftBtn: UIButton! 21 | @IBOutlet weak var contentLabel: UILabel! 22 | 23 | @objc static func show() -> MessageStyleView { 24 | return BundleUtil.getCurrentBundle().loadNibNamed("MessageStyleView", owner: nil, options: nil)?.last as! MessageStyleView 25 | } 26 | 27 | override func awakeFromNib() { 28 | super.awakeFromNib() 29 | self.layer.cornerRadius = 8 30 | self.layer.masksToBounds = true 31 | } 32 | 33 | @IBAction func clickRightBtn(_ sender: Any) { 34 | if rightHendle != nil { 35 | rightHendle!() 36 | } 37 | 38 | } 39 | @IBAction func clickLeftBtn(_ sender: Any) { 40 | if leftHendle != nil { 41 | leftHendle!() 42 | } 43 | 44 | } 45 | 46 | @IBAction func clickMiddleBtn(_ sender: Any) { 47 | if middleHendle != nil { 48 | middleHendle!() 49 | } 50 | } 51 | 52 | } 53 | -------------------------------------------------------------------------------- /IDealist/IDealist/IDImagePicker/pop/AlertViews/NomalStyleView.swift: -------------------------------------------------------------------------------- 1 | // 2 | // nomalStyleView.swift 3 | // testPop 4 | // 5 | // Created by darren on 2017/6/28. 6 | // Copyright © 2017年 陈亮陈亮. All rights reserved. 7 | // 8 | 9 | import UIKit 10 | 11 | typealias leftHendleClouse = () -> () 12 | typealias rightHendleClouse = () -> () 13 | typealias middleHendleClouse = () -> () 14 | 15 | class NomalStyleView: UIView { 16 | 17 | @objc var leftHendle: leftHendleClouse? 18 | @objc var rightHendle: rightHendleClouse? 19 | @objc var middleHendle: middleHendleClouse? 20 | 21 | @IBOutlet weak var contentLableBottomYS: NSLayoutConstraint! 22 | @IBOutlet weak var btnsBottomView: UIView! 23 | @IBOutlet weak var rightBtn: UIButton! 24 | @IBOutlet weak var leftBtn: UIButton! 25 | @IBOutlet weak var contentLabel: UILabel! 26 | @IBOutlet weak var titleLabel: UILabel! 27 | 28 | @objc static func show() -> NomalStyleView { 29 | return BundleUtil.getCurrentBundle().loadNibNamed("NomalStyleView", owner: nil, options: nil)?.last as! NomalStyleView 30 | } 31 | 32 | override func awakeFromNib() { 33 | super.awakeFromNib() 34 | self.layer.cornerRadius = 8 35 | self.layer.masksToBounds = true 36 | } 37 | 38 | override init(frame: CGRect) { 39 | super.init(frame: frame) 40 | } 41 | 42 | required init?(coder aDecoder: NSCoder) { 43 | super.init(coder: aDecoder) 44 | } 45 | @IBAction func clickRightBtn(_ sender: Any) { 46 | if rightHendle != nil { 47 | rightHendle!() 48 | } 49 | 50 | } 51 | @IBAction func clickLeftBtn(_ sender: Any) { 52 | if leftHendle != nil { 53 | leftHendle!() 54 | } 55 | 56 | } 57 | } 58 | -------------------------------------------------------------------------------- /IDealist/IDealist/IDImagePicker/views/CLImagePickerCamaroCell.swift: -------------------------------------------------------------------------------- 1 | // 2 | // CLImagePickerCamaroCell.swift 3 | // ImageDeal 4 | // 5 | // Created by darren on 2017/8/2. 6 | // Copyright © 2017年 陈亮陈亮. All rights reserved. 7 | // 8 | 9 | import UIKit 10 | 11 | typealias clickCamaroCellClouse = () -> () 12 | 13 | class CLImagePickerCamaroCell: UICollectionViewCell { 14 | 15 | @objc var clickCamaroCell: clickCamaroCellClouse? 16 | 17 | @objc lazy var iconView: UIImageView = { 18 | let img = UIImageView.init(frame: CGRect(x: 0, y: 0, width: cellH, height: cellH)) 19 | 20 | img.image = UIImage(named: "takePicture", in: BundleUtil.getCurrentBundle(), compatibleWith: nil) 21 | img.isUserInteractionEnabled = true 22 | return img 23 | }() 24 | 25 | override init(frame: CGRect) { 26 | super.init(frame: frame) 27 | 28 | self.addSubview(self.iconView) 29 | self.iconView.addGestureRecognizer(UITapGestureRecognizer.init(target: self, action: #selector(clickImage))) 30 | } 31 | 32 | @objc func clickImage() { 33 | if clickCamaroCell != nil { 34 | self.clickCamaroCell!() 35 | } 36 | } 37 | 38 | override func layoutSubviews() { 39 | super.layoutSubviews() 40 | self.iconView.frame = CGRect(x: 0, y: 0, width: cellH, height: cellH) 41 | } 42 | required init?(coder aDecoder: NSCoder) { 43 | fatalError("init(coder:) has not been implemented") 44 | } 45 | } 46 | -------------------------------------------------------------------------------- /IDealist/IDealist/IDImagePicker/views/MiniCell.swift: -------------------------------------------------------------------------------- 1 | // 2 | // MiniCell.swift 3 | // IDImagePicker-IOS 4 | // 5 | // Created by darren on 2018/12/6. 6 | // Copyright © 2018年 陈亮陈亮. All rights reserved. 7 | // 8 | 9 | import UIKit 10 | 11 | class MiniCell: UICollectionViewCell { 12 | lazy var iconView: UIImageView = { 13 | let img = UIImageView.init(frame: CGRect(x: 0, y: 0, width: self.cl_width, height: self.cl_height)) 14 | img.isUserInteractionEnabled = true 15 | img.contentMode = .scaleAspectFit 16 | return img 17 | }() 18 | 19 | override init(frame: CGRect) { 20 | super.init(frame: frame) 21 | 22 | self.addSubview(self.iconView) 23 | self.iconView.addGestureRecognizer(UITapGestureRecognizer.init(target: self, action: #selector(clickImage))) 24 | } 25 | 26 | required init?(coder aDecoder: NSCoder) { 27 | super.init(coder: aDecoder) 28 | } 29 | @objc func clickImage() { 30 | } 31 | } 32 | -------------------------------------------------------------------------------- /IDealist/IDealist/IDImagePicker/zh-Hans.lproj/Localizable.strings: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Darren-chenchen/IDealist/341a4728cd601d80c4cd7a9e6be45fc7087c1f7a/IDealist/IDealist/IDImagePicker/zh-Hans.lproj/Localizable.strings -------------------------------------------------------------------------------- /IDealist/IDealist/IDLoading/Components/Config.swift: -------------------------------------------------------------------------------- 1 | // 2 | // Config.swift 3 | // IDLoading 4 | // 5 | // Created by darren on 2018/11/23. 6 | // Copyright © 2018年 陈亮陈亮. All rights reserved. 7 | // 8 | 9 | import UIKit 10 | public enum IDLoadingUtilLoadingType { 11 | case wait // 会阻止用户交互, 需要等待加载完成 12 | case nav // 一条进度线条 13 | case free // 不会阻止用户交互 14 | } 15 | -------------------------------------------------------------------------------- /IDealist/IDealist/IDLoading/Images/icn_icn_loading.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Darren-chenchen/IDealist/341a4728cd601d80c4cd7a9e6be45fc7087c1f7a/IDealist/IDealist/IDLoading/Images/icn_icn_loading.png -------------------------------------------------------------------------------- /IDealist/IDealist/IDLoading/Images/icn_icn_loading@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Darren-chenchen/IDealist/341a4728cd601d80c4cd7a9e6be45fc7087c1f7a/IDealist/IDealist/IDLoading/Images/icn_icn_loading@2x.png -------------------------------------------------------------------------------- /IDealist/IDealist/IDLoading/Images/icn_icn_loading@3x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Darren-chenchen/IDealist/341a4728cd601d80c4cd7a9e6be45fc7087c1f7a/IDealist/IDealist/IDLoading/Images/icn_icn_loading@3x.png -------------------------------------------------------------------------------- /IDealist/IDealist/IDScanCode/Components/BMScan.h: -------------------------------------------------------------------------------- 1 | // 2 | // BMScan.h 3 | // BMScanDemo 4 | // 5 | // Created by ___liangdahong on 2017/6/21. 6 | // Copyright © http://idhong.com All rights reserved. 7 | // Copyright © https://github.com/asiosldh/BMScan All rights reserved. 8 | // 9 | 10 | #ifndef BMScan_h 11 | #define BMScan_h 12 | #import "BMScanDefaultCotroller.h" 13 | #import "BMDefaultUIView.h" 14 | #import "UIImage+BMScan.h" 15 | 16 | #endif 17 | -------------------------------------------------------------------------------- /IDealist/IDealist/IDScanCode/Components/BMScanController.h: -------------------------------------------------------------------------------- 1 | // 2 | // BMScanController.h 3 | // BMScanDemo 4 | // 5 | // Created by ___liangdahong on 2017/4/28. 6 | // Copyright © http://idhong.com All rights reserved. 7 | // Copyright © https://github.com/asiosldh/BMScan All rights reserved. 8 | // 9 | 10 | #import 11 | #import 12 | typedef void(^BMPhotoAlbumQRCodeBlock)(NSArray *codeArray); 13 | 14 | /** 15 | 扫描控制器的基类 16 | */ 17 | @interface BMScanController : UIViewController 18 | 19 | #pragma mark - 扫描响应 20 | 21 | /** 22 | 开始扫描 23 | */ 24 | - (void)startScanning NS_REQUIRES_SUPER; 25 | 26 | /** 27 | 结束扫描 28 | */ 29 | - (void)closureScanning NS_REQUIRES_SUPER; 30 | 31 | /** 32 | 扫描到内容时回调 33 | */ 34 | - (void)scanCaptureWithValueString:(NSString *)valueString NS_REQUIRES_SUPER; 35 | 36 | #pragma mark - 配置信息 37 | 38 | /** 39 | 设置可以识别区域 40 | */ 41 | - (CGRect)rectOfInterest; 42 | 43 | #pragma mark - 操作 44 | 45 | /** 46 | 刷新扫描 47 | */ 48 | - (void)reloadScan NS_REQUIRES_SUPER; 49 | 50 | @property (assign, nonatomic) AVCaptureTorchMode torchMode; ///< torchMode 51 | @property (nonatomic, assign, getter=isAudio) BOOL audio; ///< 扫描到内容的提示音 52 | @property (nonatomic, assign) SystemSoundID audioID; ///< audioID 53 | 54 | @end 55 | 56 | #pragma mark - 二维码识别相关 57 | 58 | /** 59 | 二维码识别相关 60 | */ 61 | @interface NSObject (BMIdentify) 62 | 63 | /** 64 | 打开相册识别二维码 65 | */ 66 | + (void)bm_identifyPhotoAlbumQRCodeWithResultsBlock:(BMPhotoAlbumQRCodeBlock)resultsBlock; 67 | 68 | /** 69 | 识别图片中的二维码 70 | */ 71 | + (NSArray *)bm_codeArrayWithImage:(UIImage *)image; 72 | 73 | @end 74 | -------------------------------------------------------------------------------- /IDealist/IDealist/IDScanCode/Components/BundleTools.h: -------------------------------------------------------------------------------- 1 | // 2 | // BundleTools.h 3 | // IDScanCode 4 | // 5 | // Created by darren on 2018/12/22. 6 | // Copyright © 2018年 haiding.123.com. All rights reserved. 7 | // 8 | 9 | #import 10 | 11 | NS_ASSUME_NONNULL_BEGIN 12 | @interface BundleTools : NSObject 13 | + (NSBundle*)getCurrentBundle; 14 | @end 15 | 16 | NS_ASSUME_NONNULL_END 17 | -------------------------------------------------------------------------------- /IDealist/IDealist/IDScanCode/Components/BundleTools.m: -------------------------------------------------------------------------------- 1 | // 2 | // BundleTools.m 3 | // IDScanCode 4 | // 5 | // Created by darren on 2018/12/22. 6 | // Copyright © 2018年 haiding.123.com. All rights reserved. 7 | // 8 | 9 | #import "BundleTools.h" 10 | @implementation BundleTools 11 | + (NSBundle*)getCurrentBundle { 12 | NSBundle *podBundle = [NSBundle bundleForClass: self.class]; 13 | NSURL *bundleURL = [podBundle URLForResource: @"IDealist" withExtension: @"bundle"]; 14 | NSBundle *bundle = NSBundle.mainBundle; 15 | if (bundleURL != nil) { 16 | bundle = [NSBundle bundleWithURL:bundleURL]; 17 | } 18 | return bundle; 19 | } 20 | @end 21 | -------------------------------------------------------------------------------- /IDealist/IDealist/IDScanCode/Components/IDealist.h: -------------------------------------------------------------------------------- 1 | // 2 | // Header.h 3 | // IDScanCode 4 | // 5 | // Created by darren on 2018/12/22. 6 | // Copyright © 2018年 haiding.123.com. All rights reserved. 7 | // 8 | 9 | #ifndef Header_h 10 | #define Header_h 11 | 12 | #import "BMScanDefaultCotroller.h" 13 | #import "BMDefaultUIView.h" 14 | #import "UIImage+BMScan.h" 15 | #endif /* Header_h */ 16 | -------------------------------------------------------------------------------- /IDealist/IDealist/IDScanCode/Components/UIImage+BMScan.h: -------------------------------------------------------------------------------- 1 | // 2 | // UIImage+BMScan.h 3 | // BMScanDemo 4 | // 5 | // Created by __liangdahong on 2017/4/30. 6 | // Copyright © http://idhong.com All rights reserved. 7 | // Copyright © https://github.com/asiosldh/BMScan All rights reserved. 8 | // 9 | 10 | #import 11 | /** 12 | 工具类 13 | */ 14 | @interface UIImage (BMScan) 15 | 16 | @property (copy, nonatomic, readonly) NSArray *bm_identifyCodeArray; ///< 识别图片中的二维码/条形码数据 17 | 18 | /*! 19 | * @brief 生成条形码 20 | * 21 | * @param barCode 条形码字符串 22 | * @param maxSize 最大size 23 | * 24 | * @return 生成的条形码 25 | */ 26 | + (instancetype)bm_imageWithBarCode:(NSString *)barCode maxSize:(CGSize)maxSize; 27 | 28 | /*! 29 | * @brief 生成二维码 30 | * 31 | * @param qrCode 二维码字符串 32 | * @param maxSize 最大size 33 | * 34 | * @return 生成的二维码 35 | */ 36 | + (instancetype)bm_imageWithQRCode:(NSString *)qrCode maxSize:(CGSize)maxSize; 37 | 38 | #pragma mark - 39 | 40 | /** 41 | 由颜色创建image 42 | */ 43 | - (instancetype)bm_imageWithColor:(UIColor *)color; 44 | 45 | /** 46 | 加载image 47 | */ 48 | + (instancetype)bm_loadImageWithName:(NSString *)name; 49 | 50 | @end 51 | 52 | -------------------------------------------------------------------------------- /IDealist/IDealist/IDScanCode/IDealist-Bridging-Header.h: -------------------------------------------------------------------------------- 1 | // 2 | // Use this file to import your target's public headers that you would like to expose to Swift. 3 | // 4 | 5 | #import "BMScanController.h" 6 | #import "BMScanDefaultCotroller.h" 7 | -------------------------------------------------------------------------------- /IDealist/IDealist/IDScanCode/Images/bm_scan_image_qr_corner_001_@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Darren-chenchen/IDealist/341a4728cd601d80c4cd7a9e6be45fc7087c1f7a/IDealist/IDealist/IDScanCode/Images/bm_scan_image_qr_corner_001_@2x.png -------------------------------------------------------------------------------- /IDealist/IDealist/IDScanCode/Images/bm_scan_image_qr_corner_002_@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Darren-chenchen/IDealist/341a4728cd601d80c4cd7a9e6be45fc7087c1f7a/IDealist/IDealist/IDScanCode/Images/bm_scan_image_qr_corner_002_@2x.png -------------------------------------------------------------------------------- /IDealist/IDealist/IDScanCode/Images/bm_scan_image_qr_corner_003_@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Darren-chenchen/IDealist/341a4728cd601d80c4cd7a9e6be45fc7087c1f7a/IDealist/IDealist/IDScanCode/Images/bm_scan_image_qr_corner_003_@2x.png -------------------------------------------------------------------------------- /IDealist/IDealist/IDScanCode/Images/bm_scan_image_qr_corner_004_@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Darren-chenchen/IDealist/341a4728cd601d80c4cd7a9e6be45fc7087c1f7a/IDealist/IDealist/IDScanCode/Images/bm_scan_image_qr_corner_004_@2x.png -------------------------------------------------------------------------------- /IDealist/IDealist/IDScanCode/Images/bm_scan_image_qr_newbarcode_light_off@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Darren-chenchen/IDealist/341a4728cd601d80c4cd7a9e6be45fc7087c1f7a/IDealist/IDealist/IDScanCode/Images/bm_scan_image_qr_newbarcode_light_off@2x.png -------------------------------------------------------------------------------- /IDealist/IDealist/IDScanCode/Images/bm_scan_image_qr_newbarcode_light_on@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Darren-chenchen/IDealist/341a4728cd601d80c4cd7a9e6be45fc7087c1f7a/IDealist/IDealist/IDScanCode/Images/bm_scan_image_qr_newbarcode_light_on@2x.png -------------------------------------------------------------------------------- /IDealist/IDealist/IDScanCode/Images/bm_scan_image_qr_scan_line@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Darren-chenchen/IDealist/341a4728cd601d80c4cd7a9e6be45fc7087c1f7a/IDealist/IDealist/IDScanCode/Images/bm_scan_image_qr_scan_line@2x.png -------------------------------------------------------------------------------- /IDealist/IDealist/IDScanCode/Images/icn_back_white@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Darren-chenchen/IDealist/341a4728cd601d80c4cd7a9e6be45fc7087c1f7a/IDealist/IDealist/IDScanCode/Images/icn_back_white@2x.png -------------------------------------------------------------------------------- /IDealist/IDealist/IDScanCode/Images/icn_back_white@3x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Darren-chenchen/IDealist/341a4728cd601d80c4cd7a9e6be45fc7087c1f7a/IDealist/IDealist/IDScanCode/Images/icn_back_white@3x.png -------------------------------------------------------------------------------- /IDealist/IDealist/IDScanCode/Images/icn_light@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Darren-chenchen/IDealist/341a4728cd601d80c4cd7a9e6be45fc7087c1f7a/IDealist/IDealist/IDScanCode/Images/icn_light@2x.png -------------------------------------------------------------------------------- /IDealist/IDealist/IDScanCode/Images/icn_light@3x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Darren-chenchen/IDealist/341a4728cd601d80c4cd7a9e6be45fc7087c1f7a/IDealist/IDealist/IDScanCode/Images/icn_light@3x.png -------------------------------------------------------------------------------- /IDealist/IDealist/IDScanCode/Images/icn_light_s@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Darren-chenchen/IDealist/341a4728cd601d80c4cd7a9e6be45fc7087c1f7a/IDealist/IDealist/IDScanCode/Images/icn_light_s@2x.png -------------------------------------------------------------------------------- /IDealist/IDealist/IDScanCode/Images/icn_light_s@3x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Darren-chenchen/IDealist/341a4728cd601d80c4cd7a9e6be45fc7087c1f7a/IDealist/IDealist/IDScanCode/Images/icn_light_s@3x.png -------------------------------------------------------------------------------- /IDealist/IDealist/IDScanCode/Images/qrcode_scan_full_net.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Darren-chenchen/IDealist/341a4728cd601d80c4cd7a9e6be45fc7087c1f7a/IDealist/IDealist/IDScanCode/Images/qrcode_scan_full_net.png -------------------------------------------------------------------------------- /IDealist/IDealist/IDScanCode/Images/qrcode_scan_part_net.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Darren-chenchen/IDealist/341a4728cd601d80c4cd7a9e6be45fc7087c1f7a/IDealist/IDealist/IDScanCode/Images/qrcode_scan_part_net.png -------------------------------------------------------------------------------- /IDealist/IDealist/IDToast/Components/IDToast.swift: -------------------------------------------------------------------------------- 1 | // 2 | // HDToast.swift 3 | // Ideal 4 | // 5 | // Created by darren on 2018/8/23. 6 | // Copyright © 2018年 陈亮陈亮. All rights reserved. 7 | // 8 | 9 | import UIKit 10 | 11 | public enum IDToastPosition { 12 | case top 13 | case middle 14 | case bottom 15 | } 16 | public class IDToast: NSObject { 17 | // 默认纯文本、展示在window上、2秒消失、中间位置 18 | // onView: 可以指定显示在指定的view上 19 | // success=nil,展示纯文本,success=false展示错误的图片,success=true展示成功的图片 20 | // position: 展示的位置 21 | public static func id_show(msg: String, onView:UIView? = nil,success: IDToastUtilsImageType? = nil,duration:CGFloat? = nil, position: IDToastPosition? = .middle) { 22 | DispatchQueue.main.async { 23 | _ = IDToastUtils.init(msg: msg, onView: onView, success: success, duration: duration, position: position) 24 | } 25 | } 26 | 27 | } 28 | -------------------------------------------------------------------------------- /IDealist/IDealist/IDToast/Images/ic_toast_success.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Darren-chenchen/IDealist/341a4728cd601d80c4cd7a9e6be45fc7087c1f7a/IDealist/IDealist/IDToast/Images/ic_toast_success.png -------------------------------------------------------------------------------- /IDealist/IDealist/IDToast/Images/ic_toast_success@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Darren-chenchen/IDealist/341a4728cd601d80c4cd7a9e6be45fc7087c1f7a/IDealist/IDealist/IDToast/Images/ic_toast_success@2x.png -------------------------------------------------------------------------------- /IDealist/IDealist/IDToast/Images/ic_toast_success@3x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Darren-chenchen/IDealist/341a4728cd601d80c4cd7a9e6be45fc7087c1f7a/IDealist/IDealist/IDToast/Images/ic_toast_success@3x.png -------------------------------------------------------------------------------- /IDealist/IDealist/IDToast/Images/icn_icn_fail.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Darren-chenchen/IDealist/341a4728cd601d80c4cd7a9e6be45fc7087c1f7a/IDealist/IDealist/IDToast/Images/icn_icn_fail.png -------------------------------------------------------------------------------- /IDealist/IDealist/IDToast/Images/icn_icn_fail@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Darren-chenchen/IDealist/341a4728cd601d80c4cd7a9e6be45fc7087c1f7a/IDealist/IDealist/IDToast/Images/icn_icn_fail@2x.png -------------------------------------------------------------------------------- /IDealist/IDealist/IDToast/Images/icn_icn_fail@3x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Darren-chenchen/IDealist/341a4728cd601d80c4cd7a9e6be45fc7087c1f7a/IDealist/IDealist/IDToast/Images/icn_icn_fail@3x.png -------------------------------------------------------------------------------- /IDealist/IDealist/IDToast/Images/icon_sign.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Darren-chenchen/IDealist/341a4728cd601d80c4cd7a9e6be45fc7087c1f7a/IDealist/IDealist/IDToast/Images/icon_sign.png -------------------------------------------------------------------------------- /IDealist/IDealist/IDToast/Images/icon_sign@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Darren-chenchen/IDealist/341a4728cd601d80c4cd7a9e6be45fc7087c1f7a/IDealist/IDealist/IDToast/Images/icon_sign@2x.png -------------------------------------------------------------------------------- /IDealist/IDealist/IDToast/Images/icon_sign@3x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Darren-chenchen/IDealist/341a4728cd601d80c4cd7a9e6be45fc7087c1f7a/IDealist/IDealist/IDToast/Images/icon_sign@3x.png -------------------------------------------------------------------------------- /IDealist/IDealist/IDUIKit/Components/IDImage/IDImage.swift: -------------------------------------------------------------------------------- 1 | // 2 | // IDImageView.swift 3 | // IDUIKit-ios 4 | // 5 | // Created by darren on 2018/12/4. 6 | // Copyright © 2018年 陈亮陈亮. All rights reserved. 7 | // 8 | 9 | import UIKit 10 | 11 | public extension UIImage{ 12 | 13 | /// 通过颜色生成图片 14 | public class func id_renderImageWithColor(_ color: UIColor, size: CGSize) -> UIImage { 15 | UIGraphicsBeginImageContext(size) 16 | guard let context = UIGraphicsGetCurrentContext() else { 17 | UIGraphicsEndImageContext() 18 | return UIImage() 19 | } 20 | context.setFillColor(color.cgColor); 21 | context.fill(CGRect(x: 0, y: 0, width: size.width, height: size.height)); 22 | let img = UIGraphicsGetImageFromCurrentImageContext() 23 | UIGraphicsEndImageContext() 24 | return img ?? UIImage() 25 | } 26 | } 27 | -------------------------------------------------------------------------------- /IDealist/IDealist/IDUIKit/Components/IDProgressView/IDProgressView.swift: -------------------------------------------------------------------------------- 1 | // 2 | // IDProgressView.swift 3 | // IDUIKit-ios 4 | // 5 | // Created by darren on 2018/12/3. 6 | // Copyright © 2018年 陈亮陈亮. All rights reserved. 7 | // 8 | 9 | import UIKit 10 | 11 | public class IDProgressView: UIProgressView { 12 | override init(frame: CGRect) { 13 | super.init(frame: frame) 14 | 15 | self.common() 16 | } 17 | required init?(coder aDecoder: NSCoder) { 18 | super.init(coder: aDecoder) 19 | self.common() 20 | 21 | } 22 | 23 | func common() { 24 | self.progressTintColor = IDealistConfig.share.mainColor 25 | } 26 | 27 | } 28 | -------------------------------------------------------------------------------- /IDealist/IDealist/IDUIKit/Components/IDView/IDView.swift: -------------------------------------------------------------------------------- 1 | // 2 | // IDView.swift 3 | // IDUIKit-ios 4 | // 5 | // Created by darren on 2018/12/3. 6 | // Copyright © 2018年 陈亮陈亮. All rights reserved. 7 | // 8 | 9 | import UIKit 10 | 11 | public class IDView: UIView { 12 | 13 | override init(frame: CGRect) { 14 | super.init(frame: frame) 15 | self.common() 16 | } 17 | required init?(coder aDecoder: NSCoder) { 18 | super.init(coder: aDecoder) 19 | self.common() 20 | } 21 | 22 | func common() { 23 | } 24 | } 25 | -------------------------------------------------------------------------------- /IDealist/IDealist/IDUIKit/Images/ic_ssearch@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Darren-chenchen/IDealist/341a4728cd601d80c4cd7a9e6be45fc7087c1f7a/IDealist/IDealist/IDUIKit/Images/ic_ssearch@2x.png -------------------------------------------------------------------------------- /IDealist/IDealist/IDUIKit/Images/ic_ssearch@3x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Darren-chenchen/IDealist/341a4728cd601d80c4cd7a9e6be45fc7087c1f7a/IDealist/IDealist/IDUIKit/Images/ic_ssearch@3x.png -------------------------------------------------------------------------------- /IDealist/IDealist/IDUtils/IDArrayExtension.swift: -------------------------------------------------------------------------------- 1 | // 2 | // ArrayUtils.swift 3 | // Ideal-IOS 4 | // 5 | // Created by darren on 2018/12/4. 6 | // Copyright © 2018年 陈亮陈亮. All rights reserved. 7 | // 8 | 9 | import UIKit 10 | public extension Array { 11 | // 去重 12 | public func id_filterDuplicates(_ filter: (Element) -> E) -> [Element] { 13 | var result = [Element]() 14 | for value in self { 15 | let key = filter(value) 16 | if !result.map({filter($0)}).contains(key) { 17 | result.append(value) 18 | } 19 | } 20 | return result 21 | } 22 | } 23 | -------------------------------------------------------------------------------- /IDealist/IDealist/IDUtils/IDDeviceExtension.swift: -------------------------------------------------------------------------------- 1 | // 2 | // DeviceUtils.swift 3 | // Ideal-IOS 4 | // 5 | // Created by darren on 2018/12/4. 6 | // Copyright © 2018年 陈亮陈亮. All rights reserved. 7 | // 8 | 9 | import UIKit 10 | public extension UIDevice { 11 | /// iPhone X 在竖屏下,keyWindow 的 safeAreaInsets 值为:{top: 44, left: 0, bottom: 34, right: 0} 12 | /// 而在横屏下,其值为:{top: 0, left: 44, bottom: 21, right: 44} 13 | public static func id_isX() -> Bool { 14 | let window = UIApplication.shared.keyWindow 15 | if #available(iOS 11.0, *) { 16 | let bottomSafeInset = window?.safeAreaInsets.bottom 17 | if (bottomSafeInset == 34.0 || bottomSafeInset == 21.0) { 18 | return true 19 | } else { 20 | if (UIScreen.main.bounds.height > 800) { 21 | return true 22 | } else { 23 | return false 24 | } 25 | } 26 | } else { 27 | if (UIScreen.main.bounds.height > 800) { 28 | return true 29 | } else { 30 | return false 31 | } 32 | } 33 | } 34 | 35 | public static func id_isIOS11() -> Bool { 36 | if #available(iOS 11.0, *) { 37 | return true 38 | } else { 39 | return false 40 | } 41 | } 42 | } 43 | -------------------------------------------------------------------------------- /IDealist/IDealist/IDUtils/IDPlistUtils.swift: -------------------------------------------------------------------------------- 1 | // 2 | // PlistUtils.swift 3 | // Ideal-IOS 4 | // 5 | // Created by darren on 2018/12/4. 6 | // Copyright © 2018年 陈亮陈亮. All rights reserved. 7 | // 8 | 9 | import UIKit 10 | //读取Plist文件信息的工具类 11 | public class IDPlistUtils { 12 | 13 | public static func get(_ key: String) -> String { 14 | //防止崩溃 15 | if Bundle.main.object(forInfoDictionaryKey: key) != nil { 16 | return Bundle.main.object(forInfoDictionaryKey: key) as! String 17 | } 18 | 19 | return "" 20 | } 21 | 22 | //获取版本号 23 | public static func getBuildCode() -> String { 24 | if Bundle.main.object(forInfoDictionaryKey: "CFBundleVersion") != nil { 25 | return Bundle.main.object(forInfoDictionaryKey: "CFBundleVersion") as! String 26 | } 27 | 28 | return "" 29 | } 30 | 31 | //获取版本名称 32 | public static func getVersionCode() -> String { 33 | if Bundle.main.object(forInfoDictionaryKey: "CFBundleShortVersionString") != nil { 34 | return Bundle.main.object(forInfoDictionaryKey: "CFBundleShortVersionString") as! String 35 | } 36 | 37 | return "" 38 | } 39 | 40 | } 41 | -------------------------------------------------------------------------------- /IDealist/IDealist/IDUtils/IDStringExtension.swift: -------------------------------------------------------------------------------- 1 | // 2 | // StringUtils.swift 3 | // Ideal-IOS 4 | // 5 | // Created by darren on 2018/12/4. 6 | // Copyright © 2018年 陈亮陈亮. All rights reserved. 7 | // 8 | 9 | import UIKit 10 | public extension String { 11 | /// 字符串截取函数 12 | public func id_subString(to index: Int) -> String { 13 | if index >= self.count { 14 | return String(self[.. String { 20 | if index >= self.count { 21 | return String(self[self.index(self.startIndex, offsetBy: self.count)...]) 22 | } 23 | return String(self[self.index(self.startIndex, offsetBy: index)...]) 24 | } 25 | 26 | public func id_subString(from index: Int, offSet: Int) -> String { 27 | let begin = self.id_subString(from: index) 28 | let str = begin.id_subString(to: offSet) 29 | return str 30 | } 31 | 32 | /// range转换为NSRange 33 | public func id_range(from range: Range) -> NSRange? { 34 | let utf16view = self.utf16 35 | if let from = range.lowerBound.samePosition(in: utf16view), let to = range.upperBound.samePosition(in: utf16view) { 36 | return NSMakeRange(utf16view.distance(from: utf16view.startIndex, to: from), utf16view.distance(from: from, to: to)) 37 | } 38 | return nil 39 | } 40 | 41 | } 42 | -------------------------------------------------------------------------------- /IDealist/IDealist/IDUtils/IDUrlExtension.swift: -------------------------------------------------------------------------------- 1 | // 2 | // UrlUtils.swift 3 | // Ideal-IOS 4 | // 5 | // Created by darren on 2018/12/4. 6 | // Copyright © 2018年 陈亮陈亮. All rights reserved. 7 | // 8 | 9 | import UIKit 10 | public extension URL { 11 | // 过滤字符串中的特殊字符 12 | public static func id_init(string:String) -> URL? { 13 | let urlStrVaile = string.addingPercentEncoding(withAllowedCharacters: CharacterSet.urlQueryAllowed) 14 | return URL(string: urlStrVaile ?? "") 15 | } 16 | } 17 | -------------------------------------------------------------------------------- /IDealist/IDealist/IDUtils/IDViewControllerExtension.swift: -------------------------------------------------------------------------------- 1 | // 2 | // IDViewControllerUtils.swift 3 | // Ideal-IOS 4 | // 5 | // Created by darren on 2018/12/14. 6 | // Copyright © 2018年 陈亮陈亮. All rights reserved. 7 | // 8 | 9 | import UIKit 10 | public extension UIViewController { 11 | //MARK: - Returns: 当前控制器 12 | public func id_getCurrentViewcontroller() -> UIViewController?{ 13 | let rootController = UIApplication.shared.keyWindow?.rootViewController 14 | if let tabController = rootController as? UITabBarController { 15 | if let navController = tabController.selectedViewController as? UINavigationController{ 16 | return navController.children.last 17 | }else{ 18 | return tabController 19 | } 20 | }else if let navController = rootController as? UINavigationController { 21 | 22 | return navController.children.last 23 | }else{ 24 | 25 | return rootController 26 | } 27 | } 28 | } 29 | -------------------------------------------------------------------------------- /IDealist/IDealist/IDealistConfig.swift: -------------------------------------------------------------------------------- 1 | // 2 | // IDealistConfig.swift 3 | // IDUIKit-ios 4 | // 5 | // Created by darren on 2018/12/3. 6 | // Copyright © 2018年 陈亮陈亮. All rights reserved. 7 | // 8 | 9 | import UIKit 10 | 11 | public class IDealistConfig: NSObject { 12 | 13 | public static let share = IDealistConfig() 14 | 15 | // loading展示时间最长为60秒 16 | public var maxShowInterval: Float = 60 17 | 18 | /// switch主题色、progressView主题色、 19 | public var mainColor: UIColor = UIColor.init(red: 13/255.0, green: 133/255.0, blue: 255/255.0, alpha: 1) 20 | 21 | public func id_setupMainColor(color: UIColor) { 22 | self.mainColor = color 23 | } 24 | } 25 | 26 | 27 | -------------------------------------------------------------------------------- /IDealist/IDealist/Utils/BundleUtil.swift: -------------------------------------------------------------------------------- 1 | // 2 | // BundleUtil.swift 3 | // PopupAlert-iOS 4 | // 5 | // Created by darren on 2017/8/2. 6 | // Copyright © 2017年 陈亮陈亮. All rights reserved. 7 | // 8 | 9 | import UIKit 10 | import Foundation 11 | 12 | class BundleUtil { 13 | 14 | static func getCurrentBundle() -> Bundle{ 15 | 16 | let podBundle = Bundle(for: IDealistConfig.self) 17 | 18 | let bundleURL = podBundle.url(forResource: "IDealist", withExtension: "bundle") 19 | 20 | if bundleURL != nil { 21 | let bundle = Bundle(url: bundleURL!)! 22 | return bundle 23 | }else{ 24 | return Bundle.main 25 | } 26 | } 27 | 28 | static func cl_localizedStringForKey(key: String) -> String { 29 | return self.cl_localizedStringForKey(key: key, value: "") 30 | } 31 | 32 | static func cl_localizedStringForKey(key: String,value:String) -> String { 33 | var bundle: Bundle? = nil 34 | 35 | if bundle == nil { 36 | var language = NSLocale.preferredLanguages.first 37 | let r: Range? = language?.range(of: "zh-Hans") 38 | if r != nil { 39 | language = "zh-Hans" 40 | } else { 41 | language = "en" 42 | } 43 | 44 | bundle = Bundle(path: self.getCurrentBundle().path(forResource: language, ofType: "lproj")!) 45 | } 46 | 47 | let str = bundle?.localizedString(forKey: key, value: value, table: nil) 48 | return str ?? "" 49 | } 50 | } 51 | -------------------------------------------------------------------------------- /IDealist/ViewController.swift: -------------------------------------------------------------------------------- 1 | // 2 | // ViewController.swift 3 | // IDealist 4 | // 5 | // Created by darren on 2019/2/25. 6 | // Copyright © 2019年 haiding.123.com. All rights reserved. 7 | // 8 | 9 | import UIKit 10 | 11 | class ViewController: UIViewController { 12 | 13 | override func viewDidLoad() { 14 | super.viewDidLoad() 15 | // Do any additional setup after loading the view, typically from a nib. 16 | } 17 | 18 | 19 | } 20 | 21 | -------------------------------------------------------------------------------- /Podfile: -------------------------------------------------------------------------------- 1 | use_frameworks! 2 | 3 | target 'IDealist' do 4 | pod 'SnapKit' 5 | pod 'JXSegmentedView', '0.0.4' 6 | 7 | end 8 | -------------------------------------------------------------------------------- /Podfile.lock: -------------------------------------------------------------------------------- 1 | PODS: 2 | - JXSegmentedView (0.0.4) 3 | - SnapKit (4.2.0) 4 | 5 | DEPENDENCIES: 6 | - JXSegmentedView (= 0.0.4) 7 | - SnapKit 8 | 9 | SPEC CHECKSUMS: 10 | JXSegmentedView: 2b036fc37f26fbd369f79b8953c610efe19bd529 11 | SnapKit: fe8a619752f3f27075cc9a90244d75c6c3f27e2a 12 | 13 | PODFILE CHECKSUM: 8c876f5050f7a7dd31badc27d8ffe5787c56d8ce 14 | 15 | COCOAPODS: 1.4.0 16 | -------------------------------------------------------------------------------- /Pods/JXSegmentedView/LICENSE: -------------------------------------------------------------------------------- 1 | MIT License 2 | 3 | Copyright (c) 2018 暴走的鑫鑫 4 | 5 | Permission is hereby granted, free of charge, to any person obtaining a copy 6 | of this software and associated documentation files (the "Software"), to deal 7 | in the Software without restriction, including without limitation the rights 8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 9 | copies of the Software, and to permit persons to whom the Software is 10 | furnished to do so, subject to the following conditions: 11 | 12 | The above copyright notice and this permission notice shall be included in all 13 | copies or substantial portions of the Software. 14 | 15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 21 | SOFTWARE. 22 | -------------------------------------------------------------------------------- /Pods/JXSegmentedView/Sources/AttributeTitle/JXSegmentedTitleAttributeItemModel.swift: -------------------------------------------------------------------------------- 1 | // 2 | // JXSegmentedTitleAttributeItemModel.swift 3 | // JXSegmentedView 4 | // 5 | // Created by jiaxin on 2019/1/3. 6 | // Copyright © 2019 jiaxin. All rights reserved. 7 | // 8 | 9 | import UIKit 10 | 11 | open class JXSegmentedTitleAttributeItemModel: JXSegmentedBaseItemModel { 12 | open var attributedTitle: NSAttributedString? 13 | open var selectedAttributedTitle: NSAttributedString? 14 | open var titleNumberOfLines: Int = 0 15 | } 16 | -------------------------------------------------------------------------------- /Pods/JXSegmentedView/Sources/Common/JXSegmentedAnimator.swift: -------------------------------------------------------------------------------- 1 | // 2 | // JXSegmentedAnimator.swift 3 | // JXSegmentedView 4 | // 5 | // Created by jiaxin on 2019/1/21. 6 | // Copyright © 2019 jiaxin. All rights reserved. 7 | // 8 | 9 | import Foundation 10 | import UIKit 11 | 12 | open class JXSegmentedAnimator { 13 | open var duration: TimeInterval = 0.25 14 | open var progressClosure: ((CGFloat)->())? 15 | open var completedClosure: (()->())? 16 | private var displayLink: CADisplayLink! 17 | private var firstTimestamp: CFTimeInterval? 18 | 19 | deinit { 20 | progressClosure = nil 21 | completedClosure = nil 22 | } 23 | 24 | public init() { 25 | displayLink = CADisplayLink(target: self, selector: #selector(processDisplayLink(sender:))) 26 | } 27 | 28 | open func start() { 29 | displayLink.add(to: RunLoop.main, forMode: RunLoop.Mode.common) 30 | } 31 | 32 | open func stop() { 33 | displayLink.invalidate() 34 | completedClosure?() 35 | } 36 | 37 | @objc private func processDisplayLink(sender: CADisplayLink) { 38 | if firstTimestamp == nil { 39 | firstTimestamp = sender.timestamp 40 | } 41 | let percent = (sender.timestamp - firstTimestamp!)/duration 42 | if percent >= 1 { 43 | progressClosure?(1) 44 | displayLink.invalidate() 45 | completedClosure?() 46 | }else { 47 | progressClosure?(CGFloat(percent)) 48 | } 49 | } 50 | } 51 | -------------------------------------------------------------------------------- /Pods/JXSegmentedView/Sources/Core/JXSegmentedBaseItemModel.swift: -------------------------------------------------------------------------------- 1 | // 2 | // JXSegmentedBaseItemModel.swift 3 | // JXSegmentedView 4 | // 5 | // Created by jiaxin on 2018/12/26. 6 | // Copyright © 2018 jiaxin. All rights reserved. 7 | // 8 | 9 | import Foundation 10 | import UIKit 11 | 12 | open class JXSegmentedBaseItemModel { 13 | open var index: Int = 0 14 | open var isSelected: Bool = false 15 | open var itemWidth: CGFloat = 0 16 | /// 指示器视图Frame转换到cell 17 | open var indicatorConvertToItemFrame: CGRect = CGRect.zero 18 | open var isItemTransitionEnabled: Bool = true 19 | open var isSelectedAnimable: Bool = false 20 | open var selectedAnimationDuration: TimeInterval = 0 21 | /// 是否正在进行过渡动画 22 | open var isTransitionAnimating: Bool = false 23 | open var isItemWidthZoomEnabled: Bool = false 24 | open var itemWidthNormalZoomScale: CGFloat = 0 25 | open var itemWidthCurrentZoomScale: CGFloat = 0 26 | open var itemWidthSelectedZoomScale: CGFloat = 0 27 | } 28 | -------------------------------------------------------------------------------- /Pods/JXSegmentedView/Sources/Core/JXSegmentedCollectionView.swift: -------------------------------------------------------------------------------- 1 | // 2 | // JXSegmentedCollectionView.swift 3 | // JXSegmentedView 4 | // 5 | // Created by jiaxin on 2018/12/26. 6 | // Copyright © 2018 jiaxin. All rights reserved. 7 | // 8 | 9 | import UIKit 10 | 11 | open class JXSegmentedCollectionView: UICollectionView { 12 | 13 | open var indicators = [JXSegmentedIndicatorProtocol & UIView]() { 14 | willSet { 15 | for indicator in indicators { 16 | indicator.removeFromSuperview() 17 | } 18 | } 19 | didSet { 20 | for indicator in indicators { 21 | addSubview(indicator) 22 | } 23 | } 24 | } 25 | 26 | open override func layoutSubviews() { 27 | super.layoutSubviews() 28 | 29 | for indicator in indicators { 30 | sendSubviewToBack(indicator) 31 | } 32 | } 33 | 34 | } 35 | -------------------------------------------------------------------------------- /Pods/JXSegmentedView/Sources/Dot/JXSegmentedDotCell.swift: -------------------------------------------------------------------------------- 1 | // 2 | // JXSegmentedDotCell.swift 3 | // JXSegmentedView 4 | // 5 | // Created by jiaxin on 2018/12/28. 6 | // Copyright © 2018 jiaxin. All rights reserved. 7 | // 8 | 9 | import UIKit 10 | 11 | open class JXSegmentedDotCell: JXSegmentedTitleCell { 12 | open var dotView = UIView() 13 | 14 | open override func commonInit() { 15 | super.commonInit() 16 | 17 | contentView.addSubview(dotView) 18 | } 19 | 20 | open override func layoutSubviews() { 21 | super.layoutSubviews() 22 | 23 | guard let myItemModel = itemModel as? JXSegmentedDotItemModel else { 24 | return 25 | } 26 | 27 | dotView.center = CGPoint(x: titleLabel.frame.maxX + myItemModel.dotOffset.x, y: titleLabel.frame.minY + myItemModel.dotOffset.y) 28 | } 29 | 30 | open override func reloadData(itemModel: JXSegmentedBaseItemModel, selectedType: JXSegmentedViewItemSelectedType) { 31 | super.reloadData(itemModel: itemModel, selectedType: selectedType ) 32 | 33 | guard let myItemModel = itemModel as? JXSegmentedDotItemModel else { 34 | return 35 | } 36 | 37 | dotView.backgroundColor = myItemModel.dotColor 38 | dotView.bounds = CGRect(x: 0, y: 0, width: myItemModel.dotSize.width, height: myItemModel.dotSize.height) 39 | dotView.isHidden = !myItemModel.dotState 40 | dotView.layer.cornerRadius = myItemModel.dotCornerRadius 41 | } 42 | } 43 | -------------------------------------------------------------------------------- /Pods/JXSegmentedView/Sources/Dot/JXSegmentedDotItemModel.swift: -------------------------------------------------------------------------------- 1 | // 2 | // JXSegmentedDotItemModel.swift 3 | // JXSegmentedView 4 | // 5 | // Created by jiaxin on 2018/12/28. 6 | // Copyright © 2018 jiaxin. All rights reserved. 7 | // 8 | 9 | import UIKit 10 | 11 | open class JXSegmentedDotItemModel: JXSegmentedTitleItemModel { 12 | open var dotState = false 13 | open var dotSize = CGSize.zero 14 | open var dotCornerRadius: CGFloat = 0 15 | open var dotColor = UIColor.red 16 | open var dotOffset: CGPoint = CGPoint.zero 17 | } 18 | -------------------------------------------------------------------------------- /Pods/JXSegmentedView/Sources/Indicator/JXSegmentedComponetGradientView.swift: -------------------------------------------------------------------------------- 1 | // 2 | // JXSegmentedIndicatorGradientView.swift 3 | // JXSegmentedView 4 | // 5 | // Created by jiaxin on 2019/1/2. 6 | // Copyright © 2019 jiaxin. All rights reserved. 7 | // 8 | 9 | import UIKit 10 | 11 | open class JXSegmentedComponetGradientView: UIView { 12 | open class override var layerClass: AnyClass { 13 | return CAGradientLayer.self 14 | } 15 | 16 | open var gradientLayer: CAGradientLayer { 17 | return layer as! CAGradientLayer 18 | } 19 | } 20 | -------------------------------------------------------------------------------- /Pods/JXSegmentedView/Sources/Indicator/JXSegmentedIndicatorParamsModel.swift: -------------------------------------------------------------------------------- 1 | // 2 | // JXSegmentedIndicatorParamsModel.swift 3 | // JXSegmentedView 4 | // 5 | // Created by jiaxin on 2018/12/26. 6 | // Copyright © 2018 jiaxin. All rights reserved. 7 | // 8 | 9 | import Foundation 10 | import UIKit 11 | /** 12 | 指示器传递的数据模型,不同情况会对不同的属性赋值,根据不同情况的api说明确认。 13 | 为什么会通过model传递数据,因为指示器处理逻辑以后会扩展不同的使用场景,会新增参数。如果不通过model传递,就会在api新增参数,一旦修改api修改的地方就特别多了,而且会影响到之前自定义实现的开发者。 14 | */ 15 | open class JXSegmentedIndicatorParamsModel { 16 | /// collectionView的contentSize 17 | open var contentSize: CGSize = CGSize.zero 18 | /// 当前选中的index 19 | open var currentSelectedIndex: Int = 0 20 | /// 当前选中的cellFrame 21 | open var currentSelectedItemFrame: CGRect = CGRect.zero 22 | /// 正在过渡中的两个cell,相对位置在左边的cell的index 23 | open var leftIndex: Int = 0 24 | /// 正在过渡中的两个cell,相对位置在左边的cell的frame 25 | open var leftItemFrame: CGRect = CGRect.zero 26 | /// 正在过渡中的两个cell,相对位置在右边的cell的index 27 | open var rightIndex: Int = 0 28 | /// 正在过渡中的两个cell,相对位置在右边的cell的frame 29 | open var rightItemFrame: CGRect = CGRect.zero 30 | /// 正在过渡中的两个cell,从左到右的百分比 31 | open var percent: CGFloat = 0 32 | /// 之前选中的index 33 | open var lastSelectedIndex: Int = 0 34 | /// 选中的类型 35 | open var selectedType: JXSegmentedViewItemSelectedType = .unknown 36 | } 37 | -------------------------------------------------------------------------------- /Pods/JXSegmentedView/Sources/Indicator/JXSegmentedIndicatorRainbowLineView.swift: -------------------------------------------------------------------------------- 1 | // 2 | // JXSegmentedIndicatorRainbowLineView.swift 3 | // JXSegmentedView 4 | // 5 | // Created by jiaxin on 2018/12/28. 6 | // Copyright © 2018 jiaxin. All rights reserved. 7 | // 8 | 9 | import UIKit 10 | 11 | 12 | /// 会无视indicatorColor属性,以indicatorColors为准 13 | open class JXSegmentedIndicatorRainbowLineView: JXSegmentedIndicatorLineView { 14 | /// 数量需要与item的数量相等。默认空数组,必须要赋值该属性。segmentedView在reloadData的时候,也要一并更新该属性,不然会出现数组越界。 15 | open var indicatorColors = [UIColor]() 16 | 17 | open override func refreshIndicatorState(model: JXSegmentedIndicatorParamsModel) { 18 | super.refreshIndicatorState(model: model) 19 | 20 | backgroundColor = indicatorColors[model.currentSelectedIndex] 21 | } 22 | 23 | open override func contentScrollViewDidScroll(model: JXSegmentedIndicatorParamsModel) { 24 | super.contentScrollViewDidScroll(model: model) 25 | 26 | if model.percent == 0 || !isScrollEnabled { 27 | //model.percent等于0时不需要处理,会调用selectItem(model: JXSegmentedIndicatorParamsModel)方法处理 28 | //isScrollEnabled为false不需要处理 29 | return 30 | } 31 | 32 | backgroundColor = JXSegmentedViewTool.interpolateColor(from: indicatorColors[model.leftIndex], to: indicatorColors[model.rightIndex], percent: model.percent) 33 | } 34 | 35 | open override func selectItem(model: JXSegmentedIndicatorParamsModel) { 36 | super.selectItem(model: model) 37 | 38 | backgroundColor = indicatorColors[model.currentSelectedIndex] 39 | } 40 | 41 | } 42 | -------------------------------------------------------------------------------- /Pods/JXSegmentedView/Sources/Number/JXSegmentedNumberItemModel.swift: -------------------------------------------------------------------------------- 1 | // 2 | // JXSegmentedNumberItemModel.swift 3 | // JXSegmentedView 4 | // 5 | // Created by jiaxin on 2018/12/28. 6 | // Copyright © 2018 jiaxin. All rights reserved. 7 | // 8 | 9 | import Foundation 10 | import UIKit 11 | 12 | open class JXSegmentedNumberItemModel: JXSegmentedTitleItemModel { 13 | open var number: Int = 0 14 | open var numberString: String = "0" 15 | open var numberBackgroundColor: UIColor = .red 16 | open var numberTextColor: UIColor = .white 17 | open var numberWidthIncrement: CGFloat = 0 18 | open var numberFont: UIFont = UIFont.systemFont(ofSize: 11) 19 | open var numberOffset: CGPoint = CGPoint.zero 20 | } 21 | -------------------------------------------------------------------------------- /Pods/JXSegmentedView/Sources/Title/JXSegmentedTitleItemModel.swift: -------------------------------------------------------------------------------- 1 | // 2 | // JXSegmentedTitleItemModel.swift 3 | // JXSegmentedView 4 | // 5 | // Created by jiaxin on 2018/12/26. 6 | // Copyright © 2018 jiaxin. All rights reserved. 7 | // 8 | 9 | import UIKit 10 | 11 | open class JXSegmentedTitleItemModel: JXSegmentedBaseItemModel { 12 | open var title: String? 13 | open var titleNumberOfLines: Int = 0 14 | open var titleNormalColor: UIColor = .black 15 | open var titleCurrentColor: UIColor = .black 16 | open var titleSelectedColor: UIColor = .red 17 | open var titleNormalFont: UIFont = UIFont.systemFont(ofSize: 15) 18 | open var titleSelectedFont: UIFont = UIFont.systemFont(ofSize: 15) 19 | open var isTitleZoomEnabled: Bool = false 20 | open var titleNormalZoomScale: CGFloat = 0 21 | open var titleCurrentZoomScale: CGFloat = 0 22 | open var titleSelectedZoomScale: CGFloat = 0 23 | open var isTitleStrokeWidthEnabled: Bool = false 24 | open var titleNormalStrokeWidth: CGFloat = 0 25 | open var titleCurrentStrokeWidth: CGFloat = 0 26 | open var titleSelectedStrokeWidth: CGFloat = 0 27 | open var isTitleMaskEnabled: Bool = false 28 | } 29 | -------------------------------------------------------------------------------- /Pods/JXSegmentedView/Sources/TitleGradient/JXSegmentedTitleGradientItemModel.swift: -------------------------------------------------------------------------------- 1 | // 2 | // JXSegmentedTitleGradientItemModel.swift 3 | // JXSegmentedView 4 | // 5 | // Created by jiaxin on 2019/1/23. 6 | // Copyright © 2019 jiaxin. All rights reserved. 7 | // 8 | 9 | import UIKit 10 | 11 | open class JXSegmentedTitleGradientItemModel: JXSegmentedTitleItemModel { 12 | open var titleNormalGradientColors: [CGColor] = [CGColor]() 13 | open var titleCurrentGradientColors: [CGColor] = [CGColor]() 14 | open var titleSelectedGradientColors: [CGColor] = [CGColor]() 15 | open var titleGradientStartPoint: CGPoint = CGPoint.zero 16 | open var titleGradientEndPoint: CGPoint = CGPoint.zero 17 | } 18 | -------------------------------------------------------------------------------- /Pods/JXSegmentedView/Sources/TitleImage/JXSegmentedTitleImageItemModel.swift: -------------------------------------------------------------------------------- 1 | // 2 | // JXSegmentedTitleImageItemModel.swift 3 | // JXSegmentedView 4 | // 5 | // Created by jiaxin on 2018/12/29. 6 | // Copyright © 2018 jiaxin. All rights reserved. 7 | // 8 | 9 | import UIKit 10 | 11 | open class JXSegmentedTitleImageItemModel: JXSegmentedTitleItemModel { 12 | open var titleImageType: JXSegmentedTitleImageType = .rightImage 13 | open var normalImageInfo: String? 14 | open var selectedImageInfo: String? 15 | open var loadImageClosure: LoadImageClosure? 16 | open var imageSize: CGSize = CGSize.zero 17 | open var titleImageSpacing: CGFloat = 0 18 | open var isImageZoomEnabled: Bool = false 19 | open var imageNormalZoomScale: CGFloat = 0 20 | open var imageCurrentZoomScale: CGFloat = 0 21 | open var imageSelectedZoomScale: CGFloat = 0 22 | } 23 | -------------------------------------------------------------------------------- /Pods/JXSegmentedView/Sources/TitleOrImage/JXSegmentedTitleOrImageItemModel.swift: -------------------------------------------------------------------------------- 1 | // 2 | // JXSegmentedTitleOrImageItemModel.swift 3 | // JXSegmentedView 4 | // 5 | // Created by jiaxin on 2019/1/22. 6 | // Copyright © 2019 jiaxin. All rights reserved. 7 | // 8 | 9 | import UIKit 10 | 11 | open class JXSegmentedTitleOrImageItemModel: JXSegmentedTitleItemModel { 12 | open var selectedImageInfo: String? 13 | open var loadImageClosure: LoadImageClosure? 14 | open var imageSize: CGSize = CGSize.zero 15 | } 16 | -------------------------------------------------------------------------------- /Pods/Manifest.lock: -------------------------------------------------------------------------------- 1 | PODS: 2 | - JXSegmentedView (0.0.4) 3 | - SnapKit (4.2.0) 4 | 5 | DEPENDENCIES: 6 | - JXSegmentedView (= 0.0.4) 7 | - SnapKit 8 | 9 | SPEC CHECKSUMS: 10 | JXSegmentedView: 2b036fc37f26fbd369f79b8953c610efe19bd529 11 | SnapKit: fe8a619752f3f27075cc9a90244d75c6c3f27e2a 12 | 13 | PODFILE CHECKSUM: 8c876f5050f7a7dd31badc27d8ffe5787c56d8ce 14 | 15 | COCOAPODS: 1.4.0 16 | -------------------------------------------------------------------------------- /Pods/Pods.xcodeproj/xcuserdata/darren.xcuserdatad/xcschemes/xcschememanagement.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | SchemeUserState 6 | 7 | JXSegmentedView.xcscheme 8 | 9 | isShown 10 | 11 | orderHint 12 | 0 13 | 14 | Pods-IDealist.xcscheme 15 | 16 | isShown 17 | 18 | orderHint 19 | 1 20 | 21 | SnapKit.xcscheme 22 | 23 | isShown 24 | 25 | orderHint 26 | 2 27 | 28 | 29 | SuppressBuildableAutocreation 30 | 31 | 32 | 33 | -------------------------------------------------------------------------------- /Pods/SnapKit/LICENSE: -------------------------------------------------------------------------------- 1 | Copyright (c) 2011-Present SnapKit Team - https://github.com/SnapKit 2 | 3 | Permission is hereby granted, free of charge, to any person obtaining a copy 4 | of this software and associated documentation files (the "Software"), to deal 5 | in the Software without restriction, including without limitation the rights 6 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 7 | copies of the Software, and to permit persons to whom the Software is 8 | furnished to do so, subject to the following conditions: 9 | 10 | The above copyright notice and this permission notice shall be included in 11 | all copies or substantial portions of the Software. 12 | 13 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 14 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 15 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 16 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 17 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 18 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN 19 | THE SOFTWARE. 20 | -------------------------------------------------------------------------------- /Pods/SnapKit/Source/ConstraintConfig.swift: -------------------------------------------------------------------------------- 1 | // 2 | // SnapKit 3 | // 4 | // Copyright (c) 2011-Present SnapKit Team - https://github.com/SnapKit 5 | // 6 | // Permission is hereby granted, free of charge, to any person obtaining a copy 7 | // of this software and associated documentation files (the "Software"), to deal 8 | // in the Software without restriction, including without limitation the rights 9 | // to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 10 | // copies of the Software, and to permit persons to whom the Software is 11 | // furnished to do so, subject to the following conditions: 12 | // 13 | // The above copyright notice and this permission notice shall be included in 14 | // all copies or substantial portions of the Software. 15 | // 16 | // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 17 | // IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 18 | // FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 19 | // AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 20 | // LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 21 | // OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN 22 | // THE SOFTWARE. 23 | 24 | #if os(iOS) || os(tvOS) 25 | import UIKit 26 | public typealias ConstraintInterfaceLayoutDirection = UIUserInterfaceLayoutDirection 27 | #else 28 | import AppKit 29 | public typealias ConstraintInterfaceLayoutDirection = NSUserInterfaceLayoutDirection 30 | #endif 31 | 32 | 33 | public struct ConstraintConfig { 34 | 35 | public static var interfaceLayoutDirection: ConstraintInterfaceLayoutDirection = .leftToRight 36 | 37 | } 38 | -------------------------------------------------------------------------------- /Pods/SnapKit/Source/ConstraintInsets.swift: -------------------------------------------------------------------------------- 1 | // 2 | // SnapKit 3 | // 4 | // Copyright (c) 2011-Present SnapKit Team - https://github.com/SnapKit 5 | // 6 | // Permission is hereby granted, free of charge, to any person obtaining a copy 7 | // of this software and associated documentation files (the "Software"), to deal 8 | // in the Software without restriction, including without limitation the rights 9 | // to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 10 | // copies of the Software, and to permit persons to whom the Software is 11 | // furnished to do so, subject to the following conditions: 12 | // 13 | // The above copyright notice and this permission notice shall be included in 14 | // all copies or substantial portions of the Software. 15 | // 16 | // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 17 | // IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 18 | // FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 19 | // AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 20 | // LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 21 | // OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN 22 | // THE SOFTWARE. 23 | 24 | #if os(iOS) || os(tvOS) 25 | import UIKit 26 | #else 27 | import AppKit 28 | #endif 29 | 30 | 31 | #if os(iOS) || os(tvOS) 32 | public typealias ConstraintInsets = UIEdgeInsets 33 | #else 34 | public typealias ConstraintInsets = NSEdgeInsets 35 | #endif 36 | -------------------------------------------------------------------------------- /Pods/SnapKit/Source/ConstraintLayoutGuide+Extensions.swift: -------------------------------------------------------------------------------- 1 | // 2 | // SnapKit 3 | // 4 | // Copyright (c) 2011-Present SnapKit Team - https://github.com/SnapKit 5 | // 6 | // Permission is hereby granted, free of charge, to any person obtaining a copy 7 | // of this software and associated documentation files (the "Software"), to deal 8 | // in the Software without restriction, including without limitation the rights 9 | // to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 10 | // copies of the Software, and to permit persons to whom the Software is 11 | // furnished to do so, subject to the following conditions: 12 | // 13 | // The above copyright notice and this permission notice shall be included in 14 | // all copies or substantial portions of the Software. 15 | // 16 | // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 17 | // IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 18 | // FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 19 | // AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 20 | // LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 21 | // OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN 22 | // THE SOFTWARE. 23 | 24 | #if os(iOS) || os(tvOS) 25 | import UIKit 26 | #endif 27 | 28 | 29 | @available(iOS 9.0, OSX 10.11, *) 30 | public extension ConstraintLayoutGuide { 31 | 32 | public var snp: ConstraintLayoutGuideDSL { 33 | return ConstraintLayoutGuideDSL(guide: self) 34 | } 35 | 36 | } 37 | -------------------------------------------------------------------------------- /Pods/SnapKit/Source/ConstraintLayoutGuide.swift: -------------------------------------------------------------------------------- 1 | // 2 | // SnapKit 3 | // 4 | // Copyright (c) 2011-Present SnapKit Team - https://github.com/SnapKit 5 | // 6 | // Permission is hereby granted, free of charge, to any person obtaining a copy 7 | // of this software and associated documentation files (the "Software"), to deal 8 | // in the Software without restriction, including without limitation the rights 9 | // to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 10 | // copies of the Software, and to permit persons to whom the Software is 11 | // furnished to do so, subject to the following conditions: 12 | // 13 | // The above copyright notice and this permission notice shall be included in 14 | // all copies or substantial portions of the Software. 15 | // 16 | // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 17 | // IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 18 | // FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 19 | // AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 20 | // LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 21 | // OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN 22 | // THE SOFTWARE. 23 | 24 | #if os(iOS) || os(tvOS) 25 | import UIKit 26 | #else 27 | import AppKit 28 | #endif 29 | 30 | 31 | #if os(iOS) || os(tvOS) 32 | @available(iOS 9.0, *) 33 | public typealias ConstraintLayoutGuide = UILayoutGuide 34 | #else 35 | @available(OSX 10.11, *) 36 | public typealias ConstraintLayoutGuide = NSLayoutGuide 37 | #endif 38 | -------------------------------------------------------------------------------- /Pods/SnapKit/Source/ConstraintLayoutSupport.swift: -------------------------------------------------------------------------------- 1 | // 2 | // SnapKit 3 | // 4 | // Copyright (c) 2011-Present SnapKit Team - https://github.com/SnapKit 5 | // 6 | // Permission is hereby granted, free of charge, to any person obtaining a copy 7 | // of this software and associated documentation files (the "Software"), to deal 8 | // in the Software without restriction, including without limitation the rights 9 | // to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 10 | // copies of the Software, and to permit persons to whom the Software is 11 | // furnished to do so, subject to the following conditions: 12 | // 13 | // The above copyright notice and this permission notice shall be included in 14 | // all copies or substantial portions of the Software. 15 | // 16 | // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 17 | // IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 18 | // FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 19 | // AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 20 | // LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 21 | // OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN 22 | // THE SOFTWARE. 23 | 24 | #if os(iOS) || os(tvOS) 25 | import UIKit 26 | #else 27 | import AppKit 28 | #endif 29 | 30 | 31 | #if os(iOS) || os(tvOS) 32 | @available(iOS 8.0, *) 33 | public typealias ConstraintLayoutSupport = UILayoutSupport 34 | #else 35 | public class ConstraintLayoutSupport {} 36 | #endif 37 | -------------------------------------------------------------------------------- /Pods/SnapKit/Source/ConstraintView.swift: -------------------------------------------------------------------------------- 1 | // 2 | // SnapKit 3 | // 4 | // Copyright (c) 2011-Present SnapKit Team - https://github.com/SnapKit 5 | // 6 | // Permission is hereby granted, free of charge, to any person obtaining a copy 7 | // of this software and associated documentation files (the "Software"), to deal 8 | // in the Software without restriction, including without limitation the rights 9 | // to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 10 | // copies of the Software, and to permit persons to whom the Software is 11 | // furnished to do so, subject to the following conditions: 12 | // 13 | // The above copyright notice and this permission notice shall be included in 14 | // all copies or substantial portions of the Software. 15 | // 16 | // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 17 | // IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 18 | // FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 19 | // AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 20 | // LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 21 | // OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN 22 | // THE SOFTWARE. 23 | 24 | #if os(iOS) || os(tvOS) 25 | import UIKit 26 | #else 27 | import AppKit 28 | #endif 29 | 30 | 31 | #if os(iOS) || os(tvOS) 32 | public typealias ConstraintView = UIView 33 | #else 34 | public typealias ConstraintView = NSView 35 | #endif 36 | -------------------------------------------------------------------------------- /Pods/SnapKit/Source/UILayoutSupport+Extensions.swift: -------------------------------------------------------------------------------- 1 | // 2 | // SnapKit 3 | // 4 | // Copyright (c) 2011-Present SnapKit Team - https://github.com/SnapKit 5 | // 6 | // Permission is hereby granted, free of charge, to any person obtaining a copy 7 | // of this software and associated documentation files (the "Software"), to deal 8 | // in the Software without restriction, including without limitation the rights 9 | // to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 10 | // copies of the Software, and to permit persons to whom the Software is 11 | // furnished to do so, subject to the following conditions: 12 | // 13 | // The above copyright notice and this permission notice shall be included in 14 | // all copies or substantial portions of the Software. 15 | // 16 | // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 17 | // IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 18 | // FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 19 | // AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 20 | // LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 21 | // OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN 22 | // THE SOFTWARE. 23 | 24 | #if os(iOS) || os(tvOS) 25 | import UIKit 26 | #endif 27 | 28 | 29 | @available(iOS 8.0, *) 30 | public extension ConstraintLayoutSupport { 31 | 32 | public var snp: ConstraintLayoutSupportDSL { 33 | return ConstraintLayoutSupportDSL(support: self) 34 | } 35 | 36 | } 37 | -------------------------------------------------------------------------------- /Pods/Target Support Files/JXSegmentedView/Info.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | CFBundleDevelopmentRegion 6 | en 7 | CFBundleExecutable 8 | ${EXECUTABLE_NAME} 9 | CFBundleIdentifier 10 | ${PRODUCT_BUNDLE_IDENTIFIER} 11 | CFBundleInfoDictionaryVersion 12 | 6.0 13 | CFBundleName 14 | ${PRODUCT_NAME} 15 | CFBundlePackageType 16 | FMWK 17 | CFBundleShortVersionString 18 | 0.0.4 19 | CFBundleSignature 20 | ???? 21 | CFBundleVersion 22 | ${CURRENT_PROJECT_VERSION} 23 | NSPrincipalClass 24 | 25 | 26 | 27 | -------------------------------------------------------------------------------- /Pods/Target Support Files/JXSegmentedView/JXSegmentedView-dummy.m: -------------------------------------------------------------------------------- 1 | #import 2 | @interface PodsDummy_JXSegmentedView : NSObject 3 | @end 4 | @implementation PodsDummy_JXSegmentedView 5 | @end 6 | -------------------------------------------------------------------------------- /Pods/Target Support Files/JXSegmentedView/JXSegmentedView-prefix.pch: -------------------------------------------------------------------------------- 1 | #ifdef __OBJC__ 2 | #import 3 | #else 4 | #ifndef FOUNDATION_EXPORT 5 | #if defined(__cplusplus) 6 | #define FOUNDATION_EXPORT extern "C" 7 | #else 8 | #define FOUNDATION_EXPORT extern 9 | #endif 10 | #endif 11 | #endif 12 | 13 | -------------------------------------------------------------------------------- /Pods/Target Support Files/JXSegmentedView/JXSegmentedView-umbrella.h: -------------------------------------------------------------------------------- 1 | #ifdef __OBJC__ 2 | #import 3 | #else 4 | #ifndef FOUNDATION_EXPORT 5 | #if defined(__cplusplus) 6 | #define FOUNDATION_EXPORT extern "C" 7 | #else 8 | #define FOUNDATION_EXPORT extern 9 | #endif 10 | #endif 11 | #endif 12 | 13 | 14 | FOUNDATION_EXPORT double JXSegmentedViewVersionNumber; 15 | FOUNDATION_EXPORT const unsigned char JXSegmentedViewVersionString[]; 16 | 17 | -------------------------------------------------------------------------------- /Pods/Target Support Files/JXSegmentedView/JXSegmentedView.modulemap: -------------------------------------------------------------------------------- 1 | framework module JXSegmentedView { 2 | umbrella header "JXSegmentedView-umbrella.h" 3 | 4 | export * 5 | module * { export * } 6 | } 7 | -------------------------------------------------------------------------------- /Pods/Target Support Files/JXSegmentedView/JXSegmentedView.xcconfig: -------------------------------------------------------------------------------- 1 | CONFIGURATION_BUILD_DIR = ${PODS_CONFIGURATION_BUILD_DIR}/JXSegmentedView 2 | GCC_PREPROCESSOR_DEFINITIONS = $(inherited) COCOAPODS=1 3 | HEADER_SEARCH_PATHS = "${PODS_ROOT}/Headers/Private" "${PODS_ROOT}/Headers/Public" 4 | OTHER_LDFLAGS = -framework "UIKit" 5 | OTHER_SWIFT_FLAGS = $(inherited) "-D" "COCOAPODS" 6 | PODS_BUILD_DIR = ${BUILD_DIR} 7 | PODS_CONFIGURATION_BUILD_DIR = ${PODS_BUILD_DIR}/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME) 8 | PODS_ROOT = ${SRCROOT} 9 | PODS_TARGET_SRCROOT = ${PODS_ROOT}/JXSegmentedView 10 | PRODUCT_BUNDLE_IDENTIFIER = org.cocoapods.${PRODUCT_NAME:rfc1034identifier} 11 | SKIP_INSTALL = YES 12 | -------------------------------------------------------------------------------- /Pods/Target Support Files/Pods-IDealist/Info.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | CFBundleDevelopmentRegion 6 | en 7 | CFBundleExecutable 8 | ${EXECUTABLE_NAME} 9 | CFBundleIdentifier 10 | ${PRODUCT_BUNDLE_IDENTIFIER} 11 | CFBundleInfoDictionaryVersion 12 | 6.0 13 | CFBundleName 14 | ${PRODUCT_NAME} 15 | CFBundlePackageType 16 | FMWK 17 | CFBundleShortVersionString 18 | 1.0.0 19 | CFBundleSignature 20 | ???? 21 | CFBundleVersion 22 | ${CURRENT_PROJECT_VERSION} 23 | NSPrincipalClass 24 | 25 | 26 | 27 | -------------------------------------------------------------------------------- /Pods/Target Support Files/Pods-IDealist/Pods-IDealist-dummy.m: -------------------------------------------------------------------------------- 1 | #import 2 | @interface PodsDummy_Pods_IDealist : NSObject 3 | @end 4 | @implementation PodsDummy_Pods_IDealist 5 | @end 6 | -------------------------------------------------------------------------------- /Pods/Target Support Files/Pods-IDealist/Pods-IDealist-umbrella.h: -------------------------------------------------------------------------------- 1 | #ifdef __OBJC__ 2 | #import 3 | #else 4 | #ifndef FOUNDATION_EXPORT 5 | #if defined(__cplusplus) 6 | #define FOUNDATION_EXPORT extern "C" 7 | #else 8 | #define FOUNDATION_EXPORT extern 9 | #endif 10 | #endif 11 | #endif 12 | 13 | 14 | FOUNDATION_EXPORT double Pods_IDealistVersionNumber; 15 | FOUNDATION_EXPORT const unsigned char Pods_IDealistVersionString[]; 16 | 17 | -------------------------------------------------------------------------------- /Pods/Target Support Files/Pods-IDealist/Pods-IDealist.debug.xcconfig: -------------------------------------------------------------------------------- 1 | ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = YES 2 | FRAMEWORK_SEARCH_PATHS = $(inherited) "${PODS_CONFIGURATION_BUILD_DIR}/JXSegmentedView" "${PODS_CONFIGURATION_BUILD_DIR}/SnapKit" 3 | GCC_PREPROCESSOR_DEFINITIONS = $(inherited) COCOAPODS=1 4 | LD_RUNPATH_SEARCH_PATHS = $(inherited) '@executable_path/Frameworks' '@loader_path/Frameworks' 5 | OTHER_CFLAGS = $(inherited) -iquote "${PODS_CONFIGURATION_BUILD_DIR}/JXSegmentedView/JXSegmentedView.framework/Headers" -iquote "${PODS_CONFIGURATION_BUILD_DIR}/SnapKit/SnapKit.framework/Headers" 6 | OTHER_LDFLAGS = $(inherited) -framework "JXSegmentedView" -framework "SnapKit" 7 | OTHER_SWIFT_FLAGS = $(inherited) "-D" "COCOAPODS" 8 | PODS_BUILD_DIR = ${BUILD_DIR} 9 | PODS_CONFIGURATION_BUILD_DIR = ${PODS_BUILD_DIR}/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME) 10 | PODS_PODFILE_DIR_PATH = ${SRCROOT}/. 11 | PODS_ROOT = ${SRCROOT}/Pods 12 | -------------------------------------------------------------------------------- /Pods/Target Support Files/Pods-IDealist/Pods-IDealist.modulemap: -------------------------------------------------------------------------------- 1 | framework module Pods_IDealist { 2 | umbrella header "Pods-IDealist-umbrella.h" 3 | 4 | export * 5 | module * { export * } 6 | } 7 | -------------------------------------------------------------------------------- /Pods/Target Support Files/Pods-IDealist/Pods-IDealist.release.xcconfig: -------------------------------------------------------------------------------- 1 | ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = YES 2 | FRAMEWORK_SEARCH_PATHS = $(inherited) "${PODS_CONFIGURATION_BUILD_DIR}/JXSegmentedView" "${PODS_CONFIGURATION_BUILD_DIR}/SnapKit" 3 | GCC_PREPROCESSOR_DEFINITIONS = $(inherited) COCOAPODS=1 4 | LD_RUNPATH_SEARCH_PATHS = $(inherited) '@executable_path/Frameworks' '@loader_path/Frameworks' 5 | OTHER_CFLAGS = $(inherited) -iquote "${PODS_CONFIGURATION_BUILD_DIR}/JXSegmentedView/JXSegmentedView.framework/Headers" -iquote "${PODS_CONFIGURATION_BUILD_DIR}/SnapKit/SnapKit.framework/Headers" 6 | OTHER_LDFLAGS = $(inherited) -framework "JXSegmentedView" -framework "SnapKit" 7 | OTHER_SWIFT_FLAGS = $(inherited) "-D" "COCOAPODS" 8 | PODS_BUILD_DIR = ${BUILD_DIR} 9 | PODS_CONFIGURATION_BUILD_DIR = ${PODS_BUILD_DIR}/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME) 10 | PODS_PODFILE_DIR_PATH = ${SRCROOT}/. 11 | PODS_ROOT = ${SRCROOT}/Pods 12 | -------------------------------------------------------------------------------- /Pods/Target Support Files/SnapKit/Info.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | CFBundleDevelopmentRegion 6 | en 7 | CFBundleExecutable 8 | ${EXECUTABLE_NAME} 9 | CFBundleIdentifier 10 | ${PRODUCT_BUNDLE_IDENTIFIER} 11 | CFBundleInfoDictionaryVersion 12 | 6.0 13 | CFBundleName 14 | ${PRODUCT_NAME} 15 | CFBundlePackageType 16 | FMWK 17 | CFBundleShortVersionString 18 | 4.2.0 19 | CFBundleSignature 20 | ???? 21 | CFBundleVersion 22 | ${CURRENT_PROJECT_VERSION} 23 | NSPrincipalClass 24 | 25 | 26 | 27 | -------------------------------------------------------------------------------- /Pods/Target Support Files/SnapKit/SnapKit-dummy.m: -------------------------------------------------------------------------------- 1 | #import 2 | @interface PodsDummy_SnapKit : NSObject 3 | @end 4 | @implementation PodsDummy_SnapKit 5 | @end 6 | -------------------------------------------------------------------------------- /Pods/Target Support Files/SnapKit/SnapKit-prefix.pch: -------------------------------------------------------------------------------- 1 | #ifdef __OBJC__ 2 | #import 3 | #else 4 | #ifndef FOUNDATION_EXPORT 5 | #if defined(__cplusplus) 6 | #define FOUNDATION_EXPORT extern "C" 7 | #else 8 | #define FOUNDATION_EXPORT extern 9 | #endif 10 | #endif 11 | #endif 12 | 13 | -------------------------------------------------------------------------------- /Pods/Target Support Files/SnapKit/SnapKit-umbrella.h: -------------------------------------------------------------------------------- 1 | #ifdef __OBJC__ 2 | #import 3 | #else 4 | #ifndef FOUNDATION_EXPORT 5 | #if defined(__cplusplus) 6 | #define FOUNDATION_EXPORT extern "C" 7 | #else 8 | #define FOUNDATION_EXPORT extern 9 | #endif 10 | #endif 11 | #endif 12 | 13 | 14 | FOUNDATION_EXPORT double SnapKitVersionNumber; 15 | FOUNDATION_EXPORT const unsigned char SnapKitVersionString[]; 16 | 17 | -------------------------------------------------------------------------------- /Pods/Target Support Files/SnapKit/SnapKit.modulemap: -------------------------------------------------------------------------------- 1 | framework module SnapKit { 2 | umbrella header "SnapKit-umbrella.h" 3 | 4 | export * 5 | module * { export * } 6 | } 7 | -------------------------------------------------------------------------------- /Pods/Target Support Files/SnapKit/SnapKit.xcconfig: -------------------------------------------------------------------------------- 1 | CONFIGURATION_BUILD_DIR = ${PODS_CONFIGURATION_BUILD_DIR}/SnapKit 2 | GCC_PREPROCESSOR_DEFINITIONS = $(inherited) COCOAPODS=1 3 | HEADER_SEARCH_PATHS = "${PODS_ROOT}/Headers/Private" "${PODS_ROOT}/Headers/Public" 4 | OTHER_SWIFT_FLAGS = $(inherited) "-D" "COCOAPODS" 5 | PODS_BUILD_DIR = ${BUILD_DIR} 6 | PODS_CONFIGURATION_BUILD_DIR = ${PODS_BUILD_DIR}/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME) 7 | PODS_ROOT = ${SRCROOT} 8 | PODS_TARGET_SRCROOT = ${PODS_ROOT}/SnapKit 9 | PRODUCT_BUNDLE_IDENTIFIER = org.cocoapods.${PRODUCT_NAME:rfc1034identifier} 10 | SKIP_INSTALL = YES 11 | -------------------------------------------------------------------------------- /screenShot/屏幕快照 2019-02-25 下午4.44.26.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Darren-chenchen/IDealist/341a4728cd601d80c4cd7a9e6be45fc7087c1f7a/screenShot/屏幕快照 2019-02-25 下午4.44.26.png -------------------------------------------------------------------------------- /screenShot/屏幕快照 2019-02-25 下午4.44.39.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Darren-chenchen/IDealist/341a4728cd601d80c4cd7a9e6be45fc7087c1f7a/screenShot/屏幕快照 2019-02-25 下午4.44.39.png -------------------------------------------------------------------------------- /screenShot/屏幕快照 2019-02-25 下午4.44.50.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Darren-chenchen/IDealist/341a4728cd601d80c4cd7a9e6be45fc7087c1f7a/screenShot/屏幕快照 2019-02-25 下午4.44.50.png -------------------------------------------------------------------------------- /screenShot/屏幕快照 2019-02-25 下午4.45.19.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Darren-chenchen/IDealist/341a4728cd601d80c4cd7a9e6be45fc7087c1f7a/screenShot/屏幕快照 2019-02-25 下午4.45.19.png -------------------------------------------------------------------------------- /screenShot/屏幕快照 2019-02-26 上午11.32.45.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Darren-chenchen/IDealist/341a4728cd601d80c4cd7a9e6be45fc7087c1f7a/screenShot/屏幕快照 2019-02-26 上午11.32.45.png -------------------------------------------------------------------------------- /screenShot/屏幕快照 2019-02-26 上午11.32.53.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Darren-chenchen/IDealist/341a4728cd601d80c4cd7a9e6be45fc7087c1f7a/screenShot/屏幕快照 2019-02-26 上午11.32.53.png -------------------------------------------------------------------------------- /screenShot/屏幕快照 2019-02-26 上午11.33.00.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Darren-chenchen/IDealist/341a4728cd601d80c4cd7a9e6be45fc7087c1f7a/screenShot/屏幕快照 2019-02-26 上午11.33.00.png -------------------------------------------------------------------------------- /screenShot/屏幕快照 2019-02-26 上午11.33.07.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Darren-chenchen/IDealist/341a4728cd601d80c4cd7a9e6be45fc7087c1f7a/screenShot/屏幕快照 2019-02-26 上午11.33.07.png -------------------------------------------------------------------------------- /screenShot/屏幕快照 2019-02-26 上午11.33.21.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Darren-chenchen/IDealist/341a4728cd601d80c4cd7a9e6be45fc7087c1f7a/screenShot/屏幕快照 2019-02-26 上午11.33.21.png -------------------------------------------------------------------------------- /screenShot/屏幕快照 2019-02-26 上午11.33.38.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Darren-chenchen/IDealist/341a4728cd601d80c4cd7a9e6be45fc7087c1f7a/screenShot/屏幕快照 2019-02-26 上午11.33.38.png -------------------------------------------------------------------------------- /screenShot/屏幕快照 2019-02-26 上午11.33.53.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Darren-chenchen/IDealist/341a4728cd601d80c4cd7a9e6be45fc7087c1f7a/screenShot/屏幕快照 2019-02-26 上午11.33.53.png -------------------------------------------------------------------------------- /screenShot/屏幕快照 2019-02-26 上午11.34.09.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Darren-chenchen/IDealist/341a4728cd601d80c4cd7a9e6be45fc7087c1f7a/screenShot/屏幕快照 2019-02-26 上午11.34.09.png -------------------------------------------------------------------------------- /screenShot/屏幕快照 2019-02-26 上午11.34.29.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Darren-chenchen/IDealist/341a4728cd601d80c4cd7a9e6be45fc7087c1f7a/screenShot/屏幕快照 2019-02-26 上午11.34.29.png -------------------------------------------------------------------------------- /screenShot/屏幕快照 2019-02-26 上午11.40.21.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Darren-chenchen/IDealist/341a4728cd601d80c4cd7a9e6be45fc7087c1f7a/screenShot/屏幕快照 2019-02-26 上午11.40.21.png -------------------------------------------------------------------------------- /screenShot/屏幕快照 2019-02-26 上午11.40.37.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Darren-chenchen/IDealist/341a4728cd601d80c4cd7a9e6be45fc7087c1f7a/screenShot/屏幕快照 2019-02-26 上午11.40.37.png -------------------------------------------------------------------------------- /screenShot/屏幕快照 2019-02-26 上午11.40.50.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Darren-chenchen/IDealist/341a4728cd601d80c4cd7a9e6be45fc7087c1f7a/screenShot/屏幕快照 2019-02-26 上午11.40.50.png -------------------------------------------------------------------------------- /screenShot/屏幕快照 2019-02-26 上午11.41.01.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Darren-chenchen/IDealist/341a4728cd601d80c4cd7a9e6be45fc7087c1f7a/screenShot/屏幕快照 2019-02-26 上午11.41.01.png -------------------------------------------------------------------------------- /screenShot/屏幕快照 2019-02-26 上午11.41.10.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Darren-chenchen/IDealist/341a4728cd601d80c4cd7a9e6be45fc7087c1f7a/screenShot/屏幕快照 2019-02-26 上午11.41.10.png -------------------------------------------------------------------------------- /screenShot/屏幕快照 2019-02-26 上午11.41.22.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Darren-chenchen/IDealist/341a4728cd601d80c4cd7a9e6be45fc7087c1f7a/screenShot/屏幕快照 2019-02-26 上午11.41.22.png --------------------------------------------------------------------------------