diff --git a/.gitignore b/.gitignore index 3fc785bc7..07596ebe2 100644 --- a/.gitignore +++ b/.gitignore @@ -2,33 +2,11 @@ .DS_Store # Xcode -build/ -*.pbxuser -!default.pbxuser -*.mode1v3 -!default.mode1v3 -*.mode2v3 -!default.mode2v3 -*.perspectivev3 -!default.perspectivev3 xcuserdata -*.xccheckout -profile -*.moved-aside -DerivedData -*.hmap -*.ipa # Bundler .bundle -# We recommend against adding the Pods directory to your .gitignore. However -# you should judge for yourself, the pros and cons are mentioned at: -# http://guides.cocoapods.org/using/using-cocoapods.html#should-i-ignore-the-pods-directory-in-source-control -# -# Note: if you ignore the Pods directory, make sure to uncomment -# `pod install` in .travis.yml -# -# Pods/ -Example/MXSegmentedPager.xcworkspace -Example-Swift/MXSegmentedPager-Swift.xcworkspace +# Carthage +Carthage/Checkouts +*.bcsymbolmap diff --git a/.travis.yml b/.travis.yml index fd01698c8..ec798789f 100644 --- a/.travis.yml +++ b/.travis.yml @@ -1,5 +1,5 @@ language: objective-c -osx_image: xcode8.3 +osx_image: xcode10.2 env: global: @@ -11,13 +11,13 @@ before_install: install: - gem install cocoapods -- gem install xcpretty --no-rdoc --no-ri --no-document --quiet +- gem install xcpretty --no-document --quiet before_script: - carthage bootstrap script: -- set -o pipefail && xcodebuild -project MXSegmentedPager.xcodeproj -scheme $FRAMEWORK_NAME -sdk iphonesimulator10.3 -configuration Release | xcpretty -c +- set -o pipefail && xcodebuild -project MXSegmentedPager.xcodeproj -scheme $FRAMEWORK_NAME -sdk iphonesimulator12.2 -configuration Release | xcpretty -c - pod lib lint --quick before_deploy: diff --git a/Cartfile b/Cartfile index 3d476d1c7..8be006d6f 100644 --- a/Cartfile +++ b/Cartfile @@ -1,3 +1,3 @@ -github "maxep/MXPagerView" "0.2.1" -github "maxep/HMSegmentedControl" "master" -github "maxep/MXParallaxHeader" "0.6.1" +github "maxep/MXPagerView" ~> 0.2 +github "maxep/MXSegmentedControl" ~> 1.1 +github "maxep/MXParallaxHeader" ~> 1.0 diff --git a/Cartfile.resolved b/Cartfile.resolved index ea42c9dc8..93e86093c 100644 --- a/Cartfile.resolved +++ b/Cartfile.resolved @@ -1,3 +1,3 @@ -github "maxep/HMSegmentedControl" "7c97e5501100b5389398ea6f2e57ae9785287b9e" github "maxep/MXPagerView" "0.2.1" -github "maxep/MXParallaxHeader" "0.6.1" +github "maxep/MXParallaxHeader" "1.0.0" +github "maxep/MXSegmentedControl" "1.1.0" diff --git a/Carthage/Build/.MXPagerView.version b/Carthage/Build/.MXPagerView.version new file mode 100644 index 000000000..6fc6747ac --- /dev/null +++ b/Carthage/Build/.MXPagerView.version @@ -0,0 +1,18 @@ +{ + "Mac" : [ + + ], + "watchOS" : [ + + ], + "tvOS" : [ + + ], + "commitish" : "0.2.1", + "iOS" : [ + { + "name" : "MXPagerView", + "hash" : "81d71f10569f0f3078e7f35247b6dda74e17004081be2026cd2acad8f575abb4" + } + ] +} \ No newline at end of file diff --git a/Carthage/Build/.MXParallaxHeader.version b/Carthage/Build/.MXParallaxHeader.version new file mode 100644 index 000000000..bdd5354bb --- /dev/null +++ b/Carthage/Build/.MXParallaxHeader.version @@ -0,0 +1,18 @@ +{ + "Mac" : [ + + ], + "watchOS" : [ + + ], + "tvOS" : [ + + ], + "commitish" : "1.0.0", + "iOS" : [ + { + "name" : "MXParallaxHeader", + "hash" : "ed8b5379c51e2a32ed9e558d48250bb2e473bb44bdb41c6e968157e1333d0d0e" + } + ] +} \ No newline at end of file diff --git a/Carthage/Build/.MXSegmentedControl.version b/Carthage/Build/.MXSegmentedControl.version new file mode 100644 index 000000000..7a86b82cc --- /dev/null +++ b/Carthage/Build/.MXSegmentedControl.version @@ -0,0 +1,19 @@ +{ + "Mac" : [ + + ], + "watchOS" : [ + + ], + "tvOS" : [ + + ], + "commitish" : "1.1.0", + "iOS" : [ + { + "name" : "MXSegmentedControl", + "hash" : "7e5cef77fece6b4b4e752714a4719690d5bc11666ed132193f2c46a3a28b9cd0", + "swiftToolchainVersion" : "5.0.1 (swiftlang-1001.0.82.4 clang-1001.0.46.5)" + } + ] +} \ No newline at end of file diff --git a/Carthage/Build/iOS/3C07BCF3-C06E-3FDD-86E3-7467DF5F5F73.bcsymbolmap b/Carthage/Build/iOS/3C07BCF3-C06E-3FDD-86E3-7467DF5F5F73.bcsymbolmap deleted file mode 100644 index e9feb3dda..000000000 --- a/Carthage/Build/iOS/3C07BCF3-C06E-3FDD-86E3-7467DF5F5F73.bcsymbolmap +++ /dev/null @@ -1,182 +0,0 @@ -BCSymbolMap Version: 2.0 --[HMScrollView touchesBegan:withEvent:] --[HMScrollView touchesMoved:withEvent:] --[HMScrollView touchesEnded:withEvent:] --[HMSegmentedControl initWithCoder:] --[HMSegmentedControl initWithFrame:] --[HMSegmentedControl initWithSectionTitles:] --[HMSegmentedControl initWithSectionImages:sectionSelectedImages:] --[HMSegmentedControl initWithSectionImages:sectionSelectedImages:titlesForSections:] --[HMSegmentedControl awakeFromNib] --[HMSegmentedControl commonInit] --[HMSegmentedControl layoutSubviews] --[HMSegmentedControl setFrame:] --[HMSegmentedControl setSectionTitles:] --[HMSegmentedControl setSectionImages:] --[HMSegmentedControl setSelectionIndicatorLocation:] --[HMSegmentedControl setSelectionIndicatorBoxOpacity:] --[HMSegmentedControl setSegmentWidthStyle:] --[HMSegmentedControl setBorderType:] --[HMSegmentedControl measureTitleAtIndex:] --[HMSegmentedControl attributedTitleAtIndex:] --[HMSegmentedControl drawRect:] -___31-[HMSegmentedControl drawRect:]_block_invoke -___copy_helper_block_ -___destroy_helper_block_ -___31-[HMSegmentedControl drawRect:]_block_invoke.227 -___copy_helper_block_.234 -___destroy_helper_block_.235 -___31-[HMSegmentedControl drawRect:]_block_invoke.237 -___copy_helper_block_.240 -___destroy_helper_block_.241 --[HMSegmentedControl addBackgroundAndBorderLayerWithRect:] --[HMSegmentedControl setArrowFrame] --[HMSegmentedControl frameForSelectionIndicator] --[HMSegmentedControl frameForFillerSelectionIndicator] --[HMSegmentedControl updateSegmentsRects] -___41-[HMSegmentedControl updateSegmentsRects]_block_invoke -___copy_helper_block_.281 -___destroy_helper_block_.282 -___41-[HMSegmentedControl updateSegmentsRects]_block_invoke.287 -___copy_helper_block_.293 -___destroy_helper_block_.294 -___41-[HMSegmentedControl updateSegmentsRects]_block_invoke.300 -___copy_helper_block_.301 -___destroy_helper_block_.302 -___41-[HMSegmentedControl updateSegmentsRects]_block_invoke.304 -___copy_helper_block_.305 -___destroy_helper_block_.306 --[HMSegmentedControl sectionCount] --[HMSegmentedControl willMoveToSuperview:] --[HMSegmentedControl touchesEnded:withEvent:] --[HMSegmentedControl totalSegmentedControlWidth] --[HMSegmentedControl scrollToSelectedSegmentIndex:] --[HMSegmentedControl setSelectedSegmentIndex:] --[HMSegmentedControl setSelectedSegmentIndex:animated:] --[HMSegmentedControl setSelectedSegmentIndex:animated:notify:] --[HMSegmentedControl notifyForSegmentChangeToIndex:] --[HMSegmentedControl resultingTitleTextAttributes] --[HMSegmentedControl resultingSelectedTitleTextAttributes] --[HMSegmentedControl sectionTitles] --[HMSegmentedControl sectionImages] --[HMSegmentedControl sectionSelectedImages] --[HMSegmentedControl setSectionSelectedImages:] --[HMSegmentedControl indexChangeBlock] --[HMSegmentedControl setIndexChangeBlock:] --[HMSegmentedControl titleFormatter] --[HMSegmentedControl setTitleFormatter:] --[HMSegmentedControl titleTextAttributes] --[HMSegmentedControl setTitleTextAttributes:] --[HMSegmentedControl selectedTitleTextAttributes] --[HMSegmentedControl setSelectedTitleTextAttributes:] --[HMSegmentedControl backgroundColor] --[HMSegmentedControl setBackgroundColor:] --[HMSegmentedControl selectionIndicatorColor] --[HMSegmentedControl setSelectionIndicatorColor:] --[HMSegmentedControl selectionIndicatorBoxColor] --[HMSegmentedControl setSelectionIndicatorBoxColor:] --[HMSegmentedControl verticalDividerColor] --[HMSegmentedControl setVerticalDividerColor:] --[HMSegmentedControl selectionIndicatorBoxOpacity] --[HMSegmentedControl verticalDividerWidth] --[HMSegmentedControl setVerticalDividerWidth:] --[HMSegmentedControl type] --[HMSegmentedControl setType:] --[HMSegmentedControl selectionStyle] --[HMSegmentedControl setSelectionStyle:] --[HMSegmentedControl segmentWidthStyle] --[HMSegmentedControl selectionIndicatorLocation] --[HMSegmentedControl borderType] --[HMSegmentedControl borderColor] --[HMSegmentedControl setBorderColor:] --[HMSegmentedControl borderWidth] --[HMSegmentedControl setBorderWidth:] --[HMSegmentedControl isUserDraggable] --[HMSegmentedControl setUserDraggable:] --[HMSegmentedControl isTouchEnabled] --[HMSegmentedControl setTouchEnabled:] --[HMSegmentedControl isVerticalDividerEnabled] --[HMSegmentedControl setVerticalDividerEnabled:] --[HMSegmentedControl selectedSegmentIndex] --[HMSegmentedControl selectionIndicatorHeight] --[HMSegmentedControl setSelectionIndicatorHeight:] --[HMSegmentedControl selectionIndicatorEdgeInsets] --[HMSegmentedControl setSelectionIndicatorEdgeInsets:] --[HMSegmentedControl segmentEdgeInset] --[HMSegmentedControl setSegmentEdgeInset:] --[HMSegmentedControl enlargeEdgeInset] --[HMSegmentedControl setEnlargeEdgeInset:] --[HMSegmentedControl shouldAnimateUserSelection] --[HMSegmentedControl setShouldAnimateUserSelection:] --[HMSegmentedControl selectionIndicatorStripLayer] --[HMSegmentedControl setSelectionIndicatorStripLayer:] --[HMSegmentedControl selectionIndicatorBoxLayer] --[HMSegmentedControl setSelectionIndicatorBoxLayer:] --[HMSegmentedControl selectionIndicatorArrowLayer] --[HMSegmentedControl setSelectionIndicatorArrowLayer:] --[HMSegmentedControl segmentWidth] --[HMSegmentedControl setSegmentWidth:] --[HMSegmentedControl segmentWidthsArray] --[HMSegmentedControl setSegmentWidthsArray:] --[HMSegmentedControl scrollView] --[HMSegmentedControl setScrollView:] --[HMSegmentedControl .cxx_destruct] -_OBJC_IVAR_$_HMSegmentedControl._backgroundColor -_OBJC_IVAR_$_HMSegmentedControl._selectionIndicatorColor -_OBJC_IVAR_$_HMSegmentedControl._selectionIndicatorBoxColor -_OBJC_IVAR_$_HMSegmentedControl._verticalDividerColor -_OBJC_IVAR_$_HMSegmentedControl._sectionTitles -_OBJC_IVAR_$_HMSegmentedControl._sectionImages -_OBJC_IVAR_$_HMSegmentedControl._selectionIndicatorLocation -_OBJC_IVAR_$_HMSegmentedControl._selectionIndicatorBoxOpacity -_OBJC_IVAR_$_HMSegmentedControl._segmentWidthStyle -_OBJC_IVAR_$_HMSegmentedControl._borderType -___block_descriptor_tmp -___block_descriptor_tmp.236 -___block_descriptor_tmp.242 -___block_descriptor_tmp.283 -___block_descriptor_tmp.295 -___block_descriptor_tmp.303 -___block_descriptor_tmp.307 -_OBJC_IVAR_$_HMSegmentedControl._selectedSegmentIndex -_OBJC_IVAR_$_HMSegmentedControl._sectionSelectedImages -_OBJC_IVAR_$_HMSegmentedControl._indexChangeBlock -_OBJC_IVAR_$_HMSegmentedControl._titleFormatter -_OBJC_IVAR_$_HMSegmentedControl._titleTextAttributes -_OBJC_IVAR_$_HMSegmentedControl._selectedTitleTextAttributes -_OBJC_IVAR_$_HMSegmentedControl._verticalDividerWidth -_OBJC_IVAR_$_HMSegmentedControl._type -_OBJC_IVAR_$_HMSegmentedControl._selectionStyle -_OBJC_IVAR_$_HMSegmentedControl._borderColor -_OBJC_IVAR_$_HMSegmentedControl._borderWidth -_OBJC_IVAR_$_HMSegmentedControl._userDraggable -_OBJC_IVAR_$_HMSegmentedControl._touchEnabled -_OBJC_IVAR_$_HMSegmentedControl._verticalDividerEnabled -_OBJC_IVAR_$_HMSegmentedControl._selectionIndicatorHeight -_OBJC_IVAR_$_HMSegmentedControl._selectionIndicatorEdgeInsets -_OBJC_IVAR_$_HMSegmentedControl._segmentEdgeInset -_OBJC_IVAR_$_HMSegmentedControl._enlargeEdgeInset -_OBJC_IVAR_$_HMSegmentedControl._shouldAnimateUserSelection -_OBJC_IVAR_$_HMSegmentedControl._selectionIndicatorStripLayer -_OBJC_IVAR_$_HMSegmentedControl._selectionIndicatorBoxLayer -_OBJC_IVAR_$_HMSegmentedControl._selectionIndicatorArrowLayer -_OBJC_IVAR_$_HMSegmentedControl._segmentWidth -_OBJC_IVAR_$_HMSegmentedControl._segmentWidthsArray -_OBJC_IVAR_$_HMSegmentedControl._scrollView -Apple LLVM version 8.0.0 (clang-800.0.42.1) -/Users/maxime/Documents/Projects/MXSegmentedPager/Carthage/Checkouts/HMSegmentedControl/HMSegmentedControl/HMSegmentedControl.m -/Users/maxime/Documents/Projects/MXSegmentedPager/Carthage/Checkouts/HMSegmentedControl -/Users/maxime/Documents/Projects/MXSegmentedPager/Carthage/Checkouts/HMSegmentedControl/HMSegmentedControl/HMSegmentedControl.h -CGRectMake -/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS10.2.sdk/System/Library/Frameworks/CoreGraphics.framework/Headers/CGGeometry.h -__destroy_helper_block_ -__copy_helper_block_ -__41-[HMSegmentedControl updateSegmentsRects]_block_invoke.304 -__41-[HMSegmentedControl updateSegmentsRects]_block_invoke.300 -__41-[HMSegmentedControl updateSegmentsRects]_block_invoke.287 -__41-[HMSegmentedControl updateSegmentsRects]_block_invoke -CGSizeMake -__31-[HMSegmentedControl drawRect:]_block_invoke.237 -__31-[HMSegmentedControl drawRect:]_block_invoke.227 -__31-[HMSegmentedControl drawRect:]_block_invoke -/Users/maxime/Library/Developer/Xcode/DerivedData/HMSegmentedControl-czpiybupmotujaenpuunctritdec/Build/Intermediates/HMSegmentedControl.build/Release-iphoneos/HMSegmentedControl.build/DerivedSources/HMSegmentedControl_vers.c diff --git a/Carthage/Build/iOS/5EA049DD-5C4C-3F68-AE16-48B6735CA076.bcsymbolmap b/Carthage/Build/iOS/5EA049DD-5C4C-3F68-AE16-48B6735CA076.bcsymbolmap deleted file mode 100644 index bfae213a0..000000000 --- a/Carthage/Build/iOS/5EA049DD-5C4C-3F68-AE16-48B6735CA076.bcsymbolmap +++ /dev/null @@ -1,102 +0,0 @@ -BCSymbolMap Version: 2.0 --[MXPagerView layoutSubviews] --[MXPagerView reloadData] --[MXPagerView showPageAtIndex:animated:] --[MXPagerView pageAtIndex:] --[MXPagerView registerNib:forPageReuseIdentifier:] --[MXPagerView registerClass:forPageReuseIdentifier:] --[MXPagerView dequeueReusablePageWithIdentifier:] --[MXPagerView contentView] --[MXPagerView pages] --[MXPagerView selectedPage] --[MXPagerView indexForSelectedPage] --[MXPagerView setTransitionStyle:] --[MXPagerView registration] --[MXPagerView reuseQueue] --[MXPagerView setGutterWidth:] --[MXPagerView isScrollEnabled] --[MXPagerView setScrollEnabled:] --[MXPagerView loadedPages] --[MXPagerView progress] --[MXPagerView willMovePageToIndex:] --[MXPagerView didMovePageToIndex:] --[MXPagerView loadPageAtIndex:] -___31-[MXPagerView loadPageAtIndex:]_block_invoke -___copy_helper_block_ -___destroy_helper_block_ --[MXPagerView unLoadHiddenPages] --[MXPagerView setContentIndex:animated:] --[MXPagerView scrollViewDidScroll:] --[MXPagerView scrollViewDidEndDecelerating:] --[MXPagerView scrollViewWillEndDragging:withVelocity:targetContentOffset:] --[MXPagerView scrollViewDidEndScrollingAnimation:] --[MXPagerView delegate] --[MXPagerView setDelegate:] --[MXPagerView dataSource] --[MXPagerView setDataSource:] --[MXPagerView gutterWidth] --[MXPagerView transitionStyle] --[MXPagerView setContentView:] --[MXPagerView setPages:] --[MXPagerView setRegistration:] --[MXPagerView setReuseQueue:] --[MXPagerView .cxx_destruct] --[UIView(ReuseIdentifier) initWithReuseIdentifier:] --[UIView(ReuseIdentifier) initWithFrame:reuseIdentifier:] --[UIView(ReuseIdentifier) initWithCoder:reuseIdentifier:] --[UIView(ReuseIdentifier) reuseIdentifier] --[UIView(ReuseIdentifier) prepareForReuse] --[MXContentView gestureRecognizerShouldBegin:] -_OBJC_IVAR_$_MXPagerView._count -_OBJC_IVAR_$_MXPagerView._index -_OBJC_IVAR_$_MXPagerView._contentView -_OBJC_IVAR_$_MXPagerView._pages -_OBJC_IVAR_$_MXPagerView._transitionStyle -_OBJC_IVAR_$_MXPagerView._registration -_OBJC_IVAR_$_MXPagerView._reuseQueue -_OBJC_IVAR_$_MXPagerView._gutterWidth -___block_descriptor_tmp -_OBJC_IVAR_$_MXPagerView._delegate -_OBJC_IVAR_$_MXPagerView._dataSource -l_OBJC_PROTOCOL_$_NSObject -l_OBJC_LABEL_PROTOCOL_$_NSObject -l_OBJC_PROTOCOL_$_UIScrollViewDelegate -l_OBJC_LABEL_PROTOCOL_$_UIScrollViewDelegate -l_OBJC_PROTOCOL_$_UIGestureRecognizerDelegate -l_OBJC_LABEL_PROTOCOL_$_UIGestureRecognizerDelegate -Apple LLVM version 8.0.0 (clang-800.0.38) -/Users/travis/build/maxep/MXPagerView/MXPagerView/MXPagerView.m -/Users/travis/build/maxep/MXPagerView -/Users/travis/build/maxep/MXPagerView/MXPagerView/MXPagerView.h -__destroy_helper_block_ -__copy_helper_block_ -__31-[MXPagerView loadPageAtIndex:]_block_invoke --[MXPagerViewController loadView] --[MXPagerViewController pagerView] --[MXPagerViewController pageViewControllers] --[MXPagerViewController numberOfPagesInPagerView:] --[MXPagerViewController pagerView:viewForPageAtIndex:] --[MXPagerViewController pagerView:viewControllerForPageAtIndex:] --[MXPagerViewController pagerView:segueIdentifierForPageAtIndex:] --[MXPagerViewController pageIndex] --[MXPagerViewController setPageViewController:atIndex:] --[MXPagerViewController setPageViewControllers:] --[MXPagerViewController .cxx_destruct] --[MXPageSegue initWithIdentifier:source:destination:] --[MXPageSegue perform] --[MXPageSegue pageIndex] -_OBJC_IVAR_$_MXPagerViewController._pagerView -_OBJC_IVAR_$_MXPagerViewController._pageViewControllers -_OBJC_IVAR_$_MXPagerViewController._pageIndex -l_OBJC_PROTOCOL_$_MXPageSegueSource -l_OBJC_LABEL_PROTOCOL_$_MXPageSegueSource -l_OBJC_PROTOCOL_$_MXPagerViewDelegate -l_OBJC_LABEL_PROTOCOL_$_MXPagerViewDelegate -l_OBJC_PROTOCOL_$_MXPagerViewDataSource -l_OBJC_LABEL_PROTOCOL_$_MXPagerViewDataSource -l_OBJC_PROTOCOL_$_MXPagerViewControllerDataSource -l_OBJC_LABEL_PROTOCOL_$_MXPagerViewControllerDataSource -_OBJC_IVAR_$_MXPageSegue._pageIndex -/Users/travis/build/maxep/MXPagerView/MXPagerView/MXPagerViewController.m -/Users/travis/build/maxep/MXPagerView/MXPagerView/MXPagerViewController.h -/Users/travis/Library/Developer/Xcode/DerivedData/MXPagerView-hhfsmxyxivhuuccupqsarldaqyru/Build/Intermediates/MXPagerView.build/Release-iphoneos/MXPagerView.build/DerivedSources/MXPagerView_vers.c diff --git a/Carthage/Build/iOS/95C56C3D-F811-3B4A-9D79-50D9340CB21B.bcsymbolmap b/Carthage/Build/iOS/95C56C3D-F811-3B4A-9D79-50D9340CB21B.bcsymbolmap deleted file mode 100644 index 9dde6c6ee..000000000 --- a/Carthage/Build/iOS/95C56C3D-F811-3B4A-9D79-50D9340CB21B.bcsymbolmap +++ /dev/null @@ -1,104 +0,0 @@ -BCSymbolMap Version: 2.0 --[MXPagerView layoutSubviews] --[MXPagerView reloadData] --[MXPagerView showPageAtIndex:animated:] --[MXPagerView pageAtIndex:] --[MXPagerView registerNib:forPageReuseIdentifier:] --[MXPagerView registerClass:forPageReuseIdentifier:] --[MXPagerView dequeueReusablePageWithIdentifier:] --[MXPagerView contentView] --[MXPagerView pages] --[MXPagerView selectedPage] --[MXPagerView indexForSelectedPage] --[MXPagerView setTransitionStyle:] --[MXPagerView registration] --[MXPagerView reuseQueue] --[MXPagerView setGutterWidth:] --[MXPagerView isScrollEnabled] --[MXPagerView setScrollEnabled:] --[MXPagerView loadedPages] --[MXPagerView progress] --[MXPagerView willMovePageToIndex:] --[MXPagerView didMovePageToIndex:] --[MXPagerView loadPageAtIndex:] -___31-[MXPagerView loadPageAtIndex:]_block_invoke -___copy_helper_block_ -___destroy_helper_block_ --[MXPagerView unLoadHiddenPages] --[MXPagerView setContentIndex:animated:] --[MXPagerView scrollViewDidScroll:] --[MXPagerView scrollViewDidEndDecelerating:] --[MXPagerView scrollViewWillEndDragging:withVelocity:targetContentOffset:] --[MXPagerView scrollViewDidEndScrollingAnimation:] --[MXPagerView delegate] --[MXPagerView setDelegate:] --[MXPagerView dataSource] --[MXPagerView setDataSource:] --[MXPagerView gutterWidth] --[MXPagerView transitionStyle] --[MXPagerView setContentView:] --[MXPagerView setPages:] --[MXPagerView setRegistration:] --[MXPagerView setReuseQueue:] --[MXPagerView .cxx_destruct] --[UIView(ReuseIdentifier) initWithReuseIdentifier:] --[UIView(ReuseIdentifier) initWithFrame:reuseIdentifier:] --[UIView(ReuseIdentifier) initWithCoder:reuseIdentifier:] --[UIView(ReuseIdentifier) reuseIdentifier] --[UIView(ReuseIdentifier) prepareForReuse] --[MXContentView gestureRecognizerShouldBegin:] -_OBJC_IVAR_$_MXPagerView._count -_OBJC_IVAR_$_MXPagerView._index -_OBJC_IVAR_$_MXPagerView._contentView -_OBJC_IVAR_$_MXPagerView._pages -_OBJC_IVAR_$_MXPagerView._transitionStyle -_OBJC_IVAR_$_MXPagerView._registration -_OBJC_IVAR_$_MXPagerView._reuseQueue -_OBJC_IVAR_$_MXPagerView._gutterWidth -___block_descriptor_tmp -_OBJC_IVAR_$_MXPagerView._delegate -_OBJC_IVAR_$_MXPagerView._dataSource -l_OBJC_PROTOCOL_$_NSObject -l_OBJC_LABEL_PROTOCOL_$_NSObject -l_OBJC_PROTOCOL_$_UIScrollViewDelegate -l_OBJC_LABEL_PROTOCOL_$_UIScrollViewDelegate -l_OBJC_PROTOCOL_$_UIGestureRecognizerDelegate -l_OBJC_LABEL_PROTOCOL_$_UIGestureRecognizerDelegate -Apple LLVM version 8.0.0 (clang-800.0.38) -/Users/travis/build/maxep/MXPagerView/MXPagerView/MXPagerView.m -/Users/travis/build/maxep/MXPagerView -/Users/travis/build/maxep/MXPagerView/MXPagerView/MXPagerView.h -CGPointMake -/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS10.0.sdk/System/Library/Frameworks/CoreGraphics.framework/Headers/CGGeometry.h -__destroy_helper_block_ -__copy_helper_block_ -__31-[MXPagerView loadPageAtIndex:]_block_invoke --[MXPagerViewController loadView] --[MXPagerViewController pagerView] --[MXPagerViewController pageViewControllers] --[MXPagerViewController numberOfPagesInPagerView:] --[MXPagerViewController pagerView:viewForPageAtIndex:] --[MXPagerViewController pagerView:viewControllerForPageAtIndex:] --[MXPagerViewController pagerView:segueIdentifierForPageAtIndex:] --[MXPagerViewController pageIndex] --[MXPagerViewController setPageViewController:atIndex:] --[MXPagerViewController setPageViewControllers:] --[MXPagerViewController .cxx_destruct] --[MXPageSegue initWithIdentifier:source:destination:] --[MXPageSegue perform] --[MXPageSegue pageIndex] -_OBJC_IVAR_$_MXPagerViewController._pagerView -_OBJC_IVAR_$_MXPagerViewController._pageViewControllers -_OBJC_IVAR_$_MXPagerViewController._pageIndex -l_OBJC_PROTOCOL_$_MXPageSegueSource -l_OBJC_LABEL_PROTOCOL_$_MXPageSegueSource -l_OBJC_PROTOCOL_$_MXPagerViewDelegate -l_OBJC_LABEL_PROTOCOL_$_MXPagerViewDelegate -l_OBJC_PROTOCOL_$_MXPagerViewDataSource -l_OBJC_LABEL_PROTOCOL_$_MXPagerViewDataSource -l_OBJC_PROTOCOL_$_MXPagerViewControllerDataSource -l_OBJC_LABEL_PROTOCOL_$_MXPagerViewControllerDataSource -_OBJC_IVAR_$_MXPageSegue._pageIndex -/Users/travis/build/maxep/MXPagerView/MXPagerView/MXPagerViewController.m -/Users/travis/build/maxep/MXPagerView/MXPagerView/MXPagerViewController.h -/Users/travis/Library/Developer/Xcode/DerivedData/MXPagerView-hhfsmxyxivhuuccupqsarldaqyru/Build/Intermediates/MXPagerView.build/Release-iphoneos/MXPagerView.build/DerivedSources/MXPagerView_vers.c diff --git a/Carthage/Build/iOS/B172F7DE-3DD1-3151-A7C7-180F8E374F31.bcsymbolmap b/Carthage/Build/iOS/B172F7DE-3DD1-3151-A7C7-180F8E374F31.bcsymbolmap deleted file mode 100644 index b679c1c6b..000000000 --- a/Carthage/Build/iOS/B172F7DE-3DD1-3151-A7C7-180F8E374F31.bcsymbolmap +++ /dev/null @@ -1,129 +0,0 @@ -BCSymbolMap Version: 2.0 --[MXScrollViewController loadView] --[MXScrollViewController viewDidLoad] --[MXScrollViewController viewDidLayoutSubviews] --[MXScrollViewController layoutChildViewController] --[MXScrollViewController scrollView] --[MXScrollViewController setHeaderViewController:] --[MXScrollViewController setChildViewController:] --[MXScrollViewController observeValueForKeyPath:ofObject:change:context:] --[MXScrollViewController dealloc] --[MXScrollViewController headerViewController] --[MXScrollViewController childViewController] --[MXScrollViewController headerView] --[MXScrollViewController setHeaderView:] --[MXScrollViewController headerHeight] --[MXScrollViewController setHeaderHeight:] --[MXScrollViewController headerMinimumHeight] --[MXScrollViewController setHeaderMinimumHeight:] --[MXScrollViewController .cxx_destruct] --[UIViewController(MXParallaxHeader) parallaxHeader] --[MXParallaxHeaderSegue perform] --[MXScrollViewControllerSegue perform] -_OBJC_IVAR_$_MXScrollViewController._scrollView -_kMXScrollViewControllerKVOContext -_OBJC_IVAR_$_MXScrollViewController._headerViewController -_OBJC_IVAR_$_MXScrollViewController._childViewController -_OBJC_IVAR_$_MXScrollViewController._headerView -_OBJC_IVAR_$_MXScrollViewController._headerHeight -_OBJC_IVAR_$_MXScrollViewController._headerMinimumHeight -Apple LLVM version 8.0.0 (clang-800.0.38) -/Users/travis/build/maxep/MXParallaxHeader/MXParallaxHeader/MXScrollViewController.m -/Users/travis/build/maxep/MXParallaxHeader -/Users/travis/build/maxep/MXParallaxHeader/MXParallaxHeader/MXScrollViewController.h --[MXScrollView initWithFrame:] --[MXScrollView initWithCoder:] --[MXScrollView initialize] --[MXScrollView observedViews] --[MXScrollView delegateForwarder] --[MXScrollView setDelegate:] --[MXScrollView delegate] --[MXScrollView gestureRecognizerShouldBegin:] --[MXScrollView gestureRecognizer:shouldRecognizeSimultaneouslyWithGestureRecognizer:] --[MXScrollView addObserverToView:] --[MXScrollView removeObserverFromView:] --[MXScrollView observeValueForKeyPath:ofObject:change:context:] --[MXScrollView addObservedView:] --[MXScrollView removeObservedViews] --[MXScrollView scrollView:setContentOffset:] --[MXScrollView dealloc] --[MXScrollView scrollViewDidScroll:] --[MXScrollView scrollViewDidEndDecelerating:] --[MXScrollView bounces] --[MXScrollView setBounces:] --[MXScrollView setDelegateForwarder:] --[MXScrollView setObservedViews:] --[MXScrollView .cxx_destruct] --[MXScrollViewDelegateForwarder respondsToSelector:] --[MXScrollViewDelegateForwarder forwardInvocation:] --[MXScrollViewDelegateForwarder scrollViewDidScroll:] --[MXScrollViewDelegateForwarder scrollViewDidEndDecelerating:] --[MXScrollViewDelegateForwarder delegate] --[MXScrollViewDelegateForwarder setDelegate:] --[MXScrollViewDelegateForwarder .cxx_destruct] -_kMXScrollViewKVOContext -_OBJC_IVAR_$_MXScrollView._isObserving -_OBJC_IVAR_$_MXScrollView._observedViews -_OBJC_IVAR_$_MXScrollView._delegateForwarder -_OBJC_IVAR_$_MXScrollView._lock -_OBJC_IVAR_$_MXScrollView._bounces -_OBJC_IVAR_$_MXScrollView._delegate -l_OBJC_PROTOCOL_$_NSObject -l_OBJC_LABEL_PROTOCOL_$_NSObject -l_OBJC_PROTOCOL_$_UIGestureRecognizerDelegate -l_OBJC_LABEL_PROTOCOL_$_UIGestureRecognizerDelegate -_OBJC_IVAR_$_MXScrollViewDelegateForwarder._delegate -l_OBJC_PROTOCOL_$_UIScrollViewDelegate -l_OBJC_LABEL_PROTOCOL_$_UIScrollViewDelegate -l_OBJC_PROTOCOL_$_MXScrollViewDelegate -l_OBJC_LABEL_PROTOCOL_$_MXScrollViewDelegate -/Users/travis/build/maxep/MXParallaxHeader/MXParallaxHeader/MXScrollView.m --[UIScrollView setBounces:] -/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS10.0.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIScrollView.h --[UIScrollView bounces] -CGPointMake -/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS10.0.sdk/System/Library/Frameworks/CoreGraphics.framework/Headers/CGGeometry.h --[MXParallaxView willMoveToSuperview:] --[MXParallaxView didMoveToSuperview] --[MXParallaxView parent] --[MXParallaxView setParent:] --[MXParallaxView .cxx_destruct] --[MXParallaxHeader contentView] --[MXParallaxHeader setView:] --[MXParallaxHeader setMode:] --[MXParallaxHeader setHeight:] --[MXParallaxHeader setMinimumHeight:] --[MXParallaxHeader setScrollView:] --[MXParallaxHeader progress] --[MXParallaxHeader updateConstraints] --[MXParallaxHeader setCenterModeConstraints] --[MXParallaxHeader setFillModeConstraints] --[MXParallaxHeader setTopFillModeConstraints] --[MXParallaxHeader setTopModeConstraints] --[MXParallaxHeader setBottomModeConstraints] --[MXParallaxHeader layoutContentView] --[MXParallaxHeader adjustScrollViewTopInset:] --[MXParallaxHeader observeValueForKeyPath:ofObject:change:context:] --[MXParallaxHeader delegate] --[MXParallaxHeader setDelegate:] --[MXParallaxHeader view] --[MXParallaxHeader height] --[MXParallaxHeader minimumHeight] --[MXParallaxHeader mode] --[MXParallaxHeader scrollView] --[MXParallaxHeader .cxx_destruct] --[UIScrollView(MXParallaxHeader) parallaxHeader] --[UIScrollView(MXParallaxHeader) setParallaxHeader:] -_kMXParallaxHeaderKVOContext -_OBJC_IVAR_$_MXParallaxView._parent -_OBJC_IVAR_$_MXParallaxHeader._contentView -_OBJC_IVAR_$_MXParallaxHeader._view -_OBJC_IVAR_$_MXParallaxHeader._mode -_OBJC_IVAR_$_MXParallaxHeader._height -_OBJC_IVAR_$_MXParallaxHeader._minimumHeight -_OBJC_IVAR_$_MXParallaxHeader._scrollView -_OBJC_IVAR_$_MXParallaxHeader._isObserving -_OBJC_IVAR_$_MXParallaxHeader._delegate -/Users/travis/build/maxep/MXParallaxHeader/MXParallaxHeader/MXParallaxHeader.m -/Users/travis/build/maxep/MXParallaxHeader/MXParallaxHeader/MXParallaxHeader.h -/Users/travis/Library/Developer/Xcode/DerivedData/MXParallaxHeader-ggfnrwkpjsflztdqzlustunbqigv/Build/Intermediates/MXParallaxHeader.build/Release-iphoneos/MXParallaxHeader.build/DerivedSources/MXParallaxHeader_vers.c diff --git a/Carthage/Build/iOS/BAE07393-ED4A-38E0-838A-1CDC5D2410F8.bcsymbolmap b/Carthage/Build/iOS/BAE07393-ED4A-38E0-838A-1CDC5D2410F8.bcsymbolmap deleted file mode 100644 index f2ae53efa..000000000 --- a/Carthage/Build/iOS/BAE07393-ED4A-38E0-838A-1CDC5D2410F8.bcsymbolmap +++ /dev/null @@ -1,179 +0,0 @@ -BCSymbolMap Version: 2.0 --[HMScrollView touchesBegan:withEvent:] --[HMScrollView touchesMoved:withEvent:] --[HMScrollView touchesEnded:withEvent:] --[HMSegmentedControl initWithCoder:] --[HMSegmentedControl initWithFrame:] --[HMSegmentedControl initWithSectionTitles:] --[HMSegmentedControl initWithSectionImages:sectionSelectedImages:] --[HMSegmentedControl initWithSectionImages:sectionSelectedImages:titlesForSections:] --[HMSegmentedControl awakeFromNib] --[HMSegmentedControl commonInit] --[HMSegmentedControl layoutSubviews] --[HMSegmentedControl setFrame:] --[HMSegmentedControl setSectionTitles:] --[HMSegmentedControl setSectionImages:] --[HMSegmentedControl setSelectionIndicatorLocation:] --[HMSegmentedControl setSelectionIndicatorBoxOpacity:] --[HMSegmentedControl setSegmentWidthStyle:] --[HMSegmentedControl setBorderType:] --[HMSegmentedControl measureTitleAtIndex:] --[HMSegmentedControl attributedTitleAtIndex:] --[HMSegmentedControl drawRect:] -___31-[HMSegmentedControl drawRect:]_block_invoke -___copy_helper_block_ -___destroy_helper_block_ -___31-[HMSegmentedControl drawRect:]_block_invoke.227 -___copy_helper_block_.234 -___destroy_helper_block_.235 -___31-[HMSegmentedControl drawRect:]_block_invoke.237 -___copy_helper_block_.240 -___destroy_helper_block_.241 --[HMSegmentedControl addBackgroundAndBorderLayerWithRect:] --[HMSegmentedControl setArrowFrame] --[HMSegmentedControl frameForSelectionIndicator] --[HMSegmentedControl frameForFillerSelectionIndicator] --[HMSegmentedControl updateSegmentsRects] -___41-[HMSegmentedControl updateSegmentsRects]_block_invoke -___copy_helper_block_.281 -___destroy_helper_block_.282 -___41-[HMSegmentedControl updateSegmentsRects]_block_invoke.287 -___copy_helper_block_.293 -___destroy_helper_block_.294 -___41-[HMSegmentedControl updateSegmentsRects]_block_invoke.300 -___copy_helper_block_.301 -___destroy_helper_block_.302 -___41-[HMSegmentedControl updateSegmentsRects]_block_invoke.304 -___copy_helper_block_.305 -___destroy_helper_block_.306 --[HMSegmentedControl sectionCount] --[HMSegmentedControl willMoveToSuperview:] --[HMSegmentedControl touchesEnded:withEvent:] --[HMSegmentedControl totalSegmentedControlWidth] --[HMSegmentedControl scrollToSelectedSegmentIndex:] --[HMSegmentedControl setSelectedSegmentIndex:] --[HMSegmentedControl setSelectedSegmentIndex:animated:] --[HMSegmentedControl setSelectedSegmentIndex:animated:notify:] --[HMSegmentedControl notifyForSegmentChangeToIndex:] --[HMSegmentedControl resultingTitleTextAttributes] --[HMSegmentedControl resultingSelectedTitleTextAttributes] --[HMSegmentedControl sectionTitles] --[HMSegmentedControl sectionImages] --[HMSegmentedControl sectionSelectedImages] --[HMSegmentedControl setSectionSelectedImages:] --[HMSegmentedControl indexChangeBlock] --[HMSegmentedControl setIndexChangeBlock:] --[HMSegmentedControl titleFormatter] --[HMSegmentedControl setTitleFormatter:] --[HMSegmentedControl titleTextAttributes] --[HMSegmentedControl setTitleTextAttributes:] --[HMSegmentedControl selectedTitleTextAttributes] --[HMSegmentedControl setSelectedTitleTextAttributes:] --[HMSegmentedControl backgroundColor] --[HMSegmentedControl setBackgroundColor:] --[HMSegmentedControl selectionIndicatorColor] --[HMSegmentedControl setSelectionIndicatorColor:] --[HMSegmentedControl selectionIndicatorBoxColor] --[HMSegmentedControl setSelectionIndicatorBoxColor:] --[HMSegmentedControl verticalDividerColor] --[HMSegmentedControl setVerticalDividerColor:] --[HMSegmentedControl selectionIndicatorBoxOpacity] --[HMSegmentedControl verticalDividerWidth] --[HMSegmentedControl setVerticalDividerWidth:] --[HMSegmentedControl type] --[HMSegmentedControl setType:] --[HMSegmentedControl selectionStyle] --[HMSegmentedControl setSelectionStyle:] --[HMSegmentedControl segmentWidthStyle] --[HMSegmentedControl selectionIndicatorLocation] --[HMSegmentedControl borderType] --[HMSegmentedControl borderColor] --[HMSegmentedControl setBorderColor:] --[HMSegmentedControl borderWidth] --[HMSegmentedControl setBorderWidth:] --[HMSegmentedControl isUserDraggable] --[HMSegmentedControl setUserDraggable:] --[HMSegmentedControl isTouchEnabled] --[HMSegmentedControl setTouchEnabled:] --[HMSegmentedControl isVerticalDividerEnabled] --[HMSegmentedControl setVerticalDividerEnabled:] --[HMSegmentedControl selectedSegmentIndex] --[HMSegmentedControl selectionIndicatorHeight] --[HMSegmentedControl setSelectionIndicatorHeight:] --[HMSegmentedControl selectionIndicatorEdgeInsets] --[HMSegmentedControl setSelectionIndicatorEdgeInsets:] --[HMSegmentedControl segmentEdgeInset] --[HMSegmentedControl setSegmentEdgeInset:] --[HMSegmentedControl enlargeEdgeInset] --[HMSegmentedControl setEnlargeEdgeInset:] --[HMSegmentedControl shouldAnimateUserSelection] --[HMSegmentedControl setShouldAnimateUserSelection:] --[HMSegmentedControl selectionIndicatorStripLayer] --[HMSegmentedControl setSelectionIndicatorStripLayer:] --[HMSegmentedControl selectionIndicatorBoxLayer] --[HMSegmentedControl setSelectionIndicatorBoxLayer:] --[HMSegmentedControl selectionIndicatorArrowLayer] --[HMSegmentedControl setSelectionIndicatorArrowLayer:] --[HMSegmentedControl segmentWidth] --[HMSegmentedControl setSegmentWidth:] --[HMSegmentedControl segmentWidthsArray] --[HMSegmentedControl setSegmentWidthsArray:] --[HMSegmentedControl scrollView] --[HMSegmentedControl setScrollView:] --[HMSegmentedControl .cxx_destruct] -_OBJC_IVAR_$_HMSegmentedControl._backgroundColor -_OBJC_IVAR_$_HMSegmentedControl._selectionIndicatorColor -_OBJC_IVAR_$_HMSegmentedControl._selectionIndicatorBoxColor -_OBJC_IVAR_$_HMSegmentedControl._verticalDividerColor -_OBJC_IVAR_$_HMSegmentedControl._sectionTitles -_OBJC_IVAR_$_HMSegmentedControl._sectionImages -_OBJC_IVAR_$_HMSegmentedControl._selectionIndicatorLocation -_OBJC_IVAR_$_HMSegmentedControl._selectionIndicatorBoxOpacity -_OBJC_IVAR_$_HMSegmentedControl._segmentWidthStyle -_OBJC_IVAR_$_HMSegmentedControl._borderType -___block_descriptor_tmp -___block_descriptor_tmp.236 -___block_descriptor_tmp.242 -___block_descriptor_tmp.283 -___block_descriptor_tmp.295 -___block_descriptor_tmp.303 -___block_descriptor_tmp.307 -_OBJC_IVAR_$_HMSegmentedControl._selectedSegmentIndex -_OBJC_IVAR_$_HMSegmentedControl._sectionSelectedImages -_OBJC_IVAR_$_HMSegmentedControl._indexChangeBlock -_OBJC_IVAR_$_HMSegmentedControl._titleFormatter -_OBJC_IVAR_$_HMSegmentedControl._titleTextAttributes -_OBJC_IVAR_$_HMSegmentedControl._selectedTitleTextAttributes -_OBJC_IVAR_$_HMSegmentedControl._verticalDividerWidth -_OBJC_IVAR_$_HMSegmentedControl._type -_OBJC_IVAR_$_HMSegmentedControl._selectionStyle -_OBJC_IVAR_$_HMSegmentedControl._borderColor -_OBJC_IVAR_$_HMSegmentedControl._borderWidth -_OBJC_IVAR_$_HMSegmentedControl._userDraggable -_OBJC_IVAR_$_HMSegmentedControl._touchEnabled -_OBJC_IVAR_$_HMSegmentedControl._verticalDividerEnabled -_OBJC_IVAR_$_HMSegmentedControl._selectionIndicatorHeight -_OBJC_IVAR_$_HMSegmentedControl._selectionIndicatorEdgeInsets -_OBJC_IVAR_$_HMSegmentedControl._segmentEdgeInset -_OBJC_IVAR_$_HMSegmentedControl._enlargeEdgeInset -_OBJC_IVAR_$_HMSegmentedControl._shouldAnimateUserSelection -_OBJC_IVAR_$_HMSegmentedControl._selectionIndicatorStripLayer -_OBJC_IVAR_$_HMSegmentedControl._selectionIndicatorBoxLayer -_OBJC_IVAR_$_HMSegmentedControl._selectionIndicatorArrowLayer -_OBJC_IVAR_$_HMSegmentedControl._segmentWidth -_OBJC_IVAR_$_HMSegmentedControl._segmentWidthsArray -_OBJC_IVAR_$_HMSegmentedControl._scrollView -Apple LLVM version 8.0.0 (clang-800.0.42.1) -/Users/maxime/Documents/Projects/MXSegmentedPager/Carthage/Checkouts/HMSegmentedControl/HMSegmentedControl/HMSegmentedControl.m -/Users/maxime/Documents/Projects/MXSegmentedPager/Carthage/Checkouts/HMSegmentedControl -/Users/maxime/Documents/Projects/MXSegmentedPager/Carthage/Checkouts/HMSegmentedControl/HMSegmentedControl/HMSegmentedControl.h -__destroy_helper_block_ -__copy_helper_block_ -__41-[HMSegmentedControl updateSegmentsRects]_block_invoke.304 -__41-[HMSegmentedControl updateSegmentsRects]_block_invoke.300 -__41-[HMSegmentedControl updateSegmentsRects]_block_invoke.287 -__41-[HMSegmentedControl updateSegmentsRects]_block_invoke -__31-[HMSegmentedControl drawRect:]_block_invoke.237 -__31-[HMSegmentedControl drawRect:]_block_invoke.227 -__31-[HMSegmentedControl drawRect:]_block_invoke -/Users/maxime/Library/Developer/Xcode/DerivedData/HMSegmentedControl-czpiybupmotujaenpuunctritdec/Build/Intermediates/HMSegmentedControl.build/Release-iphoneos/HMSegmentedControl.build/DerivedSources/HMSegmentedControl_vers.c diff --git a/Carthage/Build/iOS/EADD1CF2-CF95-3EA8-AE89-24171CA7175D.bcsymbolmap b/Carthage/Build/iOS/EADD1CF2-CF95-3EA8-AE89-24171CA7175D.bcsymbolmap deleted file mode 100644 index d0fc780bd..000000000 --- a/Carthage/Build/iOS/EADD1CF2-CF95-3EA8-AE89-24171CA7175D.bcsymbolmap +++ /dev/null @@ -1,127 +0,0 @@ -BCSymbolMap Version: 2.0 --[MXScrollViewController loadView] --[MXScrollViewController viewDidLoad] --[MXScrollViewController viewDidLayoutSubviews] --[MXScrollViewController layoutChildViewController] --[MXScrollViewController scrollView] --[MXScrollViewController setHeaderViewController:] --[MXScrollViewController setChildViewController:] --[MXScrollViewController observeValueForKeyPath:ofObject:change:context:] --[MXScrollViewController dealloc] --[MXScrollViewController headerViewController] --[MXScrollViewController childViewController] --[MXScrollViewController headerView] --[MXScrollViewController setHeaderView:] --[MXScrollViewController headerHeight] --[MXScrollViewController setHeaderHeight:] --[MXScrollViewController headerMinimumHeight] --[MXScrollViewController setHeaderMinimumHeight:] --[MXScrollViewController .cxx_destruct] --[UIViewController(MXParallaxHeader) parallaxHeader] --[MXParallaxHeaderSegue perform] --[MXScrollViewControllerSegue perform] -_OBJC_IVAR_$_MXScrollViewController._scrollView -_kMXScrollViewControllerKVOContext -_OBJC_IVAR_$_MXScrollViewController._headerViewController -_OBJC_IVAR_$_MXScrollViewController._childViewController -_OBJC_IVAR_$_MXScrollViewController._headerView -_OBJC_IVAR_$_MXScrollViewController._headerHeight -_OBJC_IVAR_$_MXScrollViewController._headerMinimumHeight -Apple LLVM version 8.0.0 (clang-800.0.38) -/Users/travis/build/maxep/MXParallaxHeader/MXParallaxHeader/MXScrollViewController.m -/Users/travis/build/maxep/MXParallaxHeader -/Users/travis/build/maxep/MXParallaxHeader/MXParallaxHeader/MXScrollViewController.h --[MXScrollView initWithFrame:] --[MXScrollView initWithCoder:] --[MXScrollView initialize] --[MXScrollView observedViews] --[MXScrollView delegateForwarder] --[MXScrollView setDelegate:] --[MXScrollView delegate] --[MXScrollView gestureRecognizerShouldBegin:] --[MXScrollView gestureRecognizer:shouldRecognizeSimultaneouslyWithGestureRecognizer:] --[MXScrollView addObserverToView:] --[MXScrollView removeObserverFromView:] --[MXScrollView observeValueForKeyPath:ofObject:change:context:] --[MXScrollView addObservedView:] --[MXScrollView removeObservedViews] --[MXScrollView scrollView:setContentOffset:] --[MXScrollView dealloc] --[MXScrollView scrollViewDidScroll:] --[MXScrollView scrollViewDidEndDecelerating:] --[MXScrollView bounces] --[MXScrollView setBounces:] --[MXScrollView setDelegateForwarder:] --[MXScrollView setObservedViews:] --[MXScrollView .cxx_destruct] --[MXScrollViewDelegateForwarder respondsToSelector:] --[MXScrollViewDelegateForwarder forwardInvocation:] --[MXScrollViewDelegateForwarder scrollViewDidScroll:] --[MXScrollViewDelegateForwarder scrollViewDidEndDecelerating:] --[MXScrollViewDelegateForwarder delegate] --[MXScrollViewDelegateForwarder setDelegate:] --[MXScrollViewDelegateForwarder .cxx_destruct] -_kMXScrollViewKVOContext -_OBJC_IVAR_$_MXScrollView._isObserving -_OBJC_IVAR_$_MXScrollView._observedViews -_OBJC_IVAR_$_MXScrollView._delegateForwarder -_OBJC_IVAR_$_MXScrollView._lock -_OBJC_IVAR_$_MXScrollView._bounces -_OBJC_IVAR_$_MXScrollView._delegate -l_OBJC_PROTOCOL_$_NSObject -l_OBJC_LABEL_PROTOCOL_$_NSObject -l_OBJC_PROTOCOL_$_UIGestureRecognizerDelegate -l_OBJC_LABEL_PROTOCOL_$_UIGestureRecognizerDelegate -_OBJC_IVAR_$_MXScrollViewDelegateForwarder._delegate -l_OBJC_PROTOCOL_$_UIScrollViewDelegate -l_OBJC_LABEL_PROTOCOL_$_UIScrollViewDelegate -l_OBJC_PROTOCOL_$_MXScrollViewDelegate -l_OBJC_LABEL_PROTOCOL_$_MXScrollViewDelegate -/Users/travis/build/maxep/MXParallaxHeader/MXParallaxHeader/MXScrollView.m --[UIScrollView setBounces:] -/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS10.0.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIScrollView.h --[UIScrollView bounces] --[MXParallaxView willMoveToSuperview:] --[MXParallaxView didMoveToSuperview] --[MXParallaxView parent] --[MXParallaxView setParent:] --[MXParallaxView .cxx_destruct] --[MXParallaxHeader contentView] --[MXParallaxHeader setView:] --[MXParallaxHeader setMode:] --[MXParallaxHeader setHeight:] --[MXParallaxHeader setMinimumHeight:] --[MXParallaxHeader setScrollView:] --[MXParallaxHeader progress] --[MXParallaxHeader updateConstraints] --[MXParallaxHeader setCenterModeConstraints] --[MXParallaxHeader setFillModeConstraints] --[MXParallaxHeader setTopFillModeConstraints] --[MXParallaxHeader setTopModeConstraints] --[MXParallaxHeader setBottomModeConstraints] --[MXParallaxHeader layoutContentView] --[MXParallaxHeader adjustScrollViewTopInset:] --[MXParallaxHeader observeValueForKeyPath:ofObject:change:context:] --[MXParallaxHeader delegate] --[MXParallaxHeader setDelegate:] --[MXParallaxHeader view] --[MXParallaxHeader height] --[MXParallaxHeader minimumHeight] --[MXParallaxHeader mode] --[MXParallaxHeader scrollView] --[MXParallaxHeader .cxx_destruct] --[UIScrollView(MXParallaxHeader) parallaxHeader] --[UIScrollView(MXParallaxHeader) setParallaxHeader:] -_kMXParallaxHeaderKVOContext -_OBJC_IVAR_$_MXParallaxView._parent -_OBJC_IVAR_$_MXParallaxHeader._contentView -_OBJC_IVAR_$_MXParallaxHeader._view -_OBJC_IVAR_$_MXParallaxHeader._mode -_OBJC_IVAR_$_MXParallaxHeader._height -_OBJC_IVAR_$_MXParallaxHeader._minimumHeight -_OBJC_IVAR_$_MXParallaxHeader._scrollView -_OBJC_IVAR_$_MXParallaxHeader._isObserving -_OBJC_IVAR_$_MXParallaxHeader._delegate -/Users/travis/build/maxep/MXParallaxHeader/MXParallaxHeader/MXParallaxHeader.m -/Users/travis/build/maxep/MXParallaxHeader/MXParallaxHeader/MXParallaxHeader.h -/Users/travis/Library/Developer/Xcode/DerivedData/MXParallaxHeader-ggfnrwkpjsflztdqzlustunbqigv/Build/Intermediates/MXParallaxHeader.build/Release-iphoneos/MXParallaxHeader.build/DerivedSources/MXParallaxHeader_vers.c diff --git a/Carthage/Build/iOS/HMSegmentedControl.framework.dSYM/Contents/Resources/DWARF/HMSegmentedControl b/Carthage/Build/iOS/HMSegmentedControl.framework.dSYM/Contents/Resources/DWARF/HMSegmentedControl deleted file mode 100644 index 0c6a8d996..000000000 Binary files a/Carthage/Build/iOS/HMSegmentedControl.framework.dSYM/Contents/Resources/DWARF/HMSegmentedControl and /dev/null differ diff --git a/Carthage/Build/iOS/HMSegmentedControl.framework/HMSegmentedControl b/Carthage/Build/iOS/HMSegmentedControl.framework/HMSegmentedControl deleted file mode 100755 index f526d7388..000000000 Binary files a/Carthage/Build/iOS/HMSegmentedControl.framework/HMSegmentedControl and /dev/null differ diff --git a/Carthage/Build/iOS/HMSegmentedControl.framework/Headers/HMSegmentedControl-umbrella.h b/Carthage/Build/iOS/HMSegmentedControl.framework/Headers/HMSegmentedControl-umbrella.h deleted file mode 100644 index 2a64b75d7..000000000 --- a/Carthage/Build/iOS/HMSegmentedControl.framework/Headers/HMSegmentedControl-umbrella.h +++ /dev/null @@ -1,19 +0,0 @@ -// -// HMSegmentedControl.h -// HMSegmentedControl -// -// Created by Maxime Epain on 05/10/2016. -// Copyright © 2012-2015 Hesham Abd-Elmegid. All rights reserved. -// - -#import - -//! Project version number for HMSegmentedControl. -FOUNDATION_EXPORT double HMSegmentedControlVersionNumber; - -//! Project version string for HMSegmentedControl. -FOUNDATION_EXPORT const unsigned char HMSegmentedControlVersionString[]; - -#import - - diff --git a/Carthage/Build/iOS/HMSegmentedControl.framework/Headers/HMSegmentedControl.h b/Carthage/Build/iOS/HMSegmentedControl.framework/Headers/HMSegmentedControl.h deleted file mode 100755 index cd9efd1b3..000000000 --- a/Carthage/Build/iOS/HMSegmentedControl.framework/Headers/HMSegmentedControl.h +++ /dev/null @@ -1,238 +0,0 @@ -// -// HMSegmentedControl.h -// HMSegmentedControl -// -// Created by Hesham Abd-Elmegid on 23/12/12. -// Copyright (c) 2012-2015 Hesham Abd-Elmegid. All rights reserved. -// - -#import - -@class HMSegmentedControl; - -typedef void (^IndexChangeBlock)(NSInteger index); -typedef NSAttributedString *(^HMTitleFormatterBlock)(HMSegmentedControl *segmentedControl, NSString *title, NSUInteger index, BOOL selected); - -typedef NS_ENUM(NSInteger, HMSegmentedControlSelectionStyle) { - HMSegmentedControlSelectionStyleTextWidthStripe, // Indicator width will only be as big as the text width - HMSegmentedControlSelectionStyleFullWidthStripe, // Indicator width will fill the whole segment - HMSegmentedControlSelectionStyleBox, // A rectangle that covers the whole segment - HMSegmentedControlSelectionStyleArrow // An arrow in the middle of the segment pointing up or down depending on `HMSegmentedControlSelectionIndicatorLocation` -}; - -typedef NS_ENUM(NSInteger, HMSegmentedControlSelectionIndicatorLocation) { - HMSegmentedControlSelectionIndicatorLocationUp, - HMSegmentedControlSelectionIndicatorLocationDown, - HMSegmentedControlSelectionIndicatorLocationNone // No selection indicator -}; - -typedef NS_ENUM(NSInteger, HMSegmentedControlSegmentWidthStyle) { - HMSegmentedControlSegmentWidthStyleFixed, // Segment width is fixed - HMSegmentedControlSegmentWidthStyleDynamic, // Segment width will only be as big as the text width (including inset) -}; - -typedef NS_OPTIONS(NSInteger, HMSegmentedControlBorderType) { - HMSegmentedControlBorderTypeNone = 0, - HMSegmentedControlBorderTypeTop = (1 << 0), - HMSegmentedControlBorderTypeLeft = (1 << 1), - HMSegmentedControlBorderTypeBottom = (1 << 2), - HMSegmentedControlBorderTypeRight = (1 << 3) -}; - -enum { - HMSegmentedControlNoSegment = -1 // Segment index for no selected segment -}; - -typedef NS_ENUM(NSInteger, HMSegmentedControlType) { - HMSegmentedControlTypeText, - HMSegmentedControlTypeImages, - HMSegmentedControlTypeTextImages -}; - -@interface HMSegmentedControl : UIControl - -@property (nonatomic, strong) NSArray *sectionTitles; -@property (nonatomic, strong) NSArray *sectionImages; -@property (nonatomic, strong) NSArray *sectionSelectedImages; - -/** - Provide a block to be executed when selected index is changed. - - Alternativly, you could use `addTarget:action:forControlEvents:` - */ -@property (nonatomic, copy) IndexChangeBlock indexChangeBlock; - -/** - Used to apply custom text styling to titles when set. - - When this block is set, no additional styling is applied to the `NSAttributedString` object returned from this block. - */ -@property (nonatomic, copy) HMTitleFormatterBlock titleFormatter; - -/** - Text attributes to apply to item title text. - */ -@property (nonatomic, strong) NSDictionary *titleTextAttributes UI_APPEARANCE_SELECTOR; - -/* - Text attributes to apply to selected item title text. - - Attributes not set in this dictionary are inherited from `titleTextAttributes`. - */ -@property (nonatomic, strong) NSDictionary *selectedTitleTextAttributes UI_APPEARANCE_SELECTOR; - -/** - Segmented control background color. - - Default is `[UIColor whiteColor]` - */ -@property (nonatomic, strong) UIColor *backgroundColor UI_APPEARANCE_SELECTOR; - -/** - Color for the selection indicator stripe - - Default is `R:52, G:181, B:229` - */ -@property (nonatomic, strong) UIColor *selectionIndicatorColor UI_APPEARANCE_SELECTOR; - -/** - Color for the selection indicator box - - Default is selectionIndicatorColor - */ -@property (nonatomic, strong) UIColor *selectionIndicatorBoxColor UI_APPEARANCE_SELECTOR; - -/** - Color for the vertical divider between segments. - - Default is `[UIColor blackColor]` - */ -@property (nonatomic, strong) UIColor *verticalDividerColor UI_APPEARANCE_SELECTOR; - -/** - Opacity for the seletion indicator box. - - Default is `0.2f` - */ -@property (nonatomic) CGFloat selectionIndicatorBoxOpacity; - -/** - Width the vertical divider between segments that is added when `verticalDividerEnabled` is set to YES. - - Default is `1.0f` - */ -@property (nonatomic, assign) CGFloat verticalDividerWidth; - -/** - Specifies the style of the control - - Default is `HMSegmentedControlTypeText` - */ -@property (nonatomic, assign) HMSegmentedControlType type; - -/** - Specifies the style of the selection indicator. - - Default is `HMSegmentedControlSelectionStyleTextWidthStripe` - */ -@property (nonatomic, assign) HMSegmentedControlSelectionStyle selectionStyle; - -/** - Specifies the style of the segment's width. - - Default is `HMSegmentedControlSegmentWidthStyleFixed` - */ -@property (nonatomic, assign) HMSegmentedControlSegmentWidthStyle segmentWidthStyle; - -/** - Specifies the location of the selection indicator. - - Default is `HMSegmentedControlSelectionIndicatorLocationUp` - */ -@property (nonatomic, assign) HMSegmentedControlSelectionIndicatorLocation selectionIndicatorLocation; - -/* - Specifies the border type. - - Default is `HMSegmentedControlBorderTypeNone` - */ -@property (nonatomic, assign) HMSegmentedControlBorderType borderType; - -/** - Specifies the border color. - - Default is `[UIColor blackColor]` - */ -@property (nonatomic, strong) UIColor *borderColor; - -/** - Specifies the border width. - - Default is `1.0f` - */ -@property (nonatomic, assign) CGFloat borderWidth; - -/** - Default is YES. Set to NO to deny scrolling by dragging the scrollView by the user. - */ -@property(nonatomic, getter = isUserDraggable) BOOL userDraggable; - -/** - Default is YES. Set to NO to deny any touch events by the user. - */ -@property(nonatomic, getter = isTouchEnabled) BOOL touchEnabled; - -/** - Default is NO. Set to YES to show a vertical divider between the segments. - */ -@property(nonatomic, getter = isVerticalDividerEnabled) BOOL verticalDividerEnabled; - -/** - Index of the currently selected segment. - */ -@property (nonatomic, assign) NSInteger selectedSegmentIndex; - -/** - Height of the selection indicator. Only effective when `HMSegmentedControlSelectionStyle` is either `HMSegmentedControlSelectionStyleTextWidthStripe` or `HMSegmentedControlSelectionStyleFullWidthStripe`. - - Default is 5.0 - */ -@property (nonatomic, readwrite) CGFloat selectionIndicatorHeight; - -/** - Edge insets for the selection indicator. - NOTE: This does not affect the bounding box of HMSegmentedControlSelectionStyleBox - - When HMSegmentedControlSelectionIndicatorLocationUp is selected, bottom edge insets are not used - - When HMSegmentedControlSelectionIndicatorLocationDown is selected, top edge insets are not used - - Defaults are top: 0.0f - left: 0.0f - bottom: 0.0f - right: 0.0f - */ -@property (nonatomic, readwrite) UIEdgeInsets selectionIndicatorEdgeInsets; - -/** - Inset left and right edges of segments. - - Default is UIEdgeInsetsMake(0, 5, 0, 5) - */ -@property (nonatomic, readwrite) UIEdgeInsets segmentEdgeInset; - -@property (nonatomic, readwrite) UIEdgeInsets enlargeEdgeInset; - -/** - Default is YES. Set to NO to disable animation during user selection. - */ -@property (nonatomic) BOOL shouldAnimateUserSelection; - -- (id)initWithSectionTitles:(NSArray *)sectiontitles; -- (id)initWithSectionImages:(NSArray *)sectionImages sectionSelectedImages:(NSArray *)sectionSelectedImages; -- (instancetype)initWithSectionImages:(NSArray *)sectionImages sectionSelectedImages:(NSArray *)sectionSelectedImages titlesForSections:(NSArray *)sectiontitles; -- (void)setSelectedSegmentIndex:(NSUInteger)index animated:(BOOL)animated; -- (void)setIndexChangeBlock:(IndexChangeBlock)indexChangeBlock; -- (void)setTitleFormatter:(HMTitleFormatterBlock)titleFormatter; - -@end diff --git a/Carthage/Build/iOS/HMSegmentedControl.framework/Info.plist b/Carthage/Build/iOS/HMSegmentedControl.framework/Info.plist deleted file mode 100644 index 4705b5721..000000000 Binary files a/Carthage/Build/iOS/HMSegmentedControl.framework/Info.plist and /dev/null differ diff --git a/Carthage/Build/iOS/HMSegmentedControl.framework/Modules/module.modulemap b/Carthage/Build/iOS/HMSegmentedControl.framework/Modules/module.modulemap deleted file mode 100644 index a3d7a8af2..000000000 --- a/Carthage/Build/iOS/HMSegmentedControl.framework/Modules/module.modulemap +++ /dev/null @@ -1,5 +0,0 @@ -framework module HMSegmentedControl { - umbrella header "HMSegmentedControl-umbrella.h" - export * - module * { export * } -} diff --git a/Carthage/Build/iOS/MXParallaxHeader.framework.dSYM/Contents/Info.plist b/Carthage/Build/iOS/MXParallaxHeader.framework.dSYM/Contents/Info.plist index a38010955..5ce55b1e1 100644 --- a/Carthage/Build/iOS/MXParallaxHeader.framework.dSYM/Contents/Info.plist +++ b/Carthage/Build/iOS/MXParallaxHeader.framework.dSYM/Contents/Info.plist @@ -13,7 +13,7 @@ CFBundleSignature ???? CFBundleShortVersionString - 0.6.1 + 1.0.0 CFBundleVersion 1 diff --git a/Carthage/Build/iOS/MXParallaxHeader.framework.dSYM/Contents/Resources/DWARF/MXParallaxHeader b/Carthage/Build/iOS/MXParallaxHeader.framework.dSYM/Contents/Resources/DWARF/MXParallaxHeader index c3b57f55f..fee53c5e9 100644 Binary files a/Carthage/Build/iOS/MXParallaxHeader.framework.dSYM/Contents/Resources/DWARF/MXParallaxHeader and b/Carthage/Build/iOS/MXParallaxHeader.framework.dSYM/Contents/Resources/DWARF/MXParallaxHeader differ diff --git a/Carthage/Build/iOS/MXParallaxHeader.framework/Headers/MXParallaxHeader.h b/Carthage/Build/iOS/MXParallaxHeader.framework/Headers/MXParallaxHeader.h index 60373ff66..5e32c092e 100644 --- a/Carthage/Build/iOS/MXParallaxHeader.framework/Headers/MXParallaxHeader.h +++ b/Carthage/Build/iOS/MXParallaxHeader.framework/Headers/MXParallaxHeader.h @@ -1,6 +1,6 @@ // MXParallaxHeader.h // -// Copyright (c) 2017 Maxime Epain +// Copyright (c) 2019 Maxime Epain // // Permission is hereby granted, free of charge, to any person obtaining a copy // of this software and associated documentation files (the "Software"), to deal @@ -92,6 +92,15 @@ typedef NS_ENUM(NSInteger, MXParallaxHeaderMode) { */ @property (nonatomic,readonly) CGFloat progress; +/** + Loads a `view` from the nib file in the specified bundle. + + @param name The name of the nib file, without any leading path information. + @param bundleOrNil The bundle in which to search for the nib file. If you specify nil, this method looks for the nib file in the main bundle. + @param optionsOrNil A dictionary containing the options to use when opening the nib file. For a list of available keys for this dictionary, see NSBundle UIKit Additions. + */ +- (void)loadWithNibName:(NSString *)name bundle:(nullable NSBundle *)bundleOrNil options:(nullable NSDictionary *)optionsOrNil; + @end /** diff --git a/Carthage/Build/iOS/MXParallaxHeader.framework/Headers/MXScrollView.h b/Carthage/Build/iOS/MXParallaxHeader.framework/Headers/MXScrollView.h index 32eb4c65c..76ca0b5ce 100644 --- a/Carthage/Build/iOS/MXParallaxHeader.framework/Headers/MXScrollView.h +++ b/Carthage/Build/iOS/MXParallaxHeader.framework/Headers/MXScrollView.h @@ -1,6 +1,6 @@ // MXScrollView.h // -// Copyright (c) 2017 Maxime Epain +// Copyright (c) 2019 Maxime Epain // // Permission is hereby granted, free of charge, to any person obtaining a copy // of this software and associated documentation files (the "Software"), to deal diff --git a/Carthage/Build/iOS/MXParallaxHeader.framework/Headers/MXScrollViewController.h b/Carthage/Build/iOS/MXParallaxHeader.framework/Headers/MXScrollViewController.h index 0344c1b6c..36565cc44 100644 --- a/Carthage/Build/iOS/MXParallaxHeader.framework/Headers/MXScrollViewController.h +++ b/Carthage/Build/iOS/MXParallaxHeader.framework/Headers/MXScrollViewController.h @@ -1,6 +1,6 @@ // MXScrollViewController.h // -// Copyright (c) 2017 Maxime Epain +// Copyright (c) 2019 Maxime Epain // // Permission is hereby granted, free of charge, to any person obtaining a copy // of this software and associated documentation files (the "Software"), to deal @@ -32,17 +32,17 @@ NS_ASSUME_NONNULL_BEGIN /** The scroll view container. */ -@property (nonatomic,readonly) MXScrollView *scrollView; +@property (nonatomic, readonly) MXScrollView *scrollView; /** The parallax header view controller to be added to the scroll view. */ -@property (nonatomic,strong,nullable) UIViewController *headerViewController; +@property (nonatomic, strong, nullable) UIViewController *headerViewController; /** The child view controller to be added to the scroll view. */ -@property (nonatomic,strong,nullable) UIViewController *childViewController; +@property (nonatomic, strong, nullable) UIViewController *childViewController; @end @@ -54,7 +54,7 @@ NS_ASSUME_NONNULL_BEGIN /** The parallax header. */ -@property (nonatomic,readonly,nullable) MXParallaxHeader *parallaxHeader; +@property (nonatomic, readonly, nullable) MXParallaxHeader *parallaxHeader; @end diff --git a/Carthage/Build/iOS/MXParallaxHeader.framework/Info.plist b/Carthage/Build/iOS/MXParallaxHeader.framework/Info.plist index fe6122d77..c86d3a532 100644 Binary files a/Carthage/Build/iOS/MXParallaxHeader.framework/Info.plist and b/Carthage/Build/iOS/MXParallaxHeader.framework/Info.plist differ diff --git a/Carthage/Build/iOS/MXParallaxHeader.framework/MXParallaxHeader b/Carthage/Build/iOS/MXParallaxHeader.framework/MXParallaxHeader index c788d6be2..47a37a73f 100755 Binary files a/Carthage/Build/iOS/MXParallaxHeader.framework/MXParallaxHeader and b/Carthage/Build/iOS/MXParallaxHeader.framework/MXParallaxHeader differ diff --git a/Carthage/Build/iOS/HMSegmentedControl.framework.dSYM/Contents/Info.plist b/Carthage/Build/iOS/MXSegmentedControl.framework.dSYM/Contents/Info.plist similarity index 84% rename from Carthage/Build/iOS/HMSegmentedControl.framework.dSYM/Contents/Info.plist rename to Carthage/Build/iOS/MXSegmentedControl.framework.dSYM/Contents/Info.plist index 8a4dba710..af46d65d6 100644 --- a/Carthage/Build/iOS/HMSegmentedControl.framework.dSYM/Contents/Info.plist +++ b/Carthage/Build/iOS/MXSegmentedControl.framework.dSYM/Contents/Info.plist @@ -5,7 +5,7 @@ CFBundleDevelopmentRegion English CFBundleIdentifier - com.apple.xcode.dsym.com.heshammegid.HMSegmentedControl + com.apple.xcode.dsym.fr.maxep.MXSegmentedControl CFBundleInfoDictionaryVersion 6.0 CFBundlePackageType @@ -13,7 +13,7 @@ CFBundleSignature ???? CFBundleShortVersionString - 1.5.3 + 1.1.0 CFBundleVersion 1 diff --git a/Carthage/Build/iOS/MXSegmentedControl.framework.dSYM/Contents/Resources/DWARF/MXSegmentedControl b/Carthage/Build/iOS/MXSegmentedControl.framework.dSYM/Contents/Resources/DWARF/MXSegmentedControl new file mode 100644 index 000000000..920d5d1cc Binary files /dev/null and b/Carthage/Build/iOS/MXSegmentedControl.framework.dSYM/Contents/Resources/DWARF/MXSegmentedControl differ diff --git a/Carthage/Build/iOS/MXSegmentedControl.framework/Headers/MXSegmentedControl-Swift.h b/Carthage/Build/iOS/MXSegmentedControl.framework/Headers/MXSegmentedControl-Swift.h new file mode 100644 index 000000000..a32f1801b --- /dev/null +++ b/Carthage/Build/iOS/MXSegmentedControl.framework/Headers/MXSegmentedControl-Swift.h @@ -0,0 +1,1492 @@ +#ifndef TARGET_OS_SIMULATOR +#include +#endif +#if TARGET_OS_SIMULATOR +#if 0 +#elif defined(__x86_64__) && __x86_64__ +// Generated by Apple Swift version 5.0.1 effective-4.2 (swiftlang-1001.0.82.4 clang-1001.0.46.5) +#pragma clang diagnostic push +#pragma clang diagnostic ignored "-Wgcc-compat" + +#if !defined(__has_include) +# define __has_include(x) 0 +#endif +#if !defined(__has_attribute) +# define __has_attribute(x) 0 +#endif +#if !defined(__has_feature) +# define __has_feature(x) 0 +#endif +#if !defined(__has_warning) +# define __has_warning(x) 0 +#endif + +#if __has_include() +# include +#endif + +#pragma clang diagnostic ignored "-Wauto-import" +#include +#include +#include +#include + +#if !defined(SWIFT_TYPEDEFS) +# define SWIFT_TYPEDEFS 1 +# if __has_include() +# include +# elif !defined(__cplusplus) +typedef uint_least16_t char16_t; +typedef uint_least32_t char32_t; +# endif +typedef float swift_float2 __attribute__((__ext_vector_type__(2))); +typedef float swift_float3 __attribute__((__ext_vector_type__(3))); +typedef float swift_float4 __attribute__((__ext_vector_type__(4))); +typedef double swift_double2 __attribute__((__ext_vector_type__(2))); +typedef double swift_double3 __attribute__((__ext_vector_type__(3))); +typedef double swift_double4 __attribute__((__ext_vector_type__(4))); +typedef int swift_int2 __attribute__((__ext_vector_type__(2))); +typedef int swift_int3 __attribute__((__ext_vector_type__(3))); +typedef int swift_int4 __attribute__((__ext_vector_type__(4))); +typedef unsigned int swift_uint2 __attribute__((__ext_vector_type__(2))); +typedef unsigned int swift_uint3 __attribute__((__ext_vector_type__(3))); +typedef unsigned int swift_uint4 __attribute__((__ext_vector_type__(4))); +#endif + +#if !defined(SWIFT_PASTE) +# define SWIFT_PASTE_HELPER(x, y) x##y +# define SWIFT_PASTE(x, y) SWIFT_PASTE_HELPER(x, y) +#endif +#if !defined(SWIFT_METATYPE) +# define SWIFT_METATYPE(X) Class +#endif +#if !defined(SWIFT_CLASS_PROPERTY) +# if __has_feature(objc_class_property) +# define SWIFT_CLASS_PROPERTY(...) __VA_ARGS__ +# else +# define SWIFT_CLASS_PROPERTY(...) +# endif +#endif + +#if __has_attribute(objc_runtime_name) +# define SWIFT_RUNTIME_NAME(X) __attribute__((objc_runtime_name(X))) +#else +# define SWIFT_RUNTIME_NAME(X) +#endif +#if __has_attribute(swift_name) +# define SWIFT_COMPILE_NAME(X) __attribute__((swift_name(X))) +#else +# define SWIFT_COMPILE_NAME(X) +#endif +#if __has_attribute(objc_method_family) +# define SWIFT_METHOD_FAMILY(X) __attribute__((objc_method_family(X))) +#else +# define SWIFT_METHOD_FAMILY(X) +#endif +#if __has_attribute(noescape) +# define SWIFT_NOESCAPE __attribute__((noescape)) +#else +# define SWIFT_NOESCAPE +#endif +#if __has_attribute(warn_unused_result) +# define SWIFT_WARN_UNUSED_RESULT __attribute__((warn_unused_result)) +#else +# define SWIFT_WARN_UNUSED_RESULT +#endif +#if __has_attribute(noreturn) +# define SWIFT_NORETURN __attribute__((noreturn)) +#else +# define SWIFT_NORETURN +#endif +#if !defined(SWIFT_CLASS_EXTRA) +# define SWIFT_CLASS_EXTRA +#endif +#if !defined(SWIFT_PROTOCOL_EXTRA) +# define SWIFT_PROTOCOL_EXTRA +#endif +#if !defined(SWIFT_ENUM_EXTRA) +# define SWIFT_ENUM_EXTRA +#endif +#if !defined(SWIFT_CLASS) +# if __has_attribute(objc_subclassing_restricted) +# define SWIFT_CLASS(SWIFT_NAME) SWIFT_RUNTIME_NAME(SWIFT_NAME) __attribute__((objc_subclassing_restricted)) SWIFT_CLASS_EXTRA +# define SWIFT_CLASS_NAMED(SWIFT_NAME) __attribute__((objc_subclassing_restricted)) SWIFT_COMPILE_NAME(SWIFT_NAME) SWIFT_CLASS_EXTRA +# else +# define SWIFT_CLASS(SWIFT_NAME) SWIFT_RUNTIME_NAME(SWIFT_NAME) SWIFT_CLASS_EXTRA +# define SWIFT_CLASS_NAMED(SWIFT_NAME) SWIFT_COMPILE_NAME(SWIFT_NAME) SWIFT_CLASS_EXTRA +# endif +#endif + +#if !defined(SWIFT_PROTOCOL) +# define SWIFT_PROTOCOL(SWIFT_NAME) SWIFT_RUNTIME_NAME(SWIFT_NAME) SWIFT_PROTOCOL_EXTRA +# define SWIFT_PROTOCOL_NAMED(SWIFT_NAME) SWIFT_COMPILE_NAME(SWIFT_NAME) SWIFT_PROTOCOL_EXTRA +#endif + +#if !defined(SWIFT_EXTENSION) +# define SWIFT_EXTENSION(M) SWIFT_PASTE(M##_Swift_, __LINE__) +#endif + +#if !defined(OBJC_DESIGNATED_INITIALIZER) +# if __has_attribute(objc_designated_initializer) +# define OBJC_DESIGNATED_INITIALIZER __attribute__((objc_designated_initializer)) +# else +# define OBJC_DESIGNATED_INITIALIZER +# endif +#endif +#if !defined(SWIFT_ENUM_ATTR) +# if defined(__has_attribute) && __has_attribute(enum_extensibility) +# define SWIFT_ENUM_ATTR(_extensibility) __attribute__((enum_extensibility(_extensibility))) +# else +# define SWIFT_ENUM_ATTR(_extensibility) +# endif +#endif +#if !defined(SWIFT_ENUM) +# define SWIFT_ENUM(_type, _name, _extensibility) enum _name : _type _name; enum SWIFT_ENUM_ATTR(_extensibility) SWIFT_ENUM_EXTRA _name : _type +# if __has_feature(generalized_swift_name) +# define SWIFT_ENUM_NAMED(_type, _name, SWIFT_NAME, _extensibility) enum _name : _type _name SWIFT_COMPILE_NAME(SWIFT_NAME); enum SWIFT_COMPILE_NAME(SWIFT_NAME) SWIFT_ENUM_ATTR(_extensibility) SWIFT_ENUM_EXTRA _name : _type +# else +# define SWIFT_ENUM_NAMED(_type, _name, SWIFT_NAME, _extensibility) SWIFT_ENUM(_type, _name, _extensibility) +# endif +#endif +#if !defined(SWIFT_UNAVAILABLE) +# define SWIFT_UNAVAILABLE __attribute__((unavailable)) +#endif +#if !defined(SWIFT_UNAVAILABLE_MSG) +# define SWIFT_UNAVAILABLE_MSG(msg) __attribute__((unavailable(msg))) +#endif +#if !defined(SWIFT_AVAILABILITY) +# define SWIFT_AVAILABILITY(plat, ...) __attribute__((availability(plat, __VA_ARGS__))) +#endif +#if !defined(SWIFT_DEPRECATED) +# define SWIFT_DEPRECATED __attribute__((deprecated)) +#endif +#if !defined(SWIFT_DEPRECATED_MSG) +# define SWIFT_DEPRECATED_MSG(...) __attribute__((deprecated(__VA_ARGS__))) +#endif +#if __has_feature(attribute_diagnose_if_objc) +# define SWIFT_DEPRECATED_OBJC(Msg) __attribute__((diagnose_if(1, Msg, "warning"))) +#else +# define SWIFT_DEPRECATED_OBJC(Msg) SWIFT_DEPRECATED_MSG(Msg) +#endif +#if __has_feature(modules) +#if __has_warning("-Watimport-in-framework-header") +#pragma clang diagnostic ignored "-Watimport-in-framework-header" +#endif +@import CoreGraphics; +@import Foundation; +@import UIKit; +#endif + +#pragma clang diagnostic ignored "-Wproperty-attribute-mismatch" +#pragma clang diagnostic ignored "-Wduplicate-method-arg" +#if __has_warning("-Wpragma-clang-attribute") +# pragma clang diagnostic ignored "-Wpragma-clang-attribute" +#endif +#pragma clang diagnostic ignored "-Wunknown-pragmas" +#pragma clang diagnostic ignored "-Wnullability" + +#if __has_attribute(external_source_symbol) +# pragma push_macro("any") +# undef any +# pragma clang attribute push(__attribute__((external_source_symbol(language="Swift", defined_in="MXSegmentedControl",generated_declaration))), apply_to=any(function,enum,objc_interface,objc_category,objc_protocol)) +# pragma pop_macro("any") +#endif + +@class NSCoder; + +SWIFT_CLASS("_TtC18MXSegmentedControl11MXIndicator") +@interface MXIndicator : UIView +/// The indicator insets +@property (nonatomic) UIEdgeInsets contentEdgeInsets; +/// The indicator line view. +@property (nonatomic, readonly, strong) UIView * _Nonnull lineView; +/// The indicator box view. +@property (nonatomic, readonly, strong) UIView * _Nonnull boxView; +/// The line height value. +@property (nonatomic) CGFloat lineHeight; +/// :nodoc: +- (nullable instancetype)initWithCoder:(NSCoder * _Nonnull)aDecoder OBJC_DESIGNATED_INITIALIZER; +/// :nodoc: +- (nonnull instancetype)initWithFrame:(CGRect)frame OBJC_DESIGNATED_INITIALIZER; +/// :nodoc: +- (void)layoutSubviews; +@end + +@class UIColor; +@class UIImage; +@class NSAttributedString; + +/// A segment button embed in MXSegmentedControl +SWIFT_CLASS("_TtC18MXSegmentedControl9MXSegment") +@interface MXSegment : UIButton +/// Padding between segment title and image +@property (nonatomic) CGFloat padding; +/// The segment width +@property (nonatomic) CGFloat width; +- (MXSegment * _Nonnull)setWithWidth:(CGFloat)width; +- (MXSegment * _Nonnull)setWithPadding:(CGFloat)padding; +- (MXSegment * _Nonnull)setWithTitle:(NSString * _Nullable)title for:(UIControlState)state; +- (MXSegment * _Nonnull)setWithTitleColor:(UIColor * _Nullable)titleColor for:(UIControlState)state; +- (MXSegment * _Nonnull)setWithImage:(UIImage * _Nullable)image for:(UIControlState)state; +- (MXSegment * _Nonnull)setWithBackground:(UIImage * _Nullable)image for:(UIControlState)state; +- (MXSegment * _Nonnull)setWithAttributedTitle:(NSAttributedString * _Nullable)attributedTitle for:(UIControlState)state; +- (nonnull instancetype)initWithFrame:(CGRect)frame OBJC_DESIGNATED_INITIALIZER; +- (nullable instancetype)initWithCoder:(NSCoder * _Nonnull)aDecoder OBJC_DESIGNATED_INITIALIZER; +@end + + +@interface MXSegment (SWIFT_EXTENSION(MXSegmentedControl)) +/// :nodoc: +- (void)layoutSubviews; +/// :nodoc: +@property (nonatomic, readonly) CGSize intrinsicContentSize; +@end + +@class UIFont; +@class UIScrollView; + +/// A MXSegmentedControl object is a horizontal control made of multiple segments, each segment functioning as a button. An indicator shows the current position of the selected segment. +/// A segmented control can display a title (an NSString object), an attributed title (NSAttributedString object) and/or an image (UIImage object). +/// The MXSegmentedControl object automatically resizes segments to fit proportionally within their superview unless they have a specific width set. +/// You can connect a UIScrollView using the scrollView property to make the indicator move with the scroll view’s contentOffset. +/// You register the target-action methods for a segmented control using the value​Changed constant as shown below. +/// \code +/// segmentedControl.addTarget(self, action: "action:", forControlEvents: .ValueChanged) +/// +/// \endcode +SWIFT_CLASS("_TtC18MXSegmentedControl18MXSegmentedControl") +@interface MXSegmentedControl : UIControl +/// A Boolean value that controls whether the segmented control bounces past the edge of content and back again. +/// If the value of this property is true, the segmented control bounces when it encounters a boundary of the content. Bouncing visually indicates that control has reached an edge of the content. If the value is false, scrolling stops immediately at the content boundary without bouncing. The default value is true. +@property (nonatomic) BOOL bounces; +/// The font of the segments. +/// If you are using styled text in iOS 6 or later, assigning a new value to this property causes the font to be applied to the entirety of the string in the attributedText property. If you want to apply the font to only a portion of the text, create a new attributed string with the desired style information and associate it with the segment. If you are not using styled text, this property applies to the entire segments string in the title property. +/// The default value for this property is the system font at a size of 17 points (using the systemFont(ofSize:) class method of UIFont). +@property (nonatomic, strong) UIFont * _Nonnull font; +/// Sets the color of the segments title to use for the normal state. +@property (nonatomic, strong) UIColor * _Nonnull textColor; +/// Sets the color of the segments title to use for the selected state. +@property (nonatomic, strong) UIColor * _Nullable selectedTextColor; +/// Sets the width of the segments. +@property (nonatomic) CGFloat segmentWidth; +/// The segmented control content insets +@property (nonatomic) UIEdgeInsets contentEdgeInsets; +/// The inset or outset margins for the rectangle surrounding all of the segments’ content. +/// Use this property to resize and reposition the effective drawing rectangle for the segments content. The content comprises the segment image and segment title. You can specify a different value for each of the four insets (top, left, bottom, right). A positive value shrinks, or insets, that edge—moving it closer to the center of the segment. A negative value expands, or outsets, that edge. Use the UIEdgeInsets(top:left:bottom:right:) function to construct a value for this property. The default value is UIEdgeInsetsZero. +/// The segments uses this property to determine intrinsicContentSize and sizeThatFits(_:). +@property (nonatomic) UIEdgeInsets segmentEdgeInsets; +/// The segmented control’s indicator. +@property (nonatomic, readonly, strong) MXIndicator * _Nonnull indicator; +/// The indicator progress. +@property (nonatomic) CGFloat progress; +/// The currently selected segment index. +@property (nonatomic, readonly) NSInteger selectedIndex; +/// :nodoc: +- (nullable instancetype)initWithCoder:(NSCoder * _Nonnull)aDecoder OBJC_DESIGNATED_INITIALIZER; +/// :nodoc: +- (nonnull instancetype)initWithFrame:(CGRect)frame OBJC_DESIGNATED_INITIALIZER; +/// Initializes and returns a newly allocated segmented control object with the specified titles. +/// \param titles The segments titles. +/// +- (nonnull instancetype)initWithTitles:(NSArray * _Nonnull)titles; +/// Initializes and returns a newly allocated segmented control object with the specified titles. +/// \param titles The segments titles. +/// +- (nonnull instancetype)initWithAttributedTitles:(NSArray * _Nonnull)titles; +/// Initializes and returns a newly allocated segmented control object with the specified images. +/// \param images The segments images. +/// +- (nonnull instancetype)initWithImages:(NSArray * _Nonnull)images; +/// :nodoc: +- (void)layoutSubviews; +/// :nodoc: +- (void)prepareForInterfaceBuilder; +/// A scroll view to observe in order to move the indicator. +@property (nonatomic, weak) IBOutlet UIScrollView * _Nullable scrollView; +/// :nodoc: +- (void)observeValueForKeyPath:(NSString * _Nullable)keyPath ofObject:(id _Nullable)object change:(NSDictionary * _Nullable)change context:(void * _Nullable)context; +@end + + + + + + + + +@interface MXSegmentedControl (SWIFT_EXTENSION(MXSegmentedControl)) +/// Gets the segment at the given index. +/// \param index The segment index. +/// +/// +/// returns: +/// The segment at the index. nil if the index is out of range. +- (MXSegment * _Nullable)segmentAt:(NSInteger)index SWIFT_WARN_UNUSED_RESULT; +/// Counts of segment. +@property (nonatomic, readonly) NSInteger count; +- (MXSegment * _Nonnull)newSegment SWIFT_WARN_UNUSED_RESULT; +/// Removes the segment the given index. +/// \param index The segment index to remove. +/// +- (void)removeWithSegmentAt:(NSInteger)index; +/// Removes all segments. +- (void)removeAll; +/// Creates and append a new segment with the given title. +/// \param title The new segment title. +/// +- (MXSegment * _Nonnull)appendWithTitle:(NSString * _Nonnull)title; +/// Creates and append a new segment with the given title. +/// \param title The new segment title. +/// +- (MXSegment * _Nonnull)appendWithAttributedTitle:(NSAttributedString * _Nonnull)attributedTitle; +/// Creates and append a new segment with the given image. +/// \param title The new segment image. +/// +- (MXSegment * _Nonnull)appendWithImage:(UIImage * _Nullable)image; +/// Selects the segment at the given index. +/// \param index The segment index to be selected. +/// +/// \param animated true if the selection should be animated, false if it should be immediate. +/// +- (void)selectWithIndex:(NSInteger)index animated:(BOOL)animated; +@end + + +@interface MXSegmentedControl (SWIFT_EXTENSION(MXSegmentedControl)) +@property (nonatomic) CGFloat cornerRadius; +@property (nonatomic) CGFloat borderWidth; +@property (nonatomic, strong) UIColor * _Nullable borderColor; +@property (nonatomic) CGFloat separatorTop; +@property (nonatomic) CGFloat separatorBottom; +@property (nonatomic) CGFloat separatorWidth; +@property (nonatomic, strong) UIColor * _Nonnull separatorColor; +@property (nonatomic) CGFloat indicatorLeft; +@property (nonatomic) CGFloat indicatorRight; +@property (nonatomic) CGFloat indicatorHeight; +@property (nonatomic, strong) UIColor * _Nullable indicatorColor; +@property (nonatomic, strong) UIColor * _Nullable boxColor; +@property (nonatomic) CGFloat boxOpacity; +@end + +#if __has_attribute(external_source_symbol) +# pragma clang attribute pop +#endif +#pragma clang diagnostic pop + +#elif defined(__i386__) && __i386__ +// Generated by Apple Swift version 5.0.1 effective-4.2 (swiftlang-1001.0.82.4 clang-1001.0.46.5) +#pragma clang diagnostic push +#pragma clang diagnostic ignored "-Wgcc-compat" + +#if !defined(__has_include) +# define __has_include(x) 0 +#endif +#if !defined(__has_attribute) +# define __has_attribute(x) 0 +#endif +#if !defined(__has_feature) +# define __has_feature(x) 0 +#endif +#if !defined(__has_warning) +# define __has_warning(x) 0 +#endif + +#if __has_include() +# include +#endif + +#pragma clang diagnostic ignored "-Wauto-import" +#include +#include +#include +#include + +#if !defined(SWIFT_TYPEDEFS) +# define SWIFT_TYPEDEFS 1 +# if __has_include() +# include +# elif !defined(__cplusplus) +typedef uint_least16_t char16_t; +typedef uint_least32_t char32_t; +# endif +typedef float swift_float2 __attribute__((__ext_vector_type__(2))); +typedef float swift_float3 __attribute__((__ext_vector_type__(3))); +typedef float swift_float4 __attribute__((__ext_vector_type__(4))); +typedef double swift_double2 __attribute__((__ext_vector_type__(2))); +typedef double swift_double3 __attribute__((__ext_vector_type__(3))); +typedef double swift_double4 __attribute__((__ext_vector_type__(4))); +typedef int swift_int2 __attribute__((__ext_vector_type__(2))); +typedef int swift_int3 __attribute__((__ext_vector_type__(3))); +typedef int swift_int4 __attribute__((__ext_vector_type__(4))); +typedef unsigned int swift_uint2 __attribute__((__ext_vector_type__(2))); +typedef unsigned int swift_uint3 __attribute__((__ext_vector_type__(3))); +typedef unsigned int swift_uint4 __attribute__((__ext_vector_type__(4))); +#endif + +#if !defined(SWIFT_PASTE) +# define SWIFT_PASTE_HELPER(x, y) x##y +# define SWIFT_PASTE(x, y) SWIFT_PASTE_HELPER(x, y) +#endif +#if !defined(SWIFT_METATYPE) +# define SWIFT_METATYPE(X) Class +#endif +#if !defined(SWIFT_CLASS_PROPERTY) +# if __has_feature(objc_class_property) +# define SWIFT_CLASS_PROPERTY(...) __VA_ARGS__ +# else +# define SWIFT_CLASS_PROPERTY(...) +# endif +#endif + +#if __has_attribute(objc_runtime_name) +# define SWIFT_RUNTIME_NAME(X) __attribute__((objc_runtime_name(X))) +#else +# define SWIFT_RUNTIME_NAME(X) +#endif +#if __has_attribute(swift_name) +# define SWIFT_COMPILE_NAME(X) __attribute__((swift_name(X))) +#else +# define SWIFT_COMPILE_NAME(X) +#endif +#if __has_attribute(objc_method_family) +# define SWIFT_METHOD_FAMILY(X) __attribute__((objc_method_family(X))) +#else +# define SWIFT_METHOD_FAMILY(X) +#endif +#if __has_attribute(noescape) +# define SWIFT_NOESCAPE __attribute__((noescape)) +#else +# define SWIFT_NOESCAPE +#endif +#if __has_attribute(warn_unused_result) +# define SWIFT_WARN_UNUSED_RESULT __attribute__((warn_unused_result)) +#else +# define SWIFT_WARN_UNUSED_RESULT +#endif +#if __has_attribute(noreturn) +# define SWIFT_NORETURN __attribute__((noreturn)) +#else +# define SWIFT_NORETURN +#endif +#if !defined(SWIFT_CLASS_EXTRA) +# define SWIFT_CLASS_EXTRA +#endif +#if !defined(SWIFT_PROTOCOL_EXTRA) +# define SWIFT_PROTOCOL_EXTRA +#endif +#if !defined(SWIFT_ENUM_EXTRA) +# define SWIFT_ENUM_EXTRA +#endif +#if !defined(SWIFT_CLASS) +# if __has_attribute(objc_subclassing_restricted) +# define SWIFT_CLASS(SWIFT_NAME) SWIFT_RUNTIME_NAME(SWIFT_NAME) __attribute__((objc_subclassing_restricted)) SWIFT_CLASS_EXTRA +# define SWIFT_CLASS_NAMED(SWIFT_NAME) __attribute__((objc_subclassing_restricted)) SWIFT_COMPILE_NAME(SWIFT_NAME) SWIFT_CLASS_EXTRA +# else +# define SWIFT_CLASS(SWIFT_NAME) SWIFT_RUNTIME_NAME(SWIFT_NAME) SWIFT_CLASS_EXTRA +# define SWIFT_CLASS_NAMED(SWIFT_NAME) SWIFT_COMPILE_NAME(SWIFT_NAME) SWIFT_CLASS_EXTRA +# endif +#endif + +#if !defined(SWIFT_PROTOCOL) +# define SWIFT_PROTOCOL(SWIFT_NAME) SWIFT_RUNTIME_NAME(SWIFT_NAME) SWIFT_PROTOCOL_EXTRA +# define SWIFT_PROTOCOL_NAMED(SWIFT_NAME) SWIFT_COMPILE_NAME(SWIFT_NAME) SWIFT_PROTOCOL_EXTRA +#endif + +#if !defined(SWIFT_EXTENSION) +# define SWIFT_EXTENSION(M) SWIFT_PASTE(M##_Swift_, __LINE__) +#endif + +#if !defined(OBJC_DESIGNATED_INITIALIZER) +# if __has_attribute(objc_designated_initializer) +# define OBJC_DESIGNATED_INITIALIZER __attribute__((objc_designated_initializer)) +# else +# define OBJC_DESIGNATED_INITIALIZER +# endif +#endif +#if !defined(SWIFT_ENUM_ATTR) +# if defined(__has_attribute) && __has_attribute(enum_extensibility) +# define SWIFT_ENUM_ATTR(_extensibility) __attribute__((enum_extensibility(_extensibility))) +# else +# define SWIFT_ENUM_ATTR(_extensibility) +# endif +#endif +#if !defined(SWIFT_ENUM) +# define SWIFT_ENUM(_type, _name, _extensibility) enum _name : _type _name; enum SWIFT_ENUM_ATTR(_extensibility) SWIFT_ENUM_EXTRA _name : _type +# if __has_feature(generalized_swift_name) +# define SWIFT_ENUM_NAMED(_type, _name, SWIFT_NAME, _extensibility) enum _name : _type _name SWIFT_COMPILE_NAME(SWIFT_NAME); enum SWIFT_COMPILE_NAME(SWIFT_NAME) SWIFT_ENUM_ATTR(_extensibility) SWIFT_ENUM_EXTRA _name : _type +# else +# define SWIFT_ENUM_NAMED(_type, _name, SWIFT_NAME, _extensibility) SWIFT_ENUM(_type, _name, _extensibility) +# endif +#endif +#if !defined(SWIFT_UNAVAILABLE) +# define SWIFT_UNAVAILABLE __attribute__((unavailable)) +#endif +#if !defined(SWIFT_UNAVAILABLE_MSG) +# define SWIFT_UNAVAILABLE_MSG(msg) __attribute__((unavailable(msg))) +#endif +#if !defined(SWIFT_AVAILABILITY) +# define SWIFT_AVAILABILITY(plat, ...) __attribute__((availability(plat, __VA_ARGS__))) +#endif +#if !defined(SWIFT_DEPRECATED) +# define SWIFT_DEPRECATED __attribute__((deprecated)) +#endif +#if !defined(SWIFT_DEPRECATED_MSG) +# define SWIFT_DEPRECATED_MSG(...) __attribute__((deprecated(__VA_ARGS__))) +#endif +#if __has_feature(attribute_diagnose_if_objc) +# define SWIFT_DEPRECATED_OBJC(Msg) __attribute__((diagnose_if(1, Msg, "warning"))) +#else +# define SWIFT_DEPRECATED_OBJC(Msg) SWIFT_DEPRECATED_MSG(Msg) +#endif +#if __has_feature(modules) +#if __has_warning("-Watimport-in-framework-header") +#pragma clang diagnostic ignored "-Watimport-in-framework-header" +#endif +@import CoreGraphics; +@import Foundation; +@import UIKit; +#endif + +#pragma clang diagnostic ignored "-Wproperty-attribute-mismatch" +#pragma clang diagnostic ignored "-Wduplicate-method-arg" +#if __has_warning("-Wpragma-clang-attribute") +# pragma clang diagnostic ignored "-Wpragma-clang-attribute" +#endif +#pragma clang diagnostic ignored "-Wunknown-pragmas" +#pragma clang diagnostic ignored "-Wnullability" + +#if __has_attribute(external_source_symbol) +# pragma push_macro("any") +# undef any +# pragma clang attribute push(__attribute__((external_source_symbol(language="Swift", defined_in="MXSegmentedControl",generated_declaration))), apply_to=any(function,enum,objc_interface,objc_category,objc_protocol)) +# pragma pop_macro("any") +#endif + +@class NSCoder; + +SWIFT_CLASS("_TtC18MXSegmentedControl11MXIndicator") +@interface MXIndicator : UIView +/// The indicator insets +@property (nonatomic) UIEdgeInsets contentEdgeInsets; +/// The indicator line view. +@property (nonatomic, readonly, strong) UIView * _Nonnull lineView; +/// The indicator box view. +@property (nonatomic, readonly, strong) UIView * _Nonnull boxView; +/// The line height value. +@property (nonatomic) CGFloat lineHeight; +/// :nodoc: +- (nullable instancetype)initWithCoder:(NSCoder * _Nonnull)aDecoder OBJC_DESIGNATED_INITIALIZER; +/// :nodoc: +- (nonnull instancetype)initWithFrame:(CGRect)frame OBJC_DESIGNATED_INITIALIZER; +/// :nodoc: +- (void)layoutSubviews; +@end + +@class UIColor; +@class UIImage; +@class NSAttributedString; + +/// A segment button embed in MXSegmentedControl +SWIFT_CLASS("_TtC18MXSegmentedControl9MXSegment") +@interface MXSegment : UIButton +/// Padding between segment title and image +@property (nonatomic) CGFloat padding; +/// The segment width +@property (nonatomic) CGFloat width; +- (MXSegment * _Nonnull)setWithWidth:(CGFloat)width; +- (MXSegment * _Nonnull)setWithPadding:(CGFloat)padding; +- (MXSegment * _Nonnull)setWithTitle:(NSString * _Nullable)title for:(UIControlState)state; +- (MXSegment * _Nonnull)setWithTitleColor:(UIColor * _Nullable)titleColor for:(UIControlState)state; +- (MXSegment * _Nonnull)setWithImage:(UIImage * _Nullable)image for:(UIControlState)state; +- (MXSegment * _Nonnull)setWithBackground:(UIImage * _Nullable)image for:(UIControlState)state; +- (MXSegment * _Nonnull)setWithAttributedTitle:(NSAttributedString * _Nullable)attributedTitle for:(UIControlState)state; +- (nonnull instancetype)initWithFrame:(CGRect)frame OBJC_DESIGNATED_INITIALIZER; +- (nullable instancetype)initWithCoder:(NSCoder * _Nonnull)aDecoder OBJC_DESIGNATED_INITIALIZER; +@end + + +@interface MXSegment (SWIFT_EXTENSION(MXSegmentedControl)) +/// :nodoc: +- (void)layoutSubviews; +/// :nodoc: +@property (nonatomic, readonly) CGSize intrinsicContentSize; +@end + +@class UIFont; +@class UIScrollView; + +/// A MXSegmentedControl object is a horizontal control made of multiple segments, each segment functioning as a button. An indicator shows the current position of the selected segment. +/// A segmented control can display a title (an NSString object), an attributed title (NSAttributedString object) and/or an image (UIImage object). +/// The MXSegmentedControl object automatically resizes segments to fit proportionally within their superview unless they have a specific width set. +/// You can connect a UIScrollView using the scrollView property to make the indicator move with the scroll view’s contentOffset. +/// You register the target-action methods for a segmented control using the value​Changed constant as shown below. +/// \code +/// segmentedControl.addTarget(self, action: "action:", forControlEvents: .ValueChanged) +/// +/// \endcode +SWIFT_CLASS("_TtC18MXSegmentedControl18MXSegmentedControl") +@interface MXSegmentedControl : UIControl +/// A Boolean value that controls whether the segmented control bounces past the edge of content and back again. +/// If the value of this property is true, the segmented control bounces when it encounters a boundary of the content. Bouncing visually indicates that control has reached an edge of the content. If the value is false, scrolling stops immediately at the content boundary without bouncing. The default value is true. +@property (nonatomic) BOOL bounces; +/// The font of the segments. +/// If you are using styled text in iOS 6 or later, assigning a new value to this property causes the font to be applied to the entirety of the string in the attributedText property. If you want to apply the font to only a portion of the text, create a new attributed string with the desired style information and associate it with the segment. If you are not using styled text, this property applies to the entire segments string in the title property. +/// The default value for this property is the system font at a size of 17 points (using the systemFont(ofSize:) class method of UIFont). +@property (nonatomic, strong) UIFont * _Nonnull font; +/// Sets the color of the segments title to use for the normal state. +@property (nonatomic, strong) UIColor * _Nonnull textColor; +/// Sets the color of the segments title to use for the selected state. +@property (nonatomic, strong) UIColor * _Nullable selectedTextColor; +/// Sets the width of the segments. +@property (nonatomic) CGFloat segmentWidth; +/// The segmented control content insets +@property (nonatomic) UIEdgeInsets contentEdgeInsets; +/// The inset or outset margins for the rectangle surrounding all of the segments’ content. +/// Use this property to resize and reposition the effective drawing rectangle for the segments content. The content comprises the segment image and segment title. You can specify a different value for each of the four insets (top, left, bottom, right). A positive value shrinks, or insets, that edge—moving it closer to the center of the segment. A negative value expands, or outsets, that edge. Use the UIEdgeInsets(top:left:bottom:right:) function to construct a value for this property. The default value is UIEdgeInsetsZero. +/// The segments uses this property to determine intrinsicContentSize and sizeThatFits(_:). +@property (nonatomic) UIEdgeInsets segmentEdgeInsets; +/// The segmented control’s indicator. +@property (nonatomic, readonly, strong) MXIndicator * _Nonnull indicator; +/// The indicator progress. +@property (nonatomic) CGFloat progress; +/// The currently selected segment index. +@property (nonatomic, readonly) NSInteger selectedIndex; +/// :nodoc: +- (nullable instancetype)initWithCoder:(NSCoder * _Nonnull)aDecoder OBJC_DESIGNATED_INITIALIZER; +/// :nodoc: +- (nonnull instancetype)initWithFrame:(CGRect)frame OBJC_DESIGNATED_INITIALIZER; +/// Initializes and returns a newly allocated segmented control object with the specified titles. +/// \param titles The segments titles. +/// +- (nonnull instancetype)initWithTitles:(NSArray * _Nonnull)titles; +/// Initializes and returns a newly allocated segmented control object with the specified titles. +/// \param titles The segments titles. +/// +- (nonnull instancetype)initWithAttributedTitles:(NSArray * _Nonnull)titles; +/// Initializes and returns a newly allocated segmented control object with the specified images. +/// \param images The segments images. +/// +- (nonnull instancetype)initWithImages:(NSArray * _Nonnull)images; +/// :nodoc: +- (void)layoutSubviews; +/// :nodoc: +- (void)prepareForInterfaceBuilder; +/// A scroll view to observe in order to move the indicator. +@property (nonatomic, weak) IBOutlet UIScrollView * _Nullable scrollView; +/// :nodoc: +- (void)observeValueForKeyPath:(NSString * _Nullable)keyPath ofObject:(id _Nullable)object change:(NSDictionary * _Nullable)change context:(void * _Nullable)context; +@end + + + + + + + + +@interface MXSegmentedControl (SWIFT_EXTENSION(MXSegmentedControl)) +/// Gets the segment at the given index. +/// \param index The segment index. +/// +/// +/// returns: +/// The segment at the index. nil if the index is out of range. +- (MXSegment * _Nullable)segmentAt:(NSInteger)index SWIFT_WARN_UNUSED_RESULT; +/// Counts of segment. +@property (nonatomic, readonly) NSInteger count; +- (MXSegment * _Nonnull)newSegment SWIFT_WARN_UNUSED_RESULT; +/// Removes the segment the given index. +/// \param index The segment index to remove. +/// +- (void)removeWithSegmentAt:(NSInteger)index; +/// Removes all segments. +- (void)removeAll; +/// Creates and append a new segment with the given title. +/// \param title The new segment title. +/// +- (MXSegment * _Nonnull)appendWithTitle:(NSString * _Nonnull)title; +/// Creates and append a new segment with the given title. +/// \param title The new segment title. +/// +- (MXSegment * _Nonnull)appendWithAttributedTitle:(NSAttributedString * _Nonnull)attributedTitle; +/// Creates and append a new segment with the given image. +/// \param title The new segment image. +/// +- (MXSegment * _Nonnull)appendWithImage:(UIImage * _Nullable)image; +/// Selects the segment at the given index. +/// \param index The segment index to be selected. +/// +/// \param animated true if the selection should be animated, false if it should be immediate. +/// +- (void)selectWithIndex:(NSInteger)index animated:(BOOL)animated; +@end + + +@interface MXSegmentedControl (SWIFT_EXTENSION(MXSegmentedControl)) +@property (nonatomic) CGFloat cornerRadius; +@property (nonatomic) CGFloat borderWidth; +@property (nonatomic, strong) UIColor * _Nullable borderColor; +@property (nonatomic) CGFloat separatorTop; +@property (nonatomic) CGFloat separatorBottom; +@property (nonatomic) CGFloat separatorWidth; +@property (nonatomic, strong) UIColor * _Nonnull separatorColor; +@property (nonatomic) CGFloat indicatorLeft; +@property (nonatomic) CGFloat indicatorRight; +@property (nonatomic) CGFloat indicatorHeight; +@property (nonatomic, strong) UIColor * _Nullable indicatorColor; +@property (nonatomic, strong) UIColor * _Nullable boxColor; +@property (nonatomic) CGFloat boxOpacity; +@end + +#if __has_attribute(external_source_symbol) +# pragma clang attribute pop +#endif +#pragma clang diagnostic pop + +#endif + +#else +#if 0 +#elif defined(__arm64__) && __arm64__ +// Generated by Apple Swift version 5.0.1 effective-4.2 (swiftlang-1001.0.82.4 clang-1001.0.46.5) +#pragma clang diagnostic push +#pragma clang diagnostic ignored "-Wgcc-compat" + +#if !defined(__has_include) +# define __has_include(x) 0 +#endif +#if !defined(__has_attribute) +# define __has_attribute(x) 0 +#endif +#if !defined(__has_feature) +# define __has_feature(x) 0 +#endif +#if !defined(__has_warning) +# define __has_warning(x) 0 +#endif + +#if __has_include() +# include +#endif + +#pragma clang diagnostic ignored "-Wauto-import" +#include +#include +#include +#include + +#if !defined(SWIFT_TYPEDEFS) +# define SWIFT_TYPEDEFS 1 +# if __has_include() +# include +# elif !defined(__cplusplus) +typedef uint_least16_t char16_t; +typedef uint_least32_t char32_t; +# endif +typedef float swift_float2 __attribute__((__ext_vector_type__(2))); +typedef float swift_float3 __attribute__((__ext_vector_type__(3))); +typedef float swift_float4 __attribute__((__ext_vector_type__(4))); +typedef double swift_double2 __attribute__((__ext_vector_type__(2))); +typedef double swift_double3 __attribute__((__ext_vector_type__(3))); +typedef double swift_double4 __attribute__((__ext_vector_type__(4))); +typedef int swift_int2 __attribute__((__ext_vector_type__(2))); +typedef int swift_int3 __attribute__((__ext_vector_type__(3))); +typedef int swift_int4 __attribute__((__ext_vector_type__(4))); +typedef unsigned int swift_uint2 __attribute__((__ext_vector_type__(2))); +typedef unsigned int swift_uint3 __attribute__((__ext_vector_type__(3))); +typedef unsigned int swift_uint4 __attribute__((__ext_vector_type__(4))); +#endif + +#if !defined(SWIFT_PASTE) +# define SWIFT_PASTE_HELPER(x, y) x##y +# define SWIFT_PASTE(x, y) SWIFT_PASTE_HELPER(x, y) +#endif +#if !defined(SWIFT_METATYPE) +# define SWIFT_METATYPE(X) Class +#endif +#if !defined(SWIFT_CLASS_PROPERTY) +# if __has_feature(objc_class_property) +# define SWIFT_CLASS_PROPERTY(...) __VA_ARGS__ +# else +# define SWIFT_CLASS_PROPERTY(...) +# endif +#endif + +#if __has_attribute(objc_runtime_name) +# define SWIFT_RUNTIME_NAME(X) __attribute__((objc_runtime_name(X))) +#else +# define SWIFT_RUNTIME_NAME(X) +#endif +#if __has_attribute(swift_name) +# define SWIFT_COMPILE_NAME(X) __attribute__((swift_name(X))) +#else +# define SWIFT_COMPILE_NAME(X) +#endif +#if __has_attribute(objc_method_family) +# define SWIFT_METHOD_FAMILY(X) __attribute__((objc_method_family(X))) +#else +# define SWIFT_METHOD_FAMILY(X) +#endif +#if __has_attribute(noescape) +# define SWIFT_NOESCAPE __attribute__((noescape)) +#else +# define SWIFT_NOESCAPE +#endif +#if __has_attribute(warn_unused_result) +# define SWIFT_WARN_UNUSED_RESULT __attribute__((warn_unused_result)) +#else +# define SWIFT_WARN_UNUSED_RESULT +#endif +#if __has_attribute(noreturn) +# define SWIFT_NORETURN __attribute__((noreturn)) +#else +# define SWIFT_NORETURN +#endif +#if !defined(SWIFT_CLASS_EXTRA) +# define SWIFT_CLASS_EXTRA +#endif +#if !defined(SWIFT_PROTOCOL_EXTRA) +# define SWIFT_PROTOCOL_EXTRA +#endif +#if !defined(SWIFT_ENUM_EXTRA) +# define SWIFT_ENUM_EXTRA +#endif +#if !defined(SWIFT_CLASS) +# if __has_attribute(objc_subclassing_restricted) +# define SWIFT_CLASS(SWIFT_NAME) SWIFT_RUNTIME_NAME(SWIFT_NAME) __attribute__((objc_subclassing_restricted)) SWIFT_CLASS_EXTRA +# define SWIFT_CLASS_NAMED(SWIFT_NAME) __attribute__((objc_subclassing_restricted)) SWIFT_COMPILE_NAME(SWIFT_NAME) SWIFT_CLASS_EXTRA +# else +# define SWIFT_CLASS(SWIFT_NAME) SWIFT_RUNTIME_NAME(SWIFT_NAME) SWIFT_CLASS_EXTRA +# define SWIFT_CLASS_NAMED(SWIFT_NAME) SWIFT_COMPILE_NAME(SWIFT_NAME) SWIFT_CLASS_EXTRA +# endif +#endif + +#if !defined(SWIFT_PROTOCOL) +# define SWIFT_PROTOCOL(SWIFT_NAME) SWIFT_RUNTIME_NAME(SWIFT_NAME) SWIFT_PROTOCOL_EXTRA +# define SWIFT_PROTOCOL_NAMED(SWIFT_NAME) SWIFT_COMPILE_NAME(SWIFT_NAME) SWIFT_PROTOCOL_EXTRA +#endif + +#if !defined(SWIFT_EXTENSION) +# define SWIFT_EXTENSION(M) SWIFT_PASTE(M##_Swift_, __LINE__) +#endif + +#if !defined(OBJC_DESIGNATED_INITIALIZER) +# if __has_attribute(objc_designated_initializer) +# define OBJC_DESIGNATED_INITIALIZER __attribute__((objc_designated_initializer)) +# else +# define OBJC_DESIGNATED_INITIALIZER +# endif +#endif +#if !defined(SWIFT_ENUM_ATTR) +# if defined(__has_attribute) && __has_attribute(enum_extensibility) +# define SWIFT_ENUM_ATTR(_extensibility) __attribute__((enum_extensibility(_extensibility))) +# else +# define SWIFT_ENUM_ATTR(_extensibility) +# endif +#endif +#if !defined(SWIFT_ENUM) +# define SWIFT_ENUM(_type, _name, _extensibility) enum _name : _type _name; enum SWIFT_ENUM_ATTR(_extensibility) SWIFT_ENUM_EXTRA _name : _type +# if __has_feature(generalized_swift_name) +# define SWIFT_ENUM_NAMED(_type, _name, SWIFT_NAME, _extensibility) enum _name : _type _name SWIFT_COMPILE_NAME(SWIFT_NAME); enum SWIFT_COMPILE_NAME(SWIFT_NAME) SWIFT_ENUM_ATTR(_extensibility) SWIFT_ENUM_EXTRA _name : _type +# else +# define SWIFT_ENUM_NAMED(_type, _name, SWIFT_NAME, _extensibility) SWIFT_ENUM(_type, _name, _extensibility) +# endif +#endif +#if !defined(SWIFT_UNAVAILABLE) +# define SWIFT_UNAVAILABLE __attribute__((unavailable)) +#endif +#if !defined(SWIFT_UNAVAILABLE_MSG) +# define SWIFT_UNAVAILABLE_MSG(msg) __attribute__((unavailable(msg))) +#endif +#if !defined(SWIFT_AVAILABILITY) +# define SWIFT_AVAILABILITY(plat, ...) __attribute__((availability(plat, __VA_ARGS__))) +#endif +#if !defined(SWIFT_DEPRECATED) +# define SWIFT_DEPRECATED __attribute__((deprecated)) +#endif +#if !defined(SWIFT_DEPRECATED_MSG) +# define SWIFT_DEPRECATED_MSG(...) __attribute__((deprecated(__VA_ARGS__))) +#endif +#if __has_feature(attribute_diagnose_if_objc) +# define SWIFT_DEPRECATED_OBJC(Msg) __attribute__((diagnose_if(1, Msg, "warning"))) +#else +# define SWIFT_DEPRECATED_OBJC(Msg) SWIFT_DEPRECATED_MSG(Msg) +#endif +#if __has_feature(modules) +#if __has_warning("-Watimport-in-framework-header") +#pragma clang diagnostic ignored "-Watimport-in-framework-header" +#endif +@import CoreGraphics; +@import Foundation; +@import UIKit; +#endif + +#pragma clang diagnostic ignored "-Wproperty-attribute-mismatch" +#pragma clang diagnostic ignored "-Wduplicate-method-arg" +#if __has_warning("-Wpragma-clang-attribute") +# pragma clang diagnostic ignored "-Wpragma-clang-attribute" +#endif +#pragma clang diagnostic ignored "-Wunknown-pragmas" +#pragma clang diagnostic ignored "-Wnullability" + +#if __has_attribute(external_source_symbol) +# pragma push_macro("any") +# undef any +# pragma clang attribute push(__attribute__((external_source_symbol(language="Swift", defined_in="MXSegmentedControl",generated_declaration))), apply_to=any(function,enum,objc_interface,objc_category,objc_protocol)) +# pragma pop_macro("any") +#endif + +@class NSCoder; + +SWIFT_CLASS("_TtC18MXSegmentedControl11MXIndicator") +@interface MXIndicator : UIView +/// The indicator insets +@property (nonatomic) UIEdgeInsets contentEdgeInsets; +/// The indicator line view. +@property (nonatomic, readonly, strong) UIView * _Nonnull lineView; +/// The indicator box view. +@property (nonatomic, readonly, strong) UIView * _Nonnull boxView; +/// The line height value. +@property (nonatomic) CGFloat lineHeight; +/// :nodoc: +- (nullable instancetype)initWithCoder:(NSCoder * _Nonnull)aDecoder OBJC_DESIGNATED_INITIALIZER; +/// :nodoc: +- (nonnull instancetype)initWithFrame:(CGRect)frame OBJC_DESIGNATED_INITIALIZER; +/// :nodoc: +- (void)layoutSubviews; +@end + +@class UIColor; +@class UIImage; +@class NSAttributedString; + +/// A segment button embed in MXSegmentedControl +SWIFT_CLASS("_TtC18MXSegmentedControl9MXSegment") +@interface MXSegment : UIButton +/// Padding between segment title and image +@property (nonatomic) CGFloat padding; +/// The segment width +@property (nonatomic) CGFloat width; +- (MXSegment * _Nonnull)setWithWidth:(CGFloat)width; +- (MXSegment * _Nonnull)setWithPadding:(CGFloat)padding; +- (MXSegment * _Nonnull)setWithTitle:(NSString * _Nullable)title for:(UIControlState)state; +- (MXSegment * _Nonnull)setWithTitleColor:(UIColor * _Nullable)titleColor for:(UIControlState)state; +- (MXSegment * _Nonnull)setWithImage:(UIImage * _Nullable)image for:(UIControlState)state; +- (MXSegment * _Nonnull)setWithBackground:(UIImage * _Nullable)image for:(UIControlState)state; +- (MXSegment * _Nonnull)setWithAttributedTitle:(NSAttributedString * _Nullable)attributedTitle for:(UIControlState)state; +- (nonnull instancetype)initWithFrame:(CGRect)frame OBJC_DESIGNATED_INITIALIZER; +- (nullable instancetype)initWithCoder:(NSCoder * _Nonnull)aDecoder OBJC_DESIGNATED_INITIALIZER; +@end + + +@interface MXSegment (SWIFT_EXTENSION(MXSegmentedControl)) +/// :nodoc: +- (void)layoutSubviews; +/// :nodoc: +@property (nonatomic, readonly) CGSize intrinsicContentSize; +@end + +@class UIFont; +@class UIScrollView; + +/// A MXSegmentedControl object is a horizontal control made of multiple segments, each segment functioning as a button. An indicator shows the current position of the selected segment. +/// A segmented control can display a title (an NSString object), an attributed title (NSAttributedString object) and/or an image (UIImage object). +/// The MXSegmentedControl object automatically resizes segments to fit proportionally within their superview unless they have a specific width set. +/// You can connect a UIScrollView using the scrollView property to make the indicator move with the scroll view’s contentOffset. +/// You register the target-action methods for a segmented control using the value​Changed constant as shown below. +/// \code +/// segmentedControl.addTarget(self, action: "action:", forControlEvents: .ValueChanged) +/// +/// \endcode +SWIFT_CLASS("_TtC18MXSegmentedControl18MXSegmentedControl") +@interface MXSegmentedControl : UIControl +/// A Boolean value that controls whether the segmented control bounces past the edge of content and back again. +/// If the value of this property is true, the segmented control bounces when it encounters a boundary of the content. Bouncing visually indicates that control has reached an edge of the content. If the value is false, scrolling stops immediately at the content boundary without bouncing. The default value is true. +@property (nonatomic) BOOL bounces; +/// The font of the segments. +/// If you are using styled text in iOS 6 or later, assigning a new value to this property causes the font to be applied to the entirety of the string in the attributedText property. If you want to apply the font to only a portion of the text, create a new attributed string with the desired style information and associate it with the segment. If you are not using styled text, this property applies to the entire segments string in the title property. +/// The default value for this property is the system font at a size of 17 points (using the systemFont(ofSize:) class method of UIFont). +@property (nonatomic, strong) UIFont * _Nonnull font; +/// Sets the color of the segments title to use for the normal state. +@property (nonatomic, strong) UIColor * _Nonnull textColor; +/// Sets the color of the segments title to use for the selected state. +@property (nonatomic, strong) UIColor * _Nullable selectedTextColor; +/// Sets the width of the segments. +@property (nonatomic) CGFloat segmentWidth; +/// The segmented control content insets +@property (nonatomic) UIEdgeInsets contentEdgeInsets; +/// The inset or outset margins for the rectangle surrounding all of the segments’ content. +/// Use this property to resize and reposition the effective drawing rectangle for the segments content. The content comprises the segment image and segment title. You can specify a different value for each of the four insets (top, left, bottom, right). A positive value shrinks, or insets, that edge—moving it closer to the center of the segment. A negative value expands, or outsets, that edge. Use the UIEdgeInsets(top:left:bottom:right:) function to construct a value for this property. The default value is UIEdgeInsetsZero. +/// The segments uses this property to determine intrinsicContentSize and sizeThatFits(_:). +@property (nonatomic) UIEdgeInsets segmentEdgeInsets; +/// The segmented control’s indicator. +@property (nonatomic, readonly, strong) MXIndicator * _Nonnull indicator; +/// The indicator progress. +@property (nonatomic) CGFloat progress; +/// The currently selected segment index. +@property (nonatomic, readonly) NSInteger selectedIndex; +/// :nodoc: +- (nullable instancetype)initWithCoder:(NSCoder * _Nonnull)aDecoder OBJC_DESIGNATED_INITIALIZER; +/// :nodoc: +- (nonnull instancetype)initWithFrame:(CGRect)frame OBJC_DESIGNATED_INITIALIZER; +/// Initializes and returns a newly allocated segmented control object with the specified titles. +/// \param titles The segments titles. +/// +- (nonnull instancetype)initWithTitles:(NSArray * _Nonnull)titles; +/// Initializes and returns a newly allocated segmented control object with the specified titles. +/// \param titles The segments titles. +/// +- (nonnull instancetype)initWithAttributedTitles:(NSArray * _Nonnull)titles; +/// Initializes and returns a newly allocated segmented control object with the specified images. +/// \param images The segments images. +/// +- (nonnull instancetype)initWithImages:(NSArray * _Nonnull)images; +/// :nodoc: +- (void)layoutSubviews; +/// :nodoc: +- (void)prepareForInterfaceBuilder; +/// A scroll view to observe in order to move the indicator. +@property (nonatomic, weak) IBOutlet UIScrollView * _Nullable scrollView; +/// :nodoc: +- (void)observeValueForKeyPath:(NSString * _Nullable)keyPath ofObject:(id _Nullable)object change:(NSDictionary * _Nullable)change context:(void * _Nullable)context; +@end + + + + + + + + +@interface MXSegmentedControl (SWIFT_EXTENSION(MXSegmentedControl)) +/// Gets the segment at the given index. +/// \param index The segment index. +/// +/// +/// returns: +/// The segment at the index. nil if the index is out of range. +- (MXSegment * _Nullable)segmentAt:(NSInteger)index SWIFT_WARN_UNUSED_RESULT; +/// Counts of segment. +@property (nonatomic, readonly) NSInteger count; +- (MXSegment * _Nonnull)newSegment SWIFT_WARN_UNUSED_RESULT; +/// Removes the segment the given index. +/// \param index The segment index to remove. +/// +- (void)removeWithSegmentAt:(NSInteger)index; +/// Removes all segments. +- (void)removeAll; +/// Creates and append a new segment with the given title. +/// \param title The new segment title. +/// +- (MXSegment * _Nonnull)appendWithTitle:(NSString * _Nonnull)title; +/// Creates and append a new segment with the given title. +/// \param title The new segment title. +/// +- (MXSegment * _Nonnull)appendWithAttributedTitle:(NSAttributedString * _Nonnull)attributedTitle; +/// Creates and append a new segment with the given image. +/// \param title The new segment image. +/// +- (MXSegment * _Nonnull)appendWithImage:(UIImage * _Nullable)image; +/// Selects the segment at the given index. +/// \param index The segment index to be selected. +/// +/// \param animated true if the selection should be animated, false if it should be immediate. +/// +- (void)selectWithIndex:(NSInteger)index animated:(BOOL)animated; +@end + + +@interface MXSegmentedControl (SWIFT_EXTENSION(MXSegmentedControl)) +@property (nonatomic) CGFloat cornerRadius; +@property (nonatomic) CGFloat borderWidth; +@property (nonatomic, strong) UIColor * _Nullable borderColor; +@property (nonatomic) CGFloat separatorTop; +@property (nonatomic) CGFloat separatorBottom; +@property (nonatomic) CGFloat separatorWidth; +@property (nonatomic, strong) UIColor * _Nonnull separatorColor; +@property (nonatomic) CGFloat indicatorLeft; +@property (nonatomic) CGFloat indicatorRight; +@property (nonatomic) CGFloat indicatorHeight; +@property (nonatomic, strong) UIColor * _Nullable indicatorColor; +@property (nonatomic, strong) UIColor * _Nullable boxColor; +@property (nonatomic) CGFloat boxOpacity; +@end + +#if __has_attribute(external_source_symbol) +# pragma clang attribute pop +#endif +#pragma clang diagnostic pop + +#elif defined(__ARM_ARCH_7A__) && __ARM_ARCH_7A__ +// Generated by Apple Swift version 5.0.1 effective-4.2 (swiftlang-1001.0.82.4 clang-1001.0.46.5) +#pragma clang diagnostic push +#pragma clang diagnostic ignored "-Wgcc-compat" + +#if !defined(__has_include) +# define __has_include(x) 0 +#endif +#if !defined(__has_attribute) +# define __has_attribute(x) 0 +#endif +#if !defined(__has_feature) +# define __has_feature(x) 0 +#endif +#if !defined(__has_warning) +# define __has_warning(x) 0 +#endif + +#if __has_include() +# include +#endif + +#pragma clang diagnostic ignored "-Wauto-import" +#include +#include +#include +#include + +#if !defined(SWIFT_TYPEDEFS) +# define SWIFT_TYPEDEFS 1 +# if __has_include() +# include +# elif !defined(__cplusplus) +typedef uint_least16_t char16_t; +typedef uint_least32_t char32_t; +# endif +typedef float swift_float2 __attribute__((__ext_vector_type__(2))); +typedef float swift_float3 __attribute__((__ext_vector_type__(3))); +typedef float swift_float4 __attribute__((__ext_vector_type__(4))); +typedef double swift_double2 __attribute__((__ext_vector_type__(2))); +typedef double swift_double3 __attribute__((__ext_vector_type__(3))); +typedef double swift_double4 __attribute__((__ext_vector_type__(4))); +typedef int swift_int2 __attribute__((__ext_vector_type__(2))); +typedef int swift_int3 __attribute__((__ext_vector_type__(3))); +typedef int swift_int4 __attribute__((__ext_vector_type__(4))); +typedef unsigned int swift_uint2 __attribute__((__ext_vector_type__(2))); +typedef unsigned int swift_uint3 __attribute__((__ext_vector_type__(3))); +typedef unsigned int swift_uint4 __attribute__((__ext_vector_type__(4))); +#endif + +#if !defined(SWIFT_PASTE) +# define SWIFT_PASTE_HELPER(x, y) x##y +# define SWIFT_PASTE(x, y) SWIFT_PASTE_HELPER(x, y) +#endif +#if !defined(SWIFT_METATYPE) +# define SWIFT_METATYPE(X) Class +#endif +#if !defined(SWIFT_CLASS_PROPERTY) +# if __has_feature(objc_class_property) +# define SWIFT_CLASS_PROPERTY(...) __VA_ARGS__ +# else +# define SWIFT_CLASS_PROPERTY(...) +# endif +#endif + +#if __has_attribute(objc_runtime_name) +# define SWIFT_RUNTIME_NAME(X) __attribute__((objc_runtime_name(X))) +#else +# define SWIFT_RUNTIME_NAME(X) +#endif +#if __has_attribute(swift_name) +# define SWIFT_COMPILE_NAME(X) __attribute__((swift_name(X))) +#else +# define SWIFT_COMPILE_NAME(X) +#endif +#if __has_attribute(objc_method_family) +# define SWIFT_METHOD_FAMILY(X) __attribute__((objc_method_family(X))) +#else +# define SWIFT_METHOD_FAMILY(X) +#endif +#if __has_attribute(noescape) +# define SWIFT_NOESCAPE __attribute__((noescape)) +#else +# define SWIFT_NOESCAPE +#endif +#if __has_attribute(warn_unused_result) +# define SWIFT_WARN_UNUSED_RESULT __attribute__((warn_unused_result)) +#else +# define SWIFT_WARN_UNUSED_RESULT +#endif +#if __has_attribute(noreturn) +# define SWIFT_NORETURN __attribute__((noreturn)) +#else +# define SWIFT_NORETURN +#endif +#if !defined(SWIFT_CLASS_EXTRA) +# define SWIFT_CLASS_EXTRA +#endif +#if !defined(SWIFT_PROTOCOL_EXTRA) +# define SWIFT_PROTOCOL_EXTRA +#endif +#if !defined(SWIFT_ENUM_EXTRA) +# define SWIFT_ENUM_EXTRA +#endif +#if !defined(SWIFT_CLASS) +# if __has_attribute(objc_subclassing_restricted) +# define SWIFT_CLASS(SWIFT_NAME) SWIFT_RUNTIME_NAME(SWIFT_NAME) __attribute__((objc_subclassing_restricted)) SWIFT_CLASS_EXTRA +# define SWIFT_CLASS_NAMED(SWIFT_NAME) __attribute__((objc_subclassing_restricted)) SWIFT_COMPILE_NAME(SWIFT_NAME) SWIFT_CLASS_EXTRA +# else +# define SWIFT_CLASS(SWIFT_NAME) SWIFT_RUNTIME_NAME(SWIFT_NAME) SWIFT_CLASS_EXTRA +# define SWIFT_CLASS_NAMED(SWIFT_NAME) SWIFT_COMPILE_NAME(SWIFT_NAME) SWIFT_CLASS_EXTRA +# endif +#endif + +#if !defined(SWIFT_PROTOCOL) +# define SWIFT_PROTOCOL(SWIFT_NAME) SWIFT_RUNTIME_NAME(SWIFT_NAME) SWIFT_PROTOCOL_EXTRA +# define SWIFT_PROTOCOL_NAMED(SWIFT_NAME) SWIFT_COMPILE_NAME(SWIFT_NAME) SWIFT_PROTOCOL_EXTRA +#endif + +#if !defined(SWIFT_EXTENSION) +# define SWIFT_EXTENSION(M) SWIFT_PASTE(M##_Swift_, __LINE__) +#endif + +#if !defined(OBJC_DESIGNATED_INITIALIZER) +# if __has_attribute(objc_designated_initializer) +# define OBJC_DESIGNATED_INITIALIZER __attribute__((objc_designated_initializer)) +# else +# define OBJC_DESIGNATED_INITIALIZER +# endif +#endif +#if !defined(SWIFT_ENUM_ATTR) +# if defined(__has_attribute) && __has_attribute(enum_extensibility) +# define SWIFT_ENUM_ATTR(_extensibility) __attribute__((enum_extensibility(_extensibility))) +# else +# define SWIFT_ENUM_ATTR(_extensibility) +# endif +#endif +#if !defined(SWIFT_ENUM) +# define SWIFT_ENUM(_type, _name, _extensibility) enum _name : _type _name; enum SWIFT_ENUM_ATTR(_extensibility) SWIFT_ENUM_EXTRA _name : _type +# if __has_feature(generalized_swift_name) +# define SWIFT_ENUM_NAMED(_type, _name, SWIFT_NAME, _extensibility) enum _name : _type _name SWIFT_COMPILE_NAME(SWIFT_NAME); enum SWIFT_COMPILE_NAME(SWIFT_NAME) SWIFT_ENUM_ATTR(_extensibility) SWIFT_ENUM_EXTRA _name : _type +# else +# define SWIFT_ENUM_NAMED(_type, _name, SWIFT_NAME, _extensibility) SWIFT_ENUM(_type, _name, _extensibility) +# endif +#endif +#if !defined(SWIFT_UNAVAILABLE) +# define SWIFT_UNAVAILABLE __attribute__((unavailable)) +#endif +#if !defined(SWIFT_UNAVAILABLE_MSG) +# define SWIFT_UNAVAILABLE_MSG(msg) __attribute__((unavailable(msg))) +#endif +#if !defined(SWIFT_AVAILABILITY) +# define SWIFT_AVAILABILITY(plat, ...) __attribute__((availability(plat, __VA_ARGS__))) +#endif +#if !defined(SWIFT_DEPRECATED) +# define SWIFT_DEPRECATED __attribute__((deprecated)) +#endif +#if !defined(SWIFT_DEPRECATED_MSG) +# define SWIFT_DEPRECATED_MSG(...) __attribute__((deprecated(__VA_ARGS__))) +#endif +#if __has_feature(attribute_diagnose_if_objc) +# define SWIFT_DEPRECATED_OBJC(Msg) __attribute__((diagnose_if(1, Msg, "warning"))) +#else +# define SWIFT_DEPRECATED_OBJC(Msg) SWIFT_DEPRECATED_MSG(Msg) +#endif +#if __has_feature(modules) +#if __has_warning("-Watimport-in-framework-header") +#pragma clang diagnostic ignored "-Watimport-in-framework-header" +#endif +@import CoreGraphics; +@import Foundation; +@import UIKit; +#endif + +#pragma clang diagnostic ignored "-Wproperty-attribute-mismatch" +#pragma clang diagnostic ignored "-Wduplicate-method-arg" +#if __has_warning("-Wpragma-clang-attribute") +# pragma clang diagnostic ignored "-Wpragma-clang-attribute" +#endif +#pragma clang diagnostic ignored "-Wunknown-pragmas" +#pragma clang diagnostic ignored "-Wnullability" + +#if __has_attribute(external_source_symbol) +# pragma push_macro("any") +# undef any +# pragma clang attribute push(__attribute__((external_source_symbol(language="Swift", defined_in="MXSegmentedControl",generated_declaration))), apply_to=any(function,enum,objc_interface,objc_category,objc_protocol)) +# pragma pop_macro("any") +#endif + +@class NSCoder; + +SWIFT_CLASS("_TtC18MXSegmentedControl11MXIndicator") +@interface MXIndicator : UIView +/// The indicator insets +@property (nonatomic) UIEdgeInsets contentEdgeInsets; +/// The indicator line view. +@property (nonatomic, readonly, strong) UIView * _Nonnull lineView; +/// The indicator box view. +@property (nonatomic, readonly, strong) UIView * _Nonnull boxView; +/// The line height value. +@property (nonatomic) CGFloat lineHeight; +/// :nodoc: +- (nullable instancetype)initWithCoder:(NSCoder * _Nonnull)aDecoder OBJC_DESIGNATED_INITIALIZER; +/// :nodoc: +- (nonnull instancetype)initWithFrame:(CGRect)frame OBJC_DESIGNATED_INITIALIZER; +/// :nodoc: +- (void)layoutSubviews; +@end + +@class UIColor; +@class UIImage; +@class NSAttributedString; + +/// A segment button embed in MXSegmentedControl +SWIFT_CLASS("_TtC18MXSegmentedControl9MXSegment") +@interface MXSegment : UIButton +/// Padding between segment title and image +@property (nonatomic) CGFloat padding; +/// The segment width +@property (nonatomic) CGFloat width; +- (MXSegment * _Nonnull)setWithWidth:(CGFloat)width; +- (MXSegment * _Nonnull)setWithPadding:(CGFloat)padding; +- (MXSegment * _Nonnull)setWithTitle:(NSString * _Nullable)title for:(UIControlState)state; +- (MXSegment * _Nonnull)setWithTitleColor:(UIColor * _Nullable)titleColor for:(UIControlState)state; +- (MXSegment * _Nonnull)setWithImage:(UIImage * _Nullable)image for:(UIControlState)state; +- (MXSegment * _Nonnull)setWithBackground:(UIImage * _Nullable)image for:(UIControlState)state; +- (MXSegment * _Nonnull)setWithAttributedTitle:(NSAttributedString * _Nullable)attributedTitle for:(UIControlState)state; +- (nonnull instancetype)initWithFrame:(CGRect)frame OBJC_DESIGNATED_INITIALIZER; +- (nullable instancetype)initWithCoder:(NSCoder * _Nonnull)aDecoder OBJC_DESIGNATED_INITIALIZER; +@end + + +@interface MXSegment (SWIFT_EXTENSION(MXSegmentedControl)) +/// :nodoc: +- (void)layoutSubviews; +/// :nodoc: +@property (nonatomic, readonly) CGSize intrinsicContentSize; +@end + +@class UIFont; +@class UIScrollView; + +/// A MXSegmentedControl object is a horizontal control made of multiple segments, each segment functioning as a button. An indicator shows the current position of the selected segment. +/// A segmented control can display a title (an NSString object), an attributed title (NSAttributedString object) and/or an image (UIImage object). +/// The MXSegmentedControl object automatically resizes segments to fit proportionally within their superview unless they have a specific width set. +/// You can connect a UIScrollView using the scrollView property to make the indicator move with the scroll view’s contentOffset. +/// You register the target-action methods for a segmented control using the value​Changed constant as shown below. +/// \code +/// segmentedControl.addTarget(self, action: "action:", forControlEvents: .ValueChanged) +/// +/// \endcode +SWIFT_CLASS("_TtC18MXSegmentedControl18MXSegmentedControl") +@interface MXSegmentedControl : UIControl +/// A Boolean value that controls whether the segmented control bounces past the edge of content and back again. +/// If the value of this property is true, the segmented control bounces when it encounters a boundary of the content. Bouncing visually indicates that control has reached an edge of the content. If the value is false, scrolling stops immediately at the content boundary without bouncing. The default value is true. +@property (nonatomic) BOOL bounces; +/// The font of the segments. +/// If you are using styled text in iOS 6 or later, assigning a new value to this property causes the font to be applied to the entirety of the string in the attributedText property. If you want to apply the font to only a portion of the text, create a new attributed string with the desired style information and associate it with the segment. If you are not using styled text, this property applies to the entire segments string in the title property. +/// The default value for this property is the system font at a size of 17 points (using the systemFont(ofSize:) class method of UIFont). +@property (nonatomic, strong) UIFont * _Nonnull font; +/// Sets the color of the segments title to use for the normal state. +@property (nonatomic, strong) UIColor * _Nonnull textColor; +/// Sets the color of the segments title to use for the selected state. +@property (nonatomic, strong) UIColor * _Nullable selectedTextColor; +/// Sets the width of the segments. +@property (nonatomic) CGFloat segmentWidth; +/// The segmented control content insets +@property (nonatomic) UIEdgeInsets contentEdgeInsets; +/// The inset or outset margins for the rectangle surrounding all of the segments’ content. +/// Use this property to resize and reposition the effective drawing rectangle for the segments content. The content comprises the segment image and segment title. You can specify a different value for each of the four insets (top, left, bottom, right). A positive value shrinks, or insets, that edge—moving it closer to the center of the segment. A negative value expands, or outsets, that edge. Use the UIEdgeInsets(top:left:bottom:right:) function to construct a value for this property. The default value is UIEdgeInsetsZero. +/// The segments uses this property to determine intrinsicContentSize and sizeThatFits(_:). +@property (nonatomic) UIEdgeInsets segmentEdgeInsets; +/// The segmented control’s indicator. +@property (nonatomic, readonly, strong) MXIndicator * _Nonnull indicator; +/// The indicator progress. +@property (nonatomic) CGFloat progress; +/// The currently selected segment index. +@property (nonatomic, readonly) NSInteger selectedIndex; +/// :nodoc: +- (nullable instancetype)initWithCoder:(NSCoder * _Nonnull)aDecoder OBJC_DESIGNATED_INITIALIZER; +/// :nodoc: +- (nonnull instancetype)initWithFrame:(CGRect)frame OBJC_DESIGNATED_INITIALIZER; +/// Initializes and returns a newly allocated segmented control object with the specified titles. +/// \param titles The segments titles. +/// +- (nonnull instancetype)initWithTitles:(NSArray * _Nonnull)titles; +/// Initializes and returns a newly allocated segmented control object with the specified titles. +/// \param titles The segments titles. +/// +- (nonnull instancetype)initWithAttributedTitles:(NSArray * _Nonnull)titles; +/// Initializes and returns a newly allocated segmented control object with the specified images. +/// \param images The segments images. +/// +- (nonnull instancetype)initWithImages:(NSArray * _Nonnull)images; +/// :nodoc: +- (void)layoutSubviews; +/// :nodoc: +- (void)prepareForInterfaceBuilder; +/// A scroll view to observe in order to move the indicator. +@property (nonatomic, weak) IBOutlet UIScrollView * _Nullable scrollView; +/// :nodoc: +- (void)observeValueForKeyPath:(NSString * _Nullable)keyPath ofObject:(id _Nullable)object change:(NSDictionary * _Nullable)change context:(void * _Nullable)context; +@end + + + + + + + + +@interface MXSegmentedControl (SWIFT_EXTENSION(MXSegmentedControl)) +/// Gets the segment at the given index. +/// \param index The segment index. +/// +/// +/// returns: +/// The segment at the index. nil if the index is out of range. +- (MXSegment * _Nullable)segmentAt:(NSInteger)index SWIFT_WARN_UNUSED_RESULT; +/// Counts of segment. +@property (nonatomic, readonly) NSInteger count; +- (MXSegment * _Nonnull)newSegment SWIFT_WARN_UNUSED_RESULT; +/// Removes the segment the given index. +/// \param index The segment index to remove. +/// +- (void)removeWithSegmentAt:(NSInteger)index; +/// Removes all segments. +- (void)removeAll; +/// Creates and append a new segment with the given title. +/// \param title The new segment title. +/// +- (MXSegment * _Nonnull)appendWithTitle:(NSString * _Nonnull)title; +/// Creates and append a new segment with the given title. +/// \param title The new segment title. +/// +- (MXSegment * _Nonnull)appendWithAttributedTitle:(NSAttributedString * _Nonnull)attributedTitle; +/// Creates and append a new segment with the given image. +/// \param title The new segment image. +/// +- (MXSegment * _Nonnull)appendWithImage:(UIImage * _Nullable)image; +/// Selects the segment at the given index. +/// \param index The segment index to be selected. +/// +/// \param animated true if the selection should be animated, false if it should be immediate. +/// +- (void)selectWithIndex:(NSInteger)index animated:(BOOL)animated; +@end + + +@interface MXSegmentedControl (SWIFT_EXTENSION(MXSegmentedControl)) +@property (nonatomic) CGFloat cornerRadius; +@property (nonatomic) CGFloat borderWidth; +@property (nonatomic, strong) UIColor * _Nullable borderColor; +@property (nonatomic) CGFloat separatorTop; +@property (nonatomic) CGFloat separatorBottom; +@property (nonatomic) CGFloat separatorWidth; +@property (nonatomic, strong) UIColor * _Nonnull separatorColor; +@property (nonatomic) CGFloat indicatorLeft; +@property (nonatomic) CGFloat indicatorRight; +@property (nonatomic) CGFloat indicatorHeight; +@property (nonatomic, strong) UIColor * _Nullable indicatorColor; +@property (nonatomic, strong) UIColor * _Nullable boxColor; +@property (nonatomic) CGFloat boxOpacity; +@end + +#if __has_attribute(external_source_symbol) +# pragma clang attribute pop +#endif +#pragma clang diagnostic pop + +#endif + +#endif diff --git a/Carthage/Build/iOS/MXSegmentedControl.framework/Headers/MXSegmentedControl.h b/Carthage/Build/iOS/MXSegmentedControl.framework/Headers/MXSegmentedControl.h new file mode 100644 index 000000000..335e909e6 --- /dev/null +++ b/Carthage/Build/iOS/MXSegmentedControl.framework/Headers/MXSegmentedControl.h @@ -0,0 +1,33 @@ +// MXSegmentedControl.h +// +// Copyright (c) 2019 Maxime Epain +// +// Permission is hereby granted, free of charge, to any person obtaining a copy +// of this software and associated documentation files (the "Software"), to deal +// in the Software without restriction, including without limitation the rights +// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +// copies of the Software, and to permit persons to whom the Software is +// furnished to do so, subject to the following conditions: +// +// The above copyright notice and this permission notice shall be included in +// all copies or substantial portions of the Software. +// +// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +// THE SOFTWARE. + +#import + +//! Project version number for MXSegmentedControl. +FOUNDATION_EXPORT double MXSegmentedControlVersionNumber; + +//! Project version string for MXSegmentedControl. +FOUNDATION_EXPORT const unsigned char MXSegmentedControlVersionString[]; + +// In this header, you should import all the public headers of your framework using statements like #import + + diff --git a/Carthage/Build/iOS/MXSegmentedControl.framework/Info.plist b/Carthage/Build/iOS/MXSegmentedControl.framework/Info.plist new file mode 100644 index 000000000..8f333a634 Binary files /dev/null and b/Carthage/Build/iOS/MXSegmentedControl.framework/Info.plist differ diff --git a/Carthage/Build/iOS/MXSegmentedControl.framework/MXSegmentedControl b/Carthage/Build/iOS/MXSegmentedControl.framework/MXSegmentedControl new file mode 100755 index 000000000..4a9e26f05 Binary files /dev/null and b/Carthage/Build/iOS/MXSegmentedControl.framework/MXSegmentedControl differ diff --git a/Carthage/Build/iOS/MXSegmentedControl.framework/Modules/MXSegmentedControl.swiftmodule/arm.swiftdoc b/Carthage/Build/iOS/MXSegmentedControl.framework/Modules/MXSegmentedControl.swiftmodule/arm.swiftdoc new file mode 100644 index 000000000..6ce409d29 Binary files /dev/null and b/Carthage/Build/iOS/MXSegmentedControl.framework/Modules/MXSegmentedControl.swiftmodule/arm.swiftdoc differ diff --git a/Carthage/Build/iOS/MXSegmentedControl.framework/Modules/MXSegmentedControl.swiftmodule/arm.swiftmodule b/Carthage/Build/iOS/MXSegmentedControl.framework/Modules/MXSegmentedControl.swiftmodule/arm.swiftmodule new file mode 100644 index 000000000..af3cbe4bc Binary files /dev/null and b/Carthage/Build/iOS/MXSegmentedControl.framework/Modules/MXSegmentedControl.swiftmodule/arm.swiftmodule differ diff --git a/Carthage/Build/iOS/MXSegmentedControl.framework/Modules/MXSegmentedControl.swiftmodule/arm64.swiftdoc b/Carthage/Build/iOS/MXSegmentedControl.framework/Modules/MXSegmentedControl.swiftmodule/arm64.swiftdoc new file mode 100644 index 000000000..059317943 Binary files /dev/null and b/Carthage/Build/iOS/MXSegmentedControl.framework/Modules/MXSegmentedControl.swiftmodule/arm64.swiftdoc differ diff --git a/Carthage/Build/iOS/MXSegmentedControl.framework/Modules/MXSegmentedControl.swiftmodule/arm64.swiftmodule b/Carthage/Build/iOS/MXSegmentedControl.framework/Modules/MXSegmentedControl.swiftmodule/arm64.swiftmodule new file mode 100644 index 000000000..6113d6c39 Binary files /dev/null and b/Carthage/Build/iOS/MXSegmentedControl.framework/Modules/MXSegmentedControl.swiftmodule/arm64.swiftmodule differ diff --git a/Carthage/Build/iOS/MXSegmentedControl.framework/Modules/MXSegmentedControl.swiftmodule/armv7.swiftdoc b/Carthage/Build/iOS/MXSegmentedControl.framework/Modules/MXSegmentedControl.swiftmodule/armv7.swiftdoc new file mode 100644 index 000000000..6ce409d29 Binary files /dev/null and b/Carthage/Build/iOS/MXSegmentedControl.framework/Modules/MXSegmentedControl.swiftmodule/armv7.swiftdoc differ diff --git a/Carthage/Build/iOS/MXSegmentedControl.framework/Modules/MXSegmentedControl.swiftmodule/armv7.swiftmodule b/Carthage/Build/iOS/MXSegmentedControl.framework/Modules/MXSegmentedControl.swiftmodule/armv7.swiftmodule new file mode 100644 index 000000000..af3cbe4bc Binary files /dev/null and b/Carthage/Build/iOS/MXSegmentedControl.framework/Modules/MXSegmentedControl.swiftmodule/armv7.swiftmodule differ diff --git a/Carthage/Build/iOS/MXSegmentedControl.framework/Modules/MXSegmentedControl.swiftmodule/i386.swiftdoc b/Carthage/Build/iOS/MXSegmentedControl.framework/Modules/MXSegmentedControl.swiftmodule/i386.swiftdoc new file mode 100644 index 000000000..7b21c978e Binary files /dev/null and b/Carthage/Build/iOS/MXSegmentedControl.framework/Modules/MXSegmentedControl.swiftmodule/i386.swiftdoc differ diff --git a/Carthage/Build/iOS/MXSegmentedControl.framework/Modules/MXSegmentedControl.swiftmodule/i386.swiftmodule b/Carthage/Build/iOS/MXSegmentedControl.framework/Modules/MXSegmentedControl.swiftmodule/i386.swiftmodule new file mode 100644 index 000000000..9b36fd8da Binary files /dev/null and b/Carthage/Build/iOS/MXSegmentedControl.framework/Modules/MXSegmentedControl.swiftmodule/i386.swiftmodule differ diff --git a/Carthage/Build/iOS/MXSegmentedControl.framework/Modules/MXSegmentedControl.swiftmodule/x86_64.swiftdoc b/Carthage/Build/iOS/MXSegmentedControl.framework/Modules/MXSegmentedControl.swiftmodule/x86_64.swiftdoc new file mode 100644 index 000000000..6c47cc177 Binary files /dev/null and b/Carthage/Build/iOS/MXSegmentedControl.framework/Modules/MXSegmentedControl.swiftmodule/x86_64.swiftdoc differ diff --git a/Carthage/Build/iOS/MXSegmentedControl.framework/Modules/MXSegmentedControl.swiftmodule/x86_64.swiftmodule b/Carthage/Build/iOS/MXSegmentedControl.framework/Modules/MXSegmentedControl.swiftmodule/x86_64.swiftmodule new file mode 100644 index 000000000..b86628ee7 Binary files /dev/null and b/Carthage/Build/iOS/MXSegmentedControl.framework/Modules/MXSegmentedControl.swiftmodule/x86_64.swiftmodule differ diff --git a/Carthage/Build/iOS/MXSegmentedControl.framework/Modules/module.modulemap b/Carthage/Build/iOS/MXSegmentedControl.framework/Modules/module.modulemap new file mode 100644 index 000000000..105bd4177 --- /dev/null +++ b/Carthage/Build/iOS/MXSegmentedControl.framework/Modules/module.modulemap @@ -0,0 +1,11 @@ +framework module MXSegmentedControl { + umbrella header "MXSegmentedControl.h" + + export * + module * { export * } +} + +module MXSegmentedControl.Swift { + header "MXSegmentedControl-Swift.h" + requires objc +} diff --git a/Example-objc/ParallaxView.gif b/Example-objc/ParallaxView.gif deleted file mode 100644 index 95a47c61f..000000000 Binary files a/Example-objc/ParallaxView.gif and /dev/null differ diff --git a/Example-objc/SimpleView.gif b/Example-objc/SimpleView.gif deleted file mode 100644 index e25ee0b63..000000000 Binary files a/Example-objc/SimpleView.gif and /dev/null differ diff --git a/Example-swift/Assets.xcassets/AppIcon.appiconset/Contents.json b/Examples/Objective-C/Assets.xcassets/AppIcon.appiconset/Contents.json similarity index 94% rename from Example-swift/Assets.xcassets/AppIcon.appiconset/Contents.json rename to Examples/Objective-C/Assets.xcassets/AppIcon.appiconset/Contents.json index 1d060ed28..d8db8d65f 100644 --- a/Example-swift/Assets.xcassets/AppIcon.appiconset/Contents.json +++ b/Examples/Objective-C/Assets.xcassets/AppIcon.appiconset/Contents.json @@ -84,6 +84,11 @@ "idiom" : "ipad", "size" : "83.5x83.5", "scale" : "2x" + }, + { + "idiom" : "ios-marketing", + "size" : "1024x1024", + "scale" : "1x" } ], "info" : { diff --git a/Example-objc/Assets.xcassets/LaunchImage.launchimage/Contents.json b/Examples/Objective-C/Assets.xcassets/LaunchImage.launchimage/Contents.json similarity index 100% rename from Example-objc/Assets.xcassets/LaunchImage.launchimage/Contents.json rename to Examples/Objective-C/Assets.xcassets/LaunchImage.launchimage/Contents.json diff --git a/Example-objc/Assets.xcassets/success-baby.imageset/Contents.json b/Examples/Objective-C/Assets.xcassets/success-baby.imageset/Contents.json similarity index 100% rename from Example-objc/Assets.xcassets/success-baby.imageset/Contents.json rename to Examples/Objective-C/Assets.xcassets/success-baby.imageset/Contents.json diff --git a/Example-objc/Assets.xcassets/success-baby.imageset/success-baby.png b/Examples/Objective-C/Assets.xcassets/success-baby.imageset/success-baby.png similarity index 100% rename from Example-objc/Assets.xcassets/success-baby.imageset/success-baby.png rename to Examples/Objective-C/Assets.xcassets/success-baby.imageset/success-baby.png diff --git a/Example-objc/Base.lproj/LaunchScreen.storyboard b/Examples/Objective-C/Base.lproj/LaunchScreen.storyboard similarity index 100% rename from Example-objc/Base.lproj/LaunchScreen.storyboard rename to Examples/Objective-C/Base.lproj/LaunchScreen.storyboard diff --git a/Example-objc/Base.lproj/Main.storyboard b/Examples/Objective-C/Base.lproj/Main.storyboard similarity index 86% rename from Example-objc/Base.lproj/Main.storyboard rename to Examples/Objective-C/Base.lproj/Main.storyboard index 091e0f10d..e5771f13f 100644 --- a/Example-objc/Base.lproj/Main.storyboard +++ b/Examples/Objective-C/Base.lproj/Main.storyboard @@ -1,11 +1,12 @@ - - + + - + + @@ -13,14 +14,11 @@ - - - - + @@ -57,6 +55,7 @@ + @@ -65,10 +64,6 @@ - - - - @@ -83,8 +78,9 @@ - + + @@ -98,14 +94,11 @@ - - - - + @@ -116,14 +109,11 @@ - - - - + diff --git a/Example-objc/Info.plist b/Examples/Objective-C/Info.plist similarity index 100% rename from Example-objc/Info.plist rename to Examples/Objective-C/Info.plist diff --git a/Example-objc/LongText.txt b/Examples/Objective-C/LongText.txt similarity index 100% rename from Example-objc/LongText.txt rename to Examples/Objective-C/LongText.txt diff --git a/Example-objc/MXAppDelegate.h b/Examples/Objective-C/MXAppDelegate.h similarity index 97% rename from Example-objc/MXAppDelegate.h rename to Examples/Objective-C/MXAppDelegate.h index d378794c9..b0e28273d 100644 --- a/Example-objc/MXAppDelegate.h +++ b/Examples/Objective-C/MXAppDelegate.h @@ -1,6 +1,6 @@ // MXAppDelegate.h // -// Copyright (c) 2017 Maxime Epain +// Copyright (c) 2019 Maxime Epain // // Permission is hereby granted, free of charge, to any person obtaining a copy // of this software and associated documentation files (the "Software"), to deal diff --git a/Example-objc/MXAppDelegate.m b/Examples/Objective-C/MXAppDelegate.m similarity index 98% rename from Example-objc/MXAppDelegate.m rename to Examples/Objective-C/MXAppDelegate.m index f45405f59..470b1d1f0 100644 --- a/Example-objc/MXAppDelegate.m +++ b/Examples/Objective-C/MXAppDelegate.m @@ -1,6 +1,6 @@ // MXAppDelegate.m // -// Copyright (c) 2017 Maxime Epain +// Copyright (c) 2019 Maxime Epain // // Permission is hereby granted, free of charge, to any person obtaining a copy // of this software and associated documentation files (the "Software"), to deal diff --git a/Example-objc/MXExampleViewController.h b/Examples/Objective-C/MXExampleViewController.h similarity index 97% rename from Example-objc/MXExampleViewController.h rename to Examples/Objective-C/MXExampleViewController.h index 2dd341bb0..752389806 100644 --- a/Example-objc/MXExampleViewController.h +++ b/Examples/Objective-C/MXExampleViewController.h @@ -1,6 +1,6 @@ // MXExampleViewController.h // -// Copyright (c) 2017 Maxime Epain +// Copyright (c) 2019 Maxime Epain // // Permission is hereby granted, free of charge, to any person obtaining a copy // of this software and associated documentation files (the "Software"), to deal diff --git a/Example-objc/MXExampleViewController.m b/Examples/Objective-C/MXExampleViewController.m similarity index 76% rename from Example-objc/MXExampleViewController.m rename to Examples/Objective-C/MXExampleViewController.m index 741b224ed..409f0cf10 100644 --- a/Example-objc/MXExampleViewController.m +++ b/Examples/Objective-C/MXExampleViewController.m @@ -1,6 +1,6 @@ // MXExampleViewController.m // -// Copyright (c) 2017 Maxime Epain +// Copyright (c) 2019 Maxime Epain // // Permission is hereby granted, free of charge, to any person obtaining a copy // of this software and associated documentation files (the "Software"), to deal @@ -30,19 +30,15 @@ - (void)viewDidLoad { [super viewDidLoad]; self.segmentedPager.backgroundColor = [UIColor whiteColor]; - - self.segmentedPager.pager.transitionStyle = MXPagerViewTransitionStyleTab; - - self.segmentedPager.segmentedControl.backgroundColor = [UIColor whiteColor]; - self.segmentedPager.segmentedControl.titleTextAttributes = @{NSForegroundColorAttributeName : [UIColor blackColor]}; - self.segmentedPager.segmentedControl.selectedTitleTextAttributes = @{NSForegroundColorAttributeName : [UIColor colorWithRed:0.1 green:0.1 blue:0.1 alpha:1]}; - self.segmentedPager.segmentedControl.selectionIndicatorColor = [UIColor blackColor]; - self.segmentedPager.segmentedControl.selectionStyle = HMSegmentedControlSelectionStyleArrow; - self.segmentedPager.segmentedControl.selectionIndicatorLocation = HMSegmentedControlSelectionIndicatorLocationDown; - self.segmentedPager.segmentedControlPosition = MXSegmentedControlPositionBottom; - self.segmentedPager.segmentedControlEdgeInsets = UIEdgeInsetsMake(12, 12, 0, 12); + + self.segmentedPager.pager.transitionStyle = MXPagerViewTransitionStyleTab; + + self.segmentedPager.segmentedControl.backgroundColor = [UIColor whiteColor]; + self.segmentedPager.segmentedControl.textColor = [UIColor blackColor]; + self.segmentedPager.segmentedControl.selectedTextColor = [UIColor orangeColor]; + self.segmentedPager.segmentedControl.indicator.lineView.backgroundColor = [UIColor orangeColor]; } #pragma mark diff --git a/Example-objc/Parallax/Cover.xib b/Examples/Objective-C/Parallax/Cover.xib similarity index 100% rename from Example-objc/Parallax/Cover.xib rename to Examples/Objective-C/Parallax/Cover.xib diff --git a/Example-objc/Parallax/MXCustomView.h b/Examples/Objective-C/Parallax/MXCustomView.h similarity index 97% rename from Example-objc/Parallax/MXCustomView.h rename to Examples/Objective-C/Parallax/MXCustomView.h index 08965e51a..bc195ca29 100644 --- a/Example-objc/Parallax/MXCustomView.h +++ b/Examples/Objective-C/Parallax/MXCustomView.h @@ -1,6 +1,6 @@ // MXCustomView.h // -// Copyright (c) 2017 Maxime Epain +// Copyright (c) 2019 Maxime Epain // // Permission is hereby granted, free of charge, to any person obtaining a copy // of this software and associated documentation files (the "Software"), to deal diff --git a/Example-objc/Parallax/MXCustomView.m b/Examples/Objective-C/Parallax/MXCustomView.m similarity index 98% rename from Example-objc/Parallax/MXCustomView.m rename to Examples/Objective-C/Parallax/MXCustomView.m index 1400e3768..ca05d3fc7 100644 --- a/Example-objc/Parallax/MXCustomView.m +++ b/Examples/Objective-C/Parallax/MXCustomView.m @@ -1,6 +1,6 @@ // MXCustomView.m // -// Copyright (c) 2017 Maxime Epain +// Copyright (c) 2019 Maxime Epain // // Permission is hereby granted, free of charge, to any person obtaining a copy // of this software and associated documentation files (the "Software"), to deal diff --git a/Example-objc/Parallax/MXParallaxViewController.h b/Examples/Objective-C/Parallax/MXParallaxViewController.h similarity index 97% rename from Example-objc/Parallax/MXParallaxViewController.h rename to Examples/Objective-C/Parallax/MXParallaxViewController.h index efaf68a5a..81ebd5254 100644 --- a/Example-objc/Parallax/MXParallaxViewController.h +++ b/Examples/Objective-C/Parallax/MXParallaxViewController.h @@ -1,6 +1,6 @@ // MXParallaxViewController.h // -// Copyright (c) 2017 Maxime Epain +// Copyright (c) 2019 Maxime Epain // // Permission is hereby granted, free of charge, to any person obtaining a copy // of this software and associated documentation files (the "Software"), to deal diff --git a/Example-objc/Parallax/MXParallaxViewController.m b/Examples/Objective-C/Parallax/MXParallaxViewController.m similarity index 81% rename from Example-objc/Parallax/MXParallaxViewController.m rename to Examples/Objective-C/Parallax/MXParallaxViewController.m index d48ceeffe..66c210191 100644 --- a/Example-objc/Parallax/MXParallaxViewController.m +++ b/Examples/Objective-C/Parallax/MXParallaxViewController.m @@ -1,6 +1,6 @@ // MXParallaxViewController.m // -// Copyright (c) 2017 Maxime Epain +// Copyright (c) 2019 Maxime Epain // // Permission is hereby granted, free of charge, to any person obtaining a copy // of this software and associated documentation files (the "Software"), to deal @@ -21,15 +21,16 @@ // THE SOFTWARE. #import +#import #import "MXParallaxViewController.h" #import "MXCustomView.h" -@interface MXParallaxViewController () +@interface MXParallaxViewController () @property (nonatomic, strong) UIView * cover; @property (nonatomic, strong) MXSegmentedPager * segmentedPager; @property (nonatomic, strong) UITableView * tableView; -@property (nonatomic, strong) UIWebView * webView; +@property (nonatomic, strong) WKWebView * webView; @property (nonatomic, strong) UITextView * textView; @property (nonatomic, strong) MXCustomView * customView; @end @@ -46,25 +47,23 @@ - (void)viewDidLoad { self.segmentedPager.parallaxHeader.view = self.cover; self.segmentedPager.parallaxHeader.mode = MXParallaxHeaderModeFill; self.segmentedPager.parallaxHeader.height = 150; - self.segmentedPager.parallaxHeader.minimumHeight = 20; // Segmented Control customization - self.segmentedPager.segmentedControl.selectionIndicatorLocation = HMSegmentedControlSelectionIndicatorLocationDown; - self.segmentedPager.segmentedControl.backgroundColor = [UIColor whiteColor]; - self.segmentedPager.segmentedControl.titleTextAttributes = @{NSForegroundColorAttributeName : [UIColor blackColor]}; - self.segmentedPager.segmentedControl.selectedTitleTextAttributes = @{NSForegroundColorAttributeName : [UIColor orangeColor]}; - self.segmentedPager.segmentedControl.selectionStyle = HMSegmentedControlSelectionStyleFullWidthStripe; - self.segmentedPager.segmentedControl.selectionIndicatorColor = [UIColor orangeColor]; + self.segmentedPager.segmentedControl.textColor = [UIColor blackColor]; + self.segmentedPager.segmentedControl.selectedTextColor = [UIColor orangeColor]; + self.segmentedPager.segmentedControl.indicator.lineView.backgroundColor = [UIColor orangeColor]; self.segmentedPager.segmentedControlEdgeInsets = UIEdgeInsetsMake(12, 12, 12, 12); } +- (void)viewSafeAreaInsetsDidChange { + [super viewSafeAreaInsetsDidChange]; + self.segmentedPager.parallaxHeader.minimumHeight = self.view.safeAreaInsets.top; +} + - (void)viewWillLayoutSubviews { - self.segmentedPager.frame = (CGRect){ - .origin = CGPointZero, - .size = self.view.frame.size - }; [super viewWillLayoutSubviews]; + self.segmentedPager.frame = self.view.bounds; } #pragma mark Properties @@ -98,13 +97,11 @@ - (UITableView *)tableView { return _tableView; } -- (UIWebView *)webView { +- (WKWebView *)webView { if (!_webView) { // Add a web page - _webView = [[UIWebView alloc] init]; - _webView.delegate = self; - NSString *strURL = @"http://nshipster.com/"; - NSURL *url = [NSURL URLWithString:strURL]; + _webView = [[WKWebView alloc] init]; + NSURL *url = [NSURL URLWithString:@"http://nshipster.com/"]; NSURLRequest *urlRequest = [NSURLRequest requestWithURL:url]; [_webView loadRequest:urlRequest]; } @@ -182,10 +179,4 @@ - (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(N return cell; } -#pragma mark - -- (void)webViewDidFinishLoad:(UIWebView *)webView { - -} - @end diff --git a/Example-objc/Simple/MXSimpleViewController.h b/Examples/Objective-C/Simple/MXSimpleViewController.h similarity index 97% rename from Example-objc/Simple/MXSimpleViewController.h rename to Examples/Objective-C/Simple/MXSimpleViewController.h index faa1c057c..d0c1d4131 100644 --- a/Example-objc/Simple/MXSimpleViewController.h +++ b/Examples/Objective-C/Simple/MXSimpleViewController.h @@ -1,6 +1,6 @@ // MXSimpleViewController.h // -// Copyright (c) 2017 Maxime Epain +// Copyright (c) 2019 Maxime Epain // // Permission is hereby granted, free of charge, to any person obtaining a copy // of this software and associated documentation files (the "Software"), to deal diff --git a/Example-objc/Simple/MXSimpleViewController.m b/Examples/Objective-C/Simple/MXSimpleViewController.m similarity index 83% rename from Example-objc/Simple/MXSimpleViewController.m rename to Examples/Objective-C/Simple/MXSimpleViewController.m index bc6c76346..cbc22563e 100644 --- a/Example-objc/Simple/MXSimpleViewController.m +++ b/Examples/Objective-C/Simple/MXSimpleViewController.m @@ -1,6 +1,6 @@ // MXSimpleViewController.m // -// Copyright (c) 2017 Maxime Epain +// Copyright (c) 2019 Maxime Epain // // Permission is hereby granted, free of charge, to any person obtaining a copy // of this software and associated documentation files (the "Software"), to deal @@ -20,13 +20,15 @@ // OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN // THE SOFTWARE. +#import + #import "MXSimpleViewController.h" #import "MXSegmentedPager.h" @interface MXSimpleViewController () @property (nonatomic, strong) MXSegmentedPager * segmentedPager; @property (nonatomic, strong) UITableView * tableView; -@property (nonatomic, strong) UIWebView * webView; +@property (nonatomic, strong) WKWebView * webView; @property (nonatomic, strong) UITextView * textView; @end @@ -37,10 +39,9 @@ - (void)viewDidLoad { self.view.backgroundColor = UIColor.whiteColor; [self.view addSubview:self.segmentedPager]; - self.segmentedPager.segmentedControl.selectionIndicatorLocation = HMSegmentedControlSelectionIndicatorLocationDown; - self.segmentedPager.segmentedControl.selectionIndicatorColor = [UIColor orangeColor]; - self.segmentedPager.segmentedControl.selectionStyle = HMSegmentedControlSelectionStyleFullWidthStripe; - self.segmentedPager.segmentedControl.selectedTitleTextAttributes = @{NSForegroundColorAttributeName : [UIColor orangeColor]}; + self.segmentedPager.segmentedControl.textColor = [UIColor blackColor]; + self.segmentedPager.segmentedControl.selectedTextColor = [UIColor orangeColor]; + self.segmentedPager.segmentedControl.indicator.lineView.backgroundColor = [UIColor orangeColor]; self.segmentedPager.pager.gutterWidth = 20; @@ -49,13 +50,8 @@ - (void)viewDidLoad { } - (void)viewWillLayoutSubviews { - self.segmentedPager.frame = (CGRect){ - .origin.x = 0.f, - .origin.y = 20.f, - .size.width = self.view.frame.size.width, - .size.height = self.view.frame.size.height - 20.f - }; [super viewWillLayoutSubviews]; + self.segmentedPager.frame = UIEdgeInsetsInsetRect(self.view.bounds, self.view.safeAreaInsets); } #pragma -mark Properties @@ -81,12 +77,11 @@ - (UITableView *)tableView { return _tableView; } -- (UIWebView *)webView { +- (WKWebView *)webView { if (!_webView) { // Add a web page - _webView = [[UIWebView alloc] init]; - NSString *strURL = @"http://nshipster.com/"; - NSURL *url = [NSURL URLWithString:strURL]; + _webView = [[WKWebView alloc] init]; + NSURL *url = [NSURL URLWithString:@"http://nshipster.com/"]; NSURLRequest *urlRequest = [NSURLRequest requestWithURL:url]; [_webView loadRequest:urlRequest]; } @@ -140,7 +135,7 @@ - (UIView *)segmentedPager:(MXSegmentedPager *)segmentedPager viewForPageAtIndex - (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath { NSInteger index = (indexPath.row % 2) + 1; - [self.segmentedPager.pager showPageAtIndex:index animated:YES]; + [self.segmentedPager showPageAtIndex:index animated:YES]; } #pragma -mark diff --git a/Example-objc/Storyboard/MXNumberViewController.h b/Examples/Objective-C/Storyboard/MXNumberViewController.h similarity index 100% rename from Example-objc/Storyboard/MXNumberViewController.h rename to Examples/Objective-C/Storyboard/MXNumberViewController.h diff --git a/Example-objc/Storyboard/MXNumberViewController.m b/Examples/Objective-C/Storyboard/MXNumberViewController.m similarity index 100% rename from Example-objc/Storyboard/MXNumberViewController.m rename to Examples/Objective-C/Storyboard/MXNumberViewController.m diff --git a/Example-objc/Storyboard/MXStoryboardViewController.h b/Examples/Objective-C/Storyboard/MXStoryboardViewController.h similarity index 100% rename from Example-objc/Storyboard/MXStoryboardViewController.h rename to Examples/Objective-C/Storyboard/MXStoryboardViewController.h diff --git a/Example-objc/Storyboard/MXStoryboardViewController.m b/Examples/Objective-C/Storyboard/MXStoryboardViewController.m similarity index 70% rename from Example-objc/Storyboard/MXStoryboardViewController.m rename to Examples/Objective-C/Storyboard/MXStoryboardViewController.m index ec4ad9705..216f9cfa3 100644 --- a/Example-objc/Storyboard/MXStoryboardViewController.m +++ b/Examples/Objective-C/Storyboard/MXStoryboardViewController.m @@ -26,16 +26,18 @@ - (void)viewDidLoad { self.segmentedPager.parallaxHeader.minimumHeight = 20; // Segmented Control customization - self.segmentedPager.segmentedControl.selectionIndicatorLocation = HMSegmentedControlSelectionIndicatorLocationDown; - self.segmentedPager.segmentedControl.backgroundColor = [UIColor whiteColor]; - self.segmentedPager.segmentedControl.titleTextAttributes = @{NSForegroundColorAttributeName : [UIColor blackColor]}; - self.segmentedPager.segmentedControl.selectedTitleTextAttributes = @{NSForegroundColorAttributeName : [UIColor orangeColor]}; - self.segmentedPager.segmentedControl.selectionStyle = HMSegmentedControlSelectionStyleFullWidthStripe; - self.segmentedPager.segmentedControl.selectionIndicatorColor = [UIColor orangeColor]; + self.segmentedPager.segmentedControl.textColor = [UIColor blackColor]; + self.segmentedPager.segmentedControl.selectedTextColor = [UIColor orangeColor]; + self.segmentedPager.segmentedControl.indicator.lineView.backgroundColor = [UIColor orangeColor]; self.segmentedPager.segmentedControlEdgeInsets = UIEdgeInsetsMake(12, 12, 12, 12); } +- (void)viewSafeAreaInsetsDidChange { + [super viewSafeAreaInsetsDidChange]; + self.segmentedPager.parallaxHeader.minimumHeight = self.view.safeAreaInsets.top; +} + #pragma mark Navigation // In a storyboard-based application, you will often want to do a little preparation before navigation diff --git a/Example-objc/main.m b/Examples/Objective-C/main.m similarity index 97% rename from Example-objc/main.m rename to Examples/Objective-C/main.m index 6161d5e65..4692d8a1e 100644 --- a/Example-objc/main.m +++ b/Examples/Objective-C/main.m @@ -1,6 +1,6 @@ // main.m // -// Copyright (c) 2017 Maxime Epain +// Copyright (c) 2019 Maxime Epain // // Permission is hereby granted, free of charge, to any person obtaining a copy // of this software and associated documentation files (the "Software"), to deal diff --git a/Examples/Parallax.gif b/Examples/Parallax.gif new file mode 100644 index 000000000..9ed83093a Binary files /dev/null and b/Examples/Parallax.gif differ diff --git a/Examples/Simple.gif b/Examples/Simple.gif new file mode 100644 index 000000000..73baf154a Binary files /dev/null and b/Examples/Simple.gif differ diff --git a/Example-objc/Assets.xcassets/AppIcon.appiconset/Contents.json b/Examples/Swift/Assets.xcassets/AppIcon.appiconset/Contents.json similarity index 67% rename from Example-objc/Assets.xcassets/AppIcon.appiconset/Contents.json rename to Examples/Swift/Assets.xcassets/AppIcon.appiconset/Contents.json index 36d2c80d8..d8db8d65f 100644 --- a/Example-objc/Assets.xcassets/AppIcon.appiconset/Contents.json +++ b/Examples/Swift/Assets.xcassets/AppIcon.appiconset/Contents.json @@ -1,5 +1,15 @@ { "images" : [ + { + "idiom" : "iphone", + "size" : "20x20", + "scale" : "2x" + }, + { + "idiom" : "iphone", + "size" : "20x20", + "scale" : "3x" + }, { "idiom" : "iphone", "size" : "29x29", @@ -30,6 +40,16 @@ "size" : "60x60", "scale" : "3x" }, + { + "idiom" : "ipad", + "size" : "20x20", + "scale" : "1x" + }, + { + "idiom" : "ipad", + "size" : "20x20", + "scale" : "2x" + }, { "idiom" : "ipad", "size" : "29x29", @@ -59,6 +79,16 @@ "idiom" : "ipad", "size" : "76x76", "scale" : "2x" + }, + { + "idiom" : "ipad", + "size" : "83.5x83.5", + "scale" : "2x" + }, + { + "idiom" : "ios-marketing", + "size" : "1024x1024", + "scale" : "1x" } ], "info" : { diff --git a/Example-swift/Assets.xcassets/Contents.json b/Examples/Swift/Assets.xcassets/Contents.json similarity index 100% rename from Example-swift/Assets.xcassets/Contents.json rename to Examples/Swift/Assets.xcassets/Contents.json diff --git a/Example-swift/Assets.xcassets/success-baby.imageset/Contents.json b/Examples/Swift/Assets.xcassets/success-baby.imageset/Contents.json similarity index 100% rename from Example-swift/Assets.xcassets/success-baby.imageset/Contents.json rename to Examples/Swift/Assets.xcassets/success-baby.imageset/Contents.json diff --git a/Example-swift/Assets.xcassets/success-baby.imageset/success-baby.png b/Examples/Swift/Assets.xcassets/success-baby.imageset/success-baby.png similarity index 100% rename from Example-swift/Assets.xcassets/success-baby.imageset/success-baby.png rename to Examples/Swift/Assets.xcassets/success-baby.imageset/success-baby.png diff --git a/Example-swift/Base.lproj/LaunchScreen.storyboard b/Examples/Swift/Base.lproj/LaunchScreen.storyboard similarity index 100% rename from Example-swift/Base.lproj/LaunchScreen.storyboard rename to Examples/Swift/Base.lproj/LaunchScreen.storyboard diff --git a/Example-swift/Base.lproj/Main.storyboard b/Examples/Swift/Base.lproj/Main.storyboard similarity index 82% rename from Example-swift/Base.lproj/Main.storyboard rename to Examples/Swift/Base.lproj/Main.storyboard index a285b2877..23b591c56 100644 --- a/Example-swift/Base.lproj/Main.storyboard +++ b/Examples/Swift/Base.lproj/Main.storyboard @@ -1,11 +1,12 @@ - - + + - + + @@ -13,14 +14,11 @@ - - - - + @@ -45,6 +43,7 @@ + @@ -62,11 +61,11 @@ - + - - - + + + + diff --git a/Example-swift/Info.plist b/Examples/Swift/Info.plist similarity index 100% rename from Example-swift/Info.plist rename to Examples/Swift/Info.plist diff --git a/Example-swift/LongText.txt b/Examples/Swift/LongText.txt similarity index 100% rename from Example-swift/LongText.txt rename to Examples/Swift/LongText.txt diff --git a/Example-swift/MXAppDelegate.swift b/Examples/Swift/MXAppDelegate.swift similarity index 96% rename from Example-swift/MXAppDelegate.swift rename to Examples/Swift/MXAppDelegate.swift index 972f1df8e..d1c96011e 100644 --- a/Example-swift/MXAppDelegate.swift +++ b/Examples/Swift/MXAppDelegate.swift @@ -1,6 +1,6 @@ // MXAppDelegate.swift // -// Copyright (c) 2017 Maxime Epain +// Copyright (c) 2019 Maxime Epain // // Permission is hereby granted, free of charge, to any person obtaining a copy // of this software and associated documentation files (the "Software"), to deal @@ -28,7 +28,7 @@ class MXAppDelegate: UIResponder, UIApplicationDelegate { var window: UIWindow? - func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplicationLaunchOptionsKey: Any]?) -> Bool { + func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplication.LaunchOptionsKey: Any]?) -> Bool { // Override point for customization after application launch. return true } diff --git a/Example-swift/MXTableViewController.swift b/Examples/Swift/MXTableViewController.swift similarity index 97% rename from Example-swift/MXTableViewController.swift rename to Examples/Swift/MXTableViewController.swift index c42e28584..a4fe42e72 100644 --- a/Example-swift/MXTableViewController.swift +++ b/Examples/Swift/MXTableViewController.swift @@ -1,6 +1,6 @@ // MXTableViewController.swift // -// Copyright (c) 2017 Maxime Epain +// Copyright (c) 2019 Maxime Epain // // Permission is hereby granted, free of charge, to any person obtaining a copy // of this software and associated documentation files (the "Software"), to deal diff --git a/Example-swift/MXTextViewController.swift b/Examples/Swift/MXTextViewController.swift similarity index 97% rename from Example-swift/MXTextViewController.swift rename to Examples/Swift/MXTextViewController.swift index 6aefe279a..fcdf5fcbf 100644 --- a/Example-swift/MXTextViewController.swift +++ b/Examples/Swift/MXTextViewController.swift @@ -1,6 +1,6 @@ // MXTextViewController.swift // -// Copyright (c) 2017 Maxime Epain +// Copyright (c) 2019 Maxime Epain // // Permission is hereby granted, free of charge, to any person obtaining a copy // of this software and associated documentation files (the "Software"), to deal diff --git a/Example-swift/MXViewController.swift b/Examples/Swift/MXViewController.swift similarity index 77% rename from Example-swift/MXViewController.swift rename to Examples/Swift/MXViewController.swift index 6feef9187..4ee6ea485 100644 --- a/Example-swift/MXViewController.swift +++ b/Examples/Swift/MXViewController.swift @@ -1,6 +1,6 @@ // MXViewController.swift // -// Copyright (c) 2017 Maxime Epain +// Copyright (c) 2019 Maxime Epain // // Permission is hereby granted, free of charge, to any person obtaining a copy // of this software and associated documentation files (the "Software"), to deal @@ -35,15 +35,17 @@ class MXViewController: MXSegmentedPagerController { segmentedPager.parallaxHeader.view = headerView segmentedPager.parallaxHeader.mode = .fill segmentedPager.parallaxHeader.height = 150 - segmentedPager.parallaxHeader.minimumHeight = 20 + segmentedPager.parallaxHeader.minimumHeight = view.safeAreaInsets.top // Segmented Control customization - segmentedPager.segmentedControl.selectionIndicatorLocation = .down - segmentedPager.segmentedControl.backgroundColor = .white - segmentedPager.segmentedControl.titleTextAttributes = [NSForegroundColorAttributeName : UIColor.black] - segmentedPager.segmentedControl.selectedTitleTextAttributes = [NSForegroundColorAttributeName : UIColor.orange] - segmentedPager.segmentedControl.selectionStyle = .fullWidthStripe - segmentedPager.segmentedControl.selectionIndicatorColor = .orange + segmentedPager.segmentedControl.indicator.linePosition = .bottom + segmentedPager.segmentedControl.textColor = .black + segmentedPager.segmentedControl.selectedTextColor = .orange + segmentedPager.segmentedControl.indicator.lineView.backgroundColor = .orange + } + + override func viewSafeAreaInsetsDidChange() { + segmentedPager.parallaxHeader.minimumHeight = view.safeAreaInsets.top } override func didReceiveMemoryWarning() { diff --git a/Example-swift/MXWebViewController.swift b/Examples/Swift/MXWebViewController.swift similarity index 91% rename from Example-swift/MXWebViewController.swift rename to Examples/Swift/MXWebViewController.swift index f74a247a2..a23ca1ed1 100644 --- a/Example-swift/MXWebViewController.swift +++ b/Examples/Swift/MXWebViewController.swift @@ -1,6 +1,6 @@ // MXWebViewController.swift // -// Copyright (c) 2017 Maxime Epain +// Copyright (c) 2019 Maxime Epain // // Permission is hereby granted, free of charge, to any person obtaining a copy // of this software and associated documentation files (the "Software"), to deal @@ -21,16 +21,17 @@ // THE SOFTWARE. import UIKit +import WebKit class MXWebViewController: UIViewController { - @IBOutlet weak var webView: UIWebView! + @IBOutlet weak var webView: WKWebView! override func viewDidLoad() { super.viewDidLoad() let url = URL(string: "http://nshipster.com/")! let request = URLRequest(url: url) - webView.loadRequest(request) + webView.load(request) } } diff --git a/Framework/MXSegmentedPager-umbrella.h b/Framework/MXSegmentedPager-umbrella.h index 8c8dfb276..8507c1e32 100644 --- a/Framework/MXSegmentedPager-umbrella.h +++ b/Framework/MXSegmentedPager-umbrella.h @@ -1,6 +1,6 @@ // MXSegmentedPager.h // -// Copyright (c) 2017 Maxime Epain +// Copyright (c) 2019 Maxime Epain // // Permission is hereby granted, free of charge, to any person obtaining a copy // of this software and associated documentation files (the "Software"), to deal diff --git a/LICENSE b/LICENSE index a69fd8b80..d2c772314 100644 --- a/LICENSE +++ b/LICENSE @@ -1,4 +1,4 @@ -Copyright (c) 2017 Maxime Epain +Copyright (c) 2019 Maxime Epain Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal diff --git a/MXSegmentedPager.podspec b/MXSegmentedPager.podspec index 0f1367aba..917c00807 100644 --- a/MXSegmentedPager.podspec +++ b/MXSegmentedPager.podspec @@ -1,18 +1,9 @@ -# -# Be sure to run `pod lib lint MXSegmentedPager.podspec' to ensure this is a -# valid spec and remove all comments before submitting the spec. -# -# Any lines starting with a # are optional, but encouraged -# -# To learn more about a Podspec see http://guides.cocoapods.org/syntax/podspec.html -# - Pod::Spec.new do |s| s.name = "MXSegmentedPager" - s.version = "3.3.0" + s.version = "4.0.0" s.summary = "Segmented pager view with Parallax header." s.description = <<-DESC - MXSegmentedPager combines [MXPagerView](https://github.com/maxep/MXPagerView) with [HMSegmentedControl](https://github.com/HeshamMegid/HMSegmentedControl) to control the page selection. + MXSegmentedPager combines [MXPagerView](https://github.com/maxep/MXPagerView) with [MXSegmentedControl](https://github.com/maxep/MXSegmentedControl) to control the page selection. The integration of [MXParallaxHeader](https://github.com/maxep/MXParallaxHeader) allows you to add an parallax header on top while keeping a reliable scrolling effect. DESC @@ -22,13 +13,14 @@ Pod::Spec.new do |s| s.source = { :git => "https://github.com/maxep/MXSegmentedPager.git", :tag => s.version.to_s } s.social_media_url = 'https://twitter.com/MaximeEpain' - s.platform = :ios, '7.0' + s.platform = :ios, '10.0' + s.swift_version = '4.2' s.requires_arc = true s.source_files = 'MXSegmentedPager/*.{m,h}' s.public_header_files = ["MXSegmentedPager/*.h"] - s.dependency 'HMSegmentedControl', '1.5.3' - s.dependency 'MXPagerView', '0.2.1' - s.dependency 'MXParallaxHeader', '0.6.1' + s.dependency 'MXSegmentedControl', '~> 1.1' + s.dependency 'MXPagerView', '~> 0.2' + s.dependency 'MXParallaxHeader', '~> 1.0' end diff --git a/MXSegmentedPager.xcodeproj/project.pbxproj b/MXSegmentedPager.xcodeproj/project.pbxproj index 2f18e206a..6776c954a 100644 --- a/MXSegmentedPager.xcodeproj/project.pbxproj +++ b/MXSegmentedPager.xcodeproj/project.pbxproj @@ -12,7 +12,6 @@ 9C1633541DA589C1001FB468 /* MXSegmentedPager.m in Sources */ = {isa = PBXBuildFile; fileRef = 9C1633501DA589C1001FB468 /* MXSegmentedPager.m */; }; 9C1633551DA589C1001FB468 /* MXSegmentedPagerController.h in Headers */ = {isa = PBXBuildFile; fileRef = 9C1633511DA589C1001FB468 /* MXSegmentedPagerController.h */; settings = {ATTRIBUTES = (Public, ); }; }; 9C1633561DA589C1001FB468 /* MXSegmentedPagerController.m in Sources */ = {isa = PBXBuildFile; fileRef = 9C1633521DA589C1001FB468 /* MXSegmentedPagerController.m */; }; - 9C16335B1DA58D25001FB468 /* HMSegmentedControl.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 9C1633581DA58D25001FB468 /* HMSegmentedControl.framework */; }; 9C16335C1DA58D25001FB468 /* MXPagerView.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 9C1633591DA58D25001FB468 /* MXPagerView.framework */; }; 9C16335D1DA58D25001FB468 /* MXParallaxHeader.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 9C16335A1DA58D25001FB468 /* MXParallaxHeader.framework */; }; 9C1633661DA5AC9C001FB468 /* main.m in Sources */ = {isa = PBXBuildFile; fileRef = 9C1633651DA5AC9C001FB468 /* main.m */; }; @@ -30,8 +29,6 @@ 9C1633AD1DA63F0E001FB468 /* MXStoryboardViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = 9C1633A31DA63F0E001FB468 /* MXStoryboardViewController.m */; }; 9C1633AE1DA63F40001FB468 /* MXSegmentedPager.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 9C1632C31DA56C54001FB468 /* MXSegmentedPager.framework */; }; 9C1633AF1DA63F40001FB468 /* MXSegmentedPager.framework in Embed Frameworks */ = {isa = PBXBuildFile; fileRef = 9C1632C31DA56C54001FB468 /* MXSegmentedPager.framework */; settings = {ATTRIBUTES = (CodeSignOnCopy, RemoveHeadersOnCopy, ); }; }; - 9C1633B21DA63F40001FB468 /* HMSegmentedControl.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 9C1633581DA58D25001FB468 /* HMSegmentedControl.framework */; }; - 9C1633B31DA63F40001FB468 /* HMSegmentedControl.framework in Embed Frameworks */ = {isa = PBXBuildFile; fileRef = 9C1633581DA58D25001FB468 /* HMSegmentedControl.framework */; settings = {ATTRIBUTES = (CodeSignOnCopy, RemoveHeadersOnCopy, ); }; }; 9C1633B41DA63F40001FB468 /* MXPagerView.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 9C1633591DA58D25001FB468 /* MXPagerView.framework */; }; 9C1633B51DA63F40001FB468 /* MXPagerView.framework in Embed Frameworks */ = {isa = PBXBuildFile; fileRef = 9C1633591DA58D25001FB468 /* MXPagerView.framework */; settings = {ATTRIBUTES = (CodeSignOnCopy, RemoveHeadersOnCopy, ); }; }; 9C1633B61DA63F40001FB468 /* MXParallaxHeader.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 9C16335A1DA58D25001FB468 /* MXParallaxHeader.framework */; }; @@ -47,12 +44,15 @@ 9C1633DE1DA646B2001FB468 /* MXWebViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 9C1633D71DA646B1001FB468 /* MXWebViewController.swift */; }; 9C1633DF1DA646CA001FB468 /* MXSegmentedPager.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 9C1632C31DA56C54001FB468 /* MXSegmentedPager.framework */; }; 9C1633E01DA646CA001FB468 /* MXSegmentedPager.framework in Embed Frameworks */ = {isa = PBXBuildFile; fileRef = 9C1632C31DA56C54001FB468 /* MXSegmentedPager.framework */; settings = {ATTRIBUTES = (CodeSignOnCopy, RemoveHeadersOnCopy, ); }; }; - 9C1633E31DA646CA001FB468 /* HMSegmentedControl.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 9C1633581DA58D25001FB468 /* HMSegmentedControl.framework */; }; - 9C1633E41DA646CA001FB468 /* HMSegmentedControl.framework in Embed Frameworks */ = {isa = PBXBuildFile; fileRef = 9C1633581DA58D25001FB468 /* HMSegmentedControl.framework */; settings = {ATTRIBUTES = (CodeSignOnCopy, RemoveHeadersOnCopy, ); }; }; 9C1633E51DA646CA001FB468 /* MXPagerView.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 9C1633591DA58D25001FB468 /* MXPagerView.framework */; }; 9C1633E61DA646CA001FB468 /* MXPagerView.framework in Embed Frameworks */ = {isa = PBXBuildFile; fileRef = 9C1633591DA58D25001FB468 /* MXPagerView.framework */; settings = {ATTRIBUTES = (CodeSignOnCopy, RemoveHeadersOnCopy, ); }; }; 9C1633E71DA646CA001FB468 /* MXParallaxHeader.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 9C16335A1DA58D25001FB468 /* MXParallaxHeader.framework */; }; 9C1633E81DA646CA001FB468 /* MXParallaxHeader.framework in Embed Frameworks */ = {isa = PBXBuildFile; fileRef = 9C16335A1DA58D25001FB468 /* MXParallaxHeader.framework */; settings = {ATTRIBUTES = (CodeSignOnCopy, RemoveHeadersOnCopy, ); }; }; + 9C73FA3E22FAFD170021C818 /* WebKit.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 9C73FA3D22FAFD170021C818 /* WebKit.framework */; }; + 9C73FA3F22FAFD200021C818 /* WebKit.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 9C73FA3D22FAFD170021C818 /* WebKit.framework */; }; + 9C7C424F22F9C3A8005E4109 /* MXSegmentedControl.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 9C7C424E22F9C3A8005E4109 /* MXSegmentedControl.framework */; }; + 9C7C425022F9C3B1005E4109 /* MXSegmentedControl.framework in Embed Frameworks */ = {isa = PBXBuildFile; fileRef = 9C7C424E22F9C3A8005E4109 /* MXSegmentedControl.framework */; settings = {ATTRIBUTES = (CodeSignOnCopy, RemoveHeadersOnCopy, ); }; }; + 9C7C425122F9C3B7005E4109 /* MXSegmentedControl.framework in Embed Frameworks */ = {isa = PBXBuildFile; fileRef = 9C7C424E22F9C3A8005E4109 /* MXSegmentedControl.framework */; settings = {ATTRIBUTES = (CodeSignOnCopy, RemoveHeadersOnCopy, ); }; }; /* End PBXBuildFile section */ /* Begin PBXContainerItemProxy section */ @@ -79,7 +79,7 @@ dstPath = ""; dstSubfolderSpec = 10; files = ( - 9C1633B31DA63F40001FB468 /* HMSegmentedControl.framework in Embed Frameworks */, + 9C7C425022F9C3B1005E4109 /* MXSegmentedControl.framework in Embed Frameworks */, 9C1633B71DA63F40001FB468 /* MXParallaxHeader.framework in Embed Frameworks */, 9C1633B51DA63F40001FB468 /* MXPagerView.framework in Embed Frameworks */, 9C1633AF1DA63F40001FB468 /* MXSegmentedPager.framework in Embed Frameworks */, @@ -93,7 +93,7 @@ dstPath = ""; dstSubfolderSpec = 10; files = ( - 9C1633E41DA646CA001FB468 /* HMSegmentedControl.framework in Embed Frameworks */, + 9C7C425122F9C3B7005E4109 /* MXSegmentedControl.framework in Embed Frameworks */, 9C1633E81DA646CA001FB468 /* MXParallaxHeader.framework in Embed Frameworks */, 9C1633E61DA646CA001FB468 /* MXPagerView.framework in Embed Frameworks */, 9C1633E01DA646CA001FB468 /* MXSegmentedPager.framework in Embed Frameworks */, @@ -111,7 +111,6 @@ 9C1633501DA589C1001FB468 /* MXSegmentedPager.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = MXSegmentedPager.m; sourceTree = ""; }; 9C1633511DA589C1001FB468 /* MXSegmentedPagerController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = MXSegmentedPagerController.h; sourceTree = ""; }; 9C1633521DA589C1001FB468 /* MXSegmentedPagerController.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = MXSegmentedPagerController.m; sourceTree = ""; }; - 9C1633581DA58D25001FB468 /* HMSegmentedControl.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = HMSegmentedControl.framework; path = Carthage/Build/iOS/HMSegmentedControl.framework; sourceTree = ""; }; 9C1633591DA58D25001FB468 /* MXPagerView.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = MXPagerView.framework; path = Carthage/Build/iOS/MXPagerView.framework; sourceTree = ""; }; 9C16335A1DA58D25001FB468 /* MXParallaxHeader.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = MXParallaxHeader.framework; path = Carthage/Build/iOS/MXParallaxHeader.framework; sourceTree = ""; }; 9C1633621DA5AC9C001FB468 /* MXSegmentedPager-objc.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = "MXSegmentedPager-objc.app"; sourceTree = BUILT_PRODUCTS_DIR; }; @@ -147,6 +146,8 @@ 9C1633D51DA646B1001FB468 /* MXTextViewController.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = MXTextViewController.swift; sourceTree = ""; }; 9C1633D61DA646B1001FB468 /* MXViewController.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = MXViewController.swift; sourceTree = ""; }; 9C1633D71DA646B1001FB468 /* MXWebViewController.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = MXWebViewController.swift; sourceTree = ""; }; + 9C73FA3D22FAFD170021C818 /* WebKit.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = WebKit.framework; path = System/Library/Frameworks/WebKit.framework; sourceTree = SDKROOT; }; + 9C7C424E22F9C3A8005E4109 /* MXSegmentedControl.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = MXSegmentedControl.framework; path = Carthage/Build/iOS/MXSegmentedControl.framework; sourceTree = ""; }; 9CCDC69B1DA6546E0024337A /* Cartfile */ = {isa = PBXFileReference; lastKnownFileType = text; path = Cartfile; sourceTree = ""; }; 9CCDC69C1DA6546E0024337A /* LICENSE */ = {isa = PBXFileReference; lastKnownFileType = text; path = LICENSE; sourceTree = ""; }; 9CCDC69D1DA6546E0024337A /* MXSegmentedPager.podspec */ = {isa = PBXFileReference; lastKnownFileType = text; path = MXSegmentedPager.podspec; sourceTree = ""; }; @@ -159,7 +160,7 @@ isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; files = ( - 9C16335B1DA58D25001FB468 /* HMSegmentedControl.framework in Frameworks */, + 9C7C424F22F9C3A8005E4109 /* MXSegmentedControl.framework in Frameworks */, 9C16335C1DA58D25001FB468 /* MXPagerView.framework in Frameworks */, 9C16335D1DA58D25001FB468 /* MXParallaxHeader.framework in Frameworks */, ); @@ -169,7 +170,7 @@ isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; files = ( - 9C1633B21DA63F40001FB468 /* HMSegmentedControl.framework in Frameworks */, + 9C73FA3F22FAFD200021C818 /* WebKit.framework in Frameworks */, 9C1633B61DA63F40001FB468 /* MXParallaxHeader.framework in Frameworks */, 9C1633B41DA63F40001FB468 /* MXPagerView.framework in Frameworks */, 9C1633AE1DA63F40001FB468 /* MXSegmentedPager.framework in Frameworks */, @@ -180,7 +181,7 @@ isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; files = ( - 9C1633E31DA646CA001FB468 /* HMSegmentedControl.framework in Frameworks */, + 9C73FA3E22FAFD170021C818 /* WebKit.framework in Frameworks */, 9C1633E71DA646CA001FB468 /* MXParallaxHeader.framework in Frameworks */, 9C1633E51DA646CA001FB468 /* MXPagerView.framework in Frameworks */, 9C1633DF1DA646CA001FB468 /* MXSegmentedPager.framework in Frameworks */, @@ -196,8 +197,7 @@ 9CCDC69A1DA654530024337A /* Metadata */, 9C16334E1DA589C1001FB468 /* MXSegmentedPager */, 9C1633481DA5898C001FB468 /* Framework */, - 9C1633631DA5AC9C001FB468 /* Example-objc */, - 9C1633C01DA64676001FB468 /* Example-swift */, + 9C73FA3C22FAFB4A0021C818 /* Examples */, 9C1632C41DA56C54001FB468 /* Products */, 9C1633571DA58D25001FB468 /* Frameworks */, ); @@ -236,14 +236,15 @@ 9C1633571DA58D25001FB468 /* Frameworks */ = { isa = PBXGroup; children = ( - 9C1633581DA58D25001FB468 /* HMSegmentedControl.framework */, + 9C73FA3D22FAFD170021C818 /* WebKit.framework */, + 9C7C424E22F9C3A8005E4109 /* MXSegmentedControl.framework */, 9C1633591DA58D25001FB468 /* MXPagerView.framework */, 9C16335A1DA58D25001FB468 /* MXParallaxHeader.framework */, ); name = Frameworks; sourceTree = ""; }; - 9C1633631DA5AC9C001FB468 /* Example-objc */ = { + 9C1633631DA5AC9C001FB468 /* objc */ = { isa = PBXGroup; children = ( 9C1633901DA63F0E001FB468 /* MXAppDelegate.h */, @@ -260,7 +261,8 @@ 9C1633751DA5AC9C001FB468 /* Info.plist */, 9C1633641DA5AC9C001FB468 /* Supporting Files */, ); - path = "Example-objc"; + name = objc; + path = "Objective-C"; sourceTree = ""; }; 9C1633641DA5AC9C001FB468 /* Supporting Files */ = { @@ -303,7 +305,7 @@ path = Storyboard; sourceTree = ""; }; - 9C1633C01DA64676001FB468 /* Example-swift */ = { + 9C1633C01DA64676001FB468 /* swift */ = { isa = PBXGroup; children = ( 9C1633D21DA646B1001FB468 /* MXAppDelegate.swift */, @@ -317,7 +319,17 @@ 9C1633CA1DA64676001FB468 /* LaunchScreen.storyboard */, 9C1633CD1DA64676001FB468 /* Info.plist */, ); - path = "Example-swift"; + name = swift; + path = Swift; + sourceTree = ""; + }; + 9C73FA3C22FAFB4A0021C818 /* Examples */ = { + isa = PBXGroup; + children = ( + 9C1633631DA5AC9C001FB468 /* objc */, + 9C1633C01DA64676001FB468 /* swift */, + ); + path = Examples; sourceTree = ""; }; 9CCDC69A1DA654530024337A /* Metadata */ = { @@ -411,7 +423,7 @@ isa = PBXProject; attributes = { LastSwiftUpdateCheck = 0800; - LastUpgradeCheck = 0820; + LastUpgradeCheck = 1030; ORGANIZATIONNAME = maxep; TargetAttributes = { 9C1632C21DA56C54001FB468 = { @@ -435,7 +447,7 @@ }; buildConfigurationList = 9C1632BD1DA56C54001FB468 /* Build configuration list for PBXProject "MXSegmentedPager" */; compatibilityVersion = "Xcode 3.2"; - developmentRegion = English; + developmentRegion = en; hasScannedForEncodings = 0; knownRegions = ( en, @@ -578,20 +590,29 @@ isa = XCBuildConfiguration; buildSettings = { ALWAYS_SEARCH_USER_PATHS = NO; + CLANG_ANALYZER_LOCALIZABILITY_NONLOCALIZED = YES; CLANG_ANALYZER_NONNULL = YES; CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x"; CLANG_CXX_LIBRARY = "libc++"; CLANG_ENABLE_MODULES = YES; CLANG_ENABLE_OBJC_ARC = YES; + CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES; CLANG_WARN_BOOL_CONVERSION = YES; + CLANG_WARN_COMMA = YES; CLANG_WARN_CONSTANT_CONVERSION = YES; + CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS = YES; CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR; CLANG_WARN_DOCUMENTATION_COMMENTS = YES; CLANG_WARN_EMPTY_BODY = YES; CLANG_WARN_ENUM_CONVERSION = YES; CLANG_WARN_INFINITE_RECURSION = YES; CLANG_WARN_INT_CONVERSION = YES; + CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES; + CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF = YES; + CLANG_WARN_OBJC_LITERAL_CONVERSION = YES; CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR; + CLANG_WARN_RANGE_LOOP_ANALYSIS = YES; + CLANG_WARN_STRICT_PROTOTYPES = YES; CLANG_WARN_SUSPICIOUS_MOVE = YES; CLANG_WARN_SUSPICIOUS_MOVES = YES; CLANG_WARN_UNREACHABLE_CODE = YES; @@ -620,6 +641,7 @@ MTL_ENABLE_DEBUG_INFO = YES; ONLY_ACTIVE_ARCH = YES; SDKROOT = iphoneos; + SWIFT_VERSION = 4.2; TARGETED_DEVICE_FAMILY = "1,2"; VERSIONING_SYSTEM = "apple-generic"; VERSION_INFO_PREFIX = ""; @@ -630,20 +652,29 @@ isa = XCBuildConfiguration; buildSettings = { ALWAYS_SEARCH_USER_PATHS = NO; + CLANG_ANALYZER_LOCALIZABILITY_NONLOCALIZED = YES; CLANG_ANALYZER_NONNULL = YES; CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x"; CLANG_CXX_LIBRARY = "libc++"; CLANG_ENABLE_MODULES = YES; CLANG_ENABLE_OBJC_ARC = YES; + CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES; CLANG_WARN_BOOL_CONVERSION = YES; + CLANG_WARN_COMMA = YES; CLANG_WARN_CONSTANT_CONVERSION = YES; + CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS = YES; CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR; CLANG_WARN_DOCUMENTATION_COMMENTS = YES; CLANG_WARN_EMPTY_BODY = YES; CLANG_WARN_ENUM_CONVERSION = YES; CLANG_WARN_INFINITE_RECURSION = YES; CLANG_WARN_INT_CONVERSION = YES; + CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES; + CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF = YES; + CLANG_WARN_OBJC_LITERAL_CONVERSION = YES; CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR; + CLANG_WARN_RANGE_LOOP_ANALYSIS = YES; + CLANG_WARN_STRICT_PROTOTYPES = YES; CLANG_WARN_SUSPICIOUS_MOVE = YES; CLANG_WARN_SUSPICIOUS_MOVES = YES; CLANG_WARN_UNREACHABLE_CODE = YES; @@ -666,6 +697,7 @@ MTL_ENABLE_DEBUG_INFO = NO; SDKROOT = iphoneos; SWIFT_OPTIMIZATION_LEVEL = "-Owholemodule"; + SWIFT_VERSION = 4.2; TARGETED_DEVICE_FAMILY = "1,2"; VALIDATE_PRODUCT = YES; VERSIONING_SYSTEM = "apple-generic"; @@ -695,7 +727,6 @@ PRODUCT_NAME = "$(TARGET_NAME)"; SKIP_INSTALL = YES; SWIFT_OPTIMIZATION_LEVEL = "-Onone"; - SWIFT_VERSION = 3.0; }; name = Debug; }; @@ -720,7 +751,6 @@ PRODUCT_BUNDLE_IDENTIFIER = fr.maxep.MXSegmentedPager; PRODUCT_NAME = "$(TARGET_NAME)"; SKIP_INSTALL = YES; - SWIFT_VERSION = 3.0; }; name = Release; }; @@ -734,13 +764,13 @@ "$(inherited)", "$(PROJECT_DIR)/Carthage/Build/iOS", ); - INFOPLIST_FILE = "$(SRCROOT)/Example-objc/Info.plist"; + INFOPLIST_FILE = "$(SRCROOT)/Examples/Objective-C/Info.plist"; + IPHONEOS_DEPLOYMENT_TARGET = 11.0; LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks"; PRODUCT_BUNDLE_IDENTIFIER = "fr.maxep.MXSegmentedPager-objc"; PRODUCT_NAME = "$(TARGET_NAME)"; SWIFT_OBJC_BRIDGING_HEADER = ""; SWIFT_OPTIMIZATION_LEVEL = "-Onone"; - SWIFT_VERSION = 3.0; }; name = Debug; }; @@ -754,12 +784,12 @@ "$(inherited)", "$(PROJECT_DIR)/Carthage/Build/iOS", ); - INFOPLIST_FILE = "$(SRCROOT)/Example-objc/Info.plist"; + INFOPLIST_FILE = "$(SRCROOT)/Examples/Objective-C/Info.plist"; + IPHONEOS_DEPLOYMENT_TARGET = 11.0; LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks"; PRODUCT_BUNDLE_IDENTIFIER = "fr.maxep.MXSegmentedPager-objc"; PRODUCT_NAME = "$(TARGET_NAME)"; SWIFT_OBJC_BRIDGING_HEADER = ""; - SWIFT_VERSION = 3.0; }; name = Release; }; @@ -772,13 +802,13 @@ "$(inherited)", "$(PROJECT_DIR)/Carthage/Build/iOS", ); - INFOPLIST_FILE = "$(SRCROOT)/Example-swift/Info.plist"; + INFOPLIST_FILE = "$(SRCROOT)/Examples/Swift/Info.plist"; + IPHONEOS_DEPLOYMENT_TARGET = 11.0; LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks"; PRODUCT_BUNDLE_IDENTIFIER = "fr.maxep.MXSegmentedPager-swift"; PRODUCT_NAME = "$(TARGET_NAME)"; SWIFT_ACTIVE_COMPILATION_CONDITIONS = DEBUG; SWIFT_OPTIMIZATION_LEVEL = "-Onone"; - SWIFT_VERSION = 3.0; }; name = Debug; }; @@ -791,12 +821,12 @@ "$(inherited)", "$(PROJECT_DIR)/Carthage/Build/iOS", ); - INFOPLIST_FILE = "$(SRCROOT)/Example-swift/Info.plist"; + INFOPLIST_FILE = "$(SRCROOT)/Examples/Swift/Info.plist"; + IPHONEOS_DEPLOYMENT_TARGET = 11.0; LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks"; PRODUCT_BUNDLE_IDENTIFIER = "fr.maxep.MXSegmentedPager-swift"; PRODUCT_NAME = "$(TARGET_NAME)"; SWIFT_OPTIMIZATION_LEVEL = "-Owholemodule"; - SWIFT_VERSION = 3.0; }; name = Release; }; diff --git a/MXSegmentedPager.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist b/MXSegmentedPager.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist new file mode 100644 index 000000000..18d981003 --- /dev/null +++ b/MXSegmentedPager.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist @@ -0,0 +1,8 @@ + + + + + IDEDidComputeMac32BitWarning + + + diff --git a/MXSegmentedPager.xcodeproj/xcshareddata/xcschemes/MXSegmentedPager.xcscheme b/MXSegmentedPager.xcodeproj/xcshareddata/xcschemes/MXSegmentedPager.xcscheme index c09e02651..6aa6ec998 100644 --- a/MXSegmentedPager.xcodeproj/xcshareddata/xcschemes/MXSegmentedPager.xcscheme +++ b/MXSegmentedPager.xcodeproj/xcshareddata/xcschemes/MXSegmentedPager.xcscheme @@ -1,6 +1,6 @@ -#import -#import -#import +@import UIKit; +@import MXSegmentedControl; +@import MXParallaxHeader; +@import MXPagerView; NS_ASSUME_NONNULL_BEGIN @@ -38,7 +38,7 @@ typedef NS_ENUM(NSInteger, MXSegmentedControlPosition) { /** Top Over position. */ MXSegmentedControlPositionTopOver -}; +} NS_SWIFT_NAME(ControlPosition); @class MXSegmentedPager; @@ -70,7 +70,7 @@ typedef NS_ENUM(NSInteger, MXSegmentedControlPosition) { @param segmentedPager A segmented-pager object informing the delegate about the impending selection. @param index The selected page index. */ -- (void)segmentedPager:(MXSegmentedPager *)segmentedPager didSelectViewWithIndex:(NSInteger)index; +- (void)segmentedPager:(MXSegmentedPager *)segmentedPager didSelectViewAtIndex:(NSInteger)index; /** Tells the delegate the segmented pager is about to draw a page for a particular index. @@ -126,7 +126,7 @@ typedef NS_ENUM(NSInteger, MXSegmentedControlPosition) { @return YES to permit scrolling to the top of the content, NO to disallow it. */ -- (BOOL)segmentedPagerShouldScrollToTop:(MXSegmentedPager *)segmentedPager; +- (BOOL)segmentedPagerShouldScrollToTop:(MXSegmentedPager *)segmentedPager NS_SWIFT_NAME(segmentedPagerShouldScrollToTop(_:)); @end @@ -218,9 +218,9 @@ typedef NS_ENUM(NSInteger, MXSegmentedControlPosition) { @property (nonatomic, weak) IBOutlet id dataSource; /** - The segmented control. cf. [HMSegmentedControl](http://cocoadocs.org/docsets/HMSegmentedControl/1.5/) for customazation. + The segmented control. cf. [MXSegmentedControl](https://github.com/maxep/MXSegmentedControl) for customazation. */ -@property (nonatomic, readonly) HMSegmentedControl *segmentedControl; +@property (nonatomic, readonly) MXSegmentedControl *segmentedControl; /** The segmented control position option. @@ -247,6 +247,14 @@ typedef NS_ENUM(NSInteger, MXSegmentedControlPosition) { */ - (void)scrollToTopAnimated:(BOOL)animated; +/** + Shows through the pager until a page identified by index is at a particular location on the screen. + + @param index An index that identifies a page. + @param animated YES if you want to animate the change in position; NO if it should be immediate. Animated parameter has no effect on pager with MXPagerViewBehaviorTab. + */ +- (void)showPageAtIndex:(NSInteger)index animated:(BOOL)animated; + @end /** diff --git a/MXSegmentedPager/MXSegmentedPager.m b/MXSegmentedPager/MXSegmentedPager.m index a946ec3eb..77ff71bd1 100644 --- a/MXSegmentedPager/MXSegmentedPager.m +++ b/MXSegmentedPager/MXSegmentedPager.m @@ -1,6 +1,6 @@ // MXSegmentedPager.m // -// Copyright (c) 2017 Maxime Epain +// Copyright (c) 2019 Maxime Epain // // Permission is hereby granted, free of charge, to any person obtaining a copy // of this software and associated documentation files (the "Software"), to deal @@ -26,7 +26,7 @@ @interface MXSegmentedPager () @property (nonatomic, strong) MXScrollView *contentView; -@property (nonatomic, strong) HMSegmentedControl *segmentedControl; +@property (nonatomic, strong) MXSegmentedControl *segmentedControl; @property (nonatomic, strong) MXPagerView *pager; @end @@ -47,37 +47,32 @@ - (void)reloadData { _controlHeight = [self.delegate heightForSegmentedControlInSegmentedPager:self]; } - //Gets new data - NSMutableArray *images = [NSMutableArray arrayWithCapacity:_count]; - NSMutableArray *selectedImages = [NSMutableArray arrayWithCapacity:_count]; - NSMutableArray *titles = [NSMutableArray arrayWithCapacity:_count]; - for (NSInteger index = 0; index < _count; index++) { - - titles[index] = [NSString stringWithFormat:@"Page %ld", (long)index]; - if ([self.dataSource respondsToSelector:@selector(segmentedPager:titleForSectionAtIndex:)]) { - titles[index] = [self.dataSource segmentedPager:self titleForSectionAtIndex:index]; + + MXSegment *segment = [self.segmentedControl newSegment]; + + if ([self.dataSource respondsToSelector:@selector(segmentedPager:attributedTitleForSectionAtIndex:)]) { + NSAttributedString *title = [self.dataSource segmentedPager:self attributedTitleForSectionAtIndex:index]; + [segment setAttributedTitle:title forState:UIControlStateNormal]; + } else if ([self.dataSource respondsToSelector:@selector(segmentedPager:titleForSectionAtIndex:)]) { + NSString *title = [self.dataSource segmentedPager:self titleForSectionAtIndex:index]; + [segment setTitle:title forState:UIControlStateNormal]; + } else { + NSString *title = [NSString stringWithFormat:@"Page %ld", (long)index]; + [segment setTitle:title forState:UIControlStateNormal]; } if ([self.dataSource respondsToSelector:@selector(segmentedPager:imageForSectionAtIndex:)]) { - images[index] = [self.dataSource segmentedPager:self imageForSectionAtIndex:index]; + UIImage *image = [self.dataSource segmentedPager:self imageForSectionAtIndex:index]; + [segment setImage:image forState:UIControlStateNormal]; } if ([self.dataSource respondsToSelector:@selector(segmentedPager:selectedImageForSectionAtIndex:)]) { - selectedImages[index] = [self.dataSource segmentedPager:self selectedImageForSectionAtIndex:index]; + UIImage *image = [self.dataSource segmentedPager:self selectedImageForSectionAtIndex:index]; + [segment setImage:image forState:UIControlStateSelected]; } } - - if ([self.dataSource respondsToSelector:@selector(segmentedPager:attributedTitleForSectionAtIndex:)]) { - __weak typeof(self) segmentedPager = self; - self.segmentedControl.titleFormatter = ^NSAttributedString *(HMSegmentedControl *segmentedControl, NSString *title, NSUInteger index, BOOL selected) { - return [segmentedPager.dataSource segmentedPager:segmentedPager attributedTitleForSectionAtIndex:index]; - }; - } - - self.segmentedControl.sectionImages = images; - self.segmentedControl.sectionSelectedImages = selectedImages; - self.segmentedControl.sectionTitles = titles; + [self.segmentedControl setNeedsDisplay]; [self.pager reloadData]; @@ -88,6 +83,11 @@ - (void)scrollToTopAnimated:(BOOL)animated { animated:animated]; } +- (void)showPageAtIndex:(NSInteger)index animated:(BOOL)animated { + [self.pager showPageAtIndex:index animated:animated]; + [self.segmentedControl selectWithIndex:index animated:animated]; +} + #pragma mark Layout - (void)layoutSubviews { @@ -121,6 +121,7 @@ - (void)layoutSegmentedControl { frame.origin.y = frame.size.height; frame.origin.y -= _controlHeight; frame.origin.y -= self.segmentedControlEdgeInsets.bottom; + if (@available(iOS 11.0, *)) frame.origin.y -= self.safeAreaInsets.bottom; } else if(self.segmentedControlPosition == MXSegmentedControlPositionTopOver) { frame.origin.y = -_controlHeight; } else { @@ -149,6 +150,7 @@ - (void)layoutPager { frame.size.height -= _controlHeight; frame.size.height -= self.segmentedControlEdgeInsets.top; frame.size.height -= self.segmentedControlEdgeInsets.bottom; + if (@available(iOS 11.0, *)) frame.size.height -= self.safeAreaInsets.bottom; } frame.size.height -= self.contentView.parallaxHeader.minimumHeight; @@ -169,13 +171,10 @@ - (MXScrollView *)contentView { return _contentView; } -- (HMSegmentedControl *)segmentedControl { +- (MXSegmentedControl *)segmentedControl { if (!_segmentedControl) { - _segmentedControl = [[HMSegmentedControl alloc] init]; - [_segmentedControl addTarget:self - action:@selector(pageControlValueChanged:) - forControlEvents:UIControlEventValueChanged]; - + _segmentedControl = [[MXSegmentedControl alloc] init]; + _segmentedControl.scrollView = self.pager; [self.contentView addSubview:_segmentedControl]; } return _segmentedControl; @@ -191,7 +190,7 @@ - (MXPagerView *)pager { return _pager; } -- (UIView*)selectedPage { +- (UIView *)selectedPage { return self.pager.selectedPage; } @@ -239,23 +238,8 @@ - (BOOL)scrollViewShouldScrollToTop:(UIScrollView *)scrollView { return YES; } -#pragma mark HMSegmentedControl target - -- (void)pageControlValueChanged:(HMSegmentedControl*)segmentedControl { - [self.pager showPageAtIndex:segmentedControl.selectedSegmentIndex animated:YES]; -} - #pragma mark -- (void)pagerView:(MXPagerView *)pagerView willMoveToPage:(UIView *)page atIndex:(NSInteger)index { - [self.segmentedControl setSelectedSegmentIndex:index animated:YES]; -} - -- (void)pagerView:(MXPagerView *)pagerView didMoveToPage:(UIView *)page atIndex:(NSInteger)index { - [self.segmentedControl setSelectedSegmentIndex:index animated:NO]; - [self changedToIndex:index]; -} - - (void)pagerView:(MXPagerView *)pagerView willDisplayPage:(UIView *)page atIndex:(NSInteger)index { if ([self.delegate respondsToSelector:@selector(segmentedPager:willDisplayPage:atIndex:)]) { [self.delegate segmentedPager:self willDisplayPage:page atIndex:index]; @@ -281,12 +265,12 @@ - (UIView *)pagerView:(MXPagerView *)pagerView viewForPageAtIndex:(NSInteger)ind #pragma mark Private methods - (void)changedToIndex:(NSInteger)index { - if ([self.delegate respondsToSelector:@selector(segmentedPager:didSelectViewWithIndex:)]) { - [self.delegate segmentedPager:self didSelectViewWithIndex:index]; + if ([self.delegate respondsToSelector:@selector(segmentedPager:didSelectViewAtIndex:)]) { + [self.delegate segmentedPager:self didSelectViewAtIndex:index]; } - NSString* title = self.segmentedControl.sectionTitles[index]; - UIView* view = self.pager.selectedPage; + NSString *title = [self.segmentedControl segmentAt:index].titleLabel.text; + UIView *view = self.pager.selectedPage; if ([self.delegate respondsToSelector:@selector(segmentedPager:didSelectViewWithTitle:)]) { [self.delegate segmentedPager:self didSelectViewWithTitle:title]; diff --git a/MXSegmentedPager/MXSegmentedPagerController.h b/MXSegmentedPager/MXSegmentedPagerController.h index e69f54920..c45ffa251 100644 --- a/MXSegmentedPager/MXSegmentedPagerController.h +++ b/MXSegmentedPager/MXSegmentedPagerController.h @@ -1,6 +1,6 @@ // MXSegmentedPagerController.h // -// Copyright (c) 2017 Maxime Epain +// Copyright (c) 2019 Maxime Epain // // Permission is hereby granted, free of charge, to any person obtaining a copy // of this software and associated documentation files (the "Software"), to deal @@ -20,8 +20,9 @@ // OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN // THE SOFTWARE. -#import -#import +@import UIKit; +@import MXPagerView; + #import "MXSegmentedPager.h" NS_ASSUME_NONNULL_BEGIN diff --git a/MXSegmentedPager/MXSegmentedPagerController.m b/MXSegmentedPager/MXSegmentedPagerController.m index c76ee330f..585f54438 100644 --- a/MXSegmentedPager/MXSegmentedPagerController.m +++ b/MXSegmentedPager/MXSegmentedPagerController.m @@ -1,6 +1,6 @@ // MXSegmentedPagerController.m // -// Copyright (c) 2017 Maxime Epain +// Copyright (c) 2019 Maxime Epain // // Permission is hereby granted, free of charge, to any person obtaining a copy // of this software and associated documentation files (the "Software"), to deal diff --git a/README.md b/README.md index 6903a5440..eca92b17a 100644 --- a/README.md +++ b/README.md @@ -7,24 +7,51 @@ [![Platform](https://img.shields.io/cocoapods/p/MXSegmentedPager.svg?style=flat)](http://cocoadocs.org/docsets/MXSegmentedPager) [![Dependency Status](https://www.versioneye.com/objective-c/mxsegmentedpager/1.0/badge.svg)](https://www.versioneye.com/objective-c/mxsegmentedpager) -MXSegmentedPager combines [MXPagerView](https://github.com/maxep/MXPagerView) with [HMSegmentedControl](https://github.com/HeshamMegid/HMSegmentedControl) to control the page selection. The integration of [MXParallaxHeader](https://github.com/maxep/MXParallaxHeader) allows you to add an parallax header on top while keeping a reliable scrolling effect. +MXSegmentedPager combines [MXPagerView](https://github.com/maxep/MXPagerView) with [MXSegmentedControl](https://github.com/maxep/MXSegmentedControl) to control the page selection. The integration of [MXParallaxHeader](https://github.com/maxep/MXParallaxHeader) allows you to add a parallax header on top while keeping a reliable scrolling effect. | Simple view | Parallax view | |-------------------------------|---------------------------------| -|![Demo](Example-objc/SimpleView.gif)|![Demo](Example-objc/ParallaxView.gif)| +|![Demo](Examples/Simple.gif)|![Demo](Examples/Parallax.gif)| ## Highlight -+ [HMSegmentedControl](https://github.com/HeshamMegid/HMSegmentedControl) is a very customizable control. ++ [MXSegmentedControl](https://github.com/maxep/MXSegmentedControl) is a very customizable control. + [MXParallaxHeader](https://github.com/maxep/MXParallaxHeader) supports any kind of view with different modes. + [MXPagerView](https://github.com/maxep/MXPagerView) lazily loads pages and supports reusable page registration. + Reliable vertical scroll with any view hierarchy. -+ Can load view-controller from storyboard using a custom segue. ++ Can load view-controller from storyboard using custom segues. + Fully documented. ## Usage -+ MXSegmentedPager calls data source methods to load pages. +### MXSegmentedPager calls data source methods to load pages. + +
+Swift + +```swift +// Asks the data source to return the number of pages in the segmented pager. +func numberOfPages(in segmentedPager: MXSegmentedPager) -> Int { + return 10 +} + +// Asks the data source for a title realted to a particular page of the segmented pager. +func segmentedPager(_ segmentedPager: MXSegmentedPager, titleForSectionAt index: Int) -> String { + return "Page \(index)" +} + +// Asks the data source for a view to insert in a particular page of the pager. +func segmentedPager(_ segmentedPager: MXSegmentedPager, viewForPageAt index: Int) -> UIView { + let label = UILabel() + label.text = "Page \(index)" + label.textAlignment = .center + return label; +} +``` +
+ +
+Objective-C ```objective-c #pragma mark @@ -49,8 +76,28 @@ MXSegmentedPager combines [MXPagerView](https://github.com/maxep/MXPagerView) wi return label; } ``` +
+ +### Adding a parallax header to a MXSegmentedPager is straightforward, e.g: + +
+Swift + +```swift +let headerView = UIImageView() +headerView.image = UIImage(named: "success-baby") +headerView.contentMode = .scaleAspectFit + +let segmentedPager = MXSegmentedPager() +segmentedPager.parallaxHeader.view = headerView +segmentedPager.parallaxHeader.height = 150 +segmentedPager.parallaxHeader.mode = .fill +segmentedPager.parallaxHeader.minimumHeight = 20 +``` +
-+ Adding a parallax header to a MXSegmentedPager is straightforward, e.g: +
+Objective-C ```objective-c UIImageView *headerView = [UIImageView new]; @@ -63,6 +110,9 @@ segmentedPager.parallaxHeader.height = 150; segmentedPager.parallaxHeader.mode = MXParallaxHeaderModeFill; segmentedPager.parallaxHeader.minimumHeight = 20; ``` +
+ + ## Examples @@ -76,7 +126,7 @@ Or clone the repo and run `pod install` from the Example directory first. + See MXParallaxViewController to implement a pager with a parallax header. + See MXExampleViewController for a MXSegmentedPagerController subclass example. -This repo also provides a **Swift** example project, see [Example-Swift](Example-Swift). +This repo also provides a **Swift** example project, see [Examples/Swift](Examples/Swift). ## Installation