Repository files navigation

XLPagerTabStrip

By XMARTLABS.

licenseversion

Android PagerTabStrip for iOS!

XLPagerTabStrip is a Container View Controller that allows us to switch easily among a collection of view controllers. Pan gesture can be used to move on to next or previous view controller. It shows a interactive indicator of the current, previous, next child view controllers.

Screenshot of native Calendar Event Example

XLPagerTabStrip was originally inspired by Tell market app.

Purpose

XLPagerTabStrip helps us deal with view controllers that have the same relevance for the user like Android PagerTabStrip and PageView do. Since you're able to navigate between a large amount of view controllers, XLPagerTabStrip is an scalable and nice solution for this problem.

How to use it

Integrate XLPagerTabStrip is as easy as following these steps:

  1. Create a UIViewController class that should extend from either XLSegmentedPagerTabStripViewController, XLBarPagerTabStripViewController, XLButtonBarPagerTabStripViewController, XLTwitterPagerTabStripViewController.

  2. The recently created concrete view controller should conform to XLPagerTabStripViewControllerDataSource implementing: -(NSArray *)childViewControllersForPagerTabStripViewController:(XLPagerTabStripViewController *)pagerTabStripViewController;

  3. (Recomended) Set up your view controllers using a nib file or a Storyboard. We need to connect some IBOutlets (take a look at the Demo folder).

  4. Enjoy!

For further details take a look at the Demo folder to see the code of examples shown above.

FAQ

#####How to change the visible child view controller programmatically

XLPagerTabStripViewController provides the following methods to programmatically change the visible child view controller:

-(void)moveToViewControllerAtIndex:(NSUInteger)index;
-(void)moveToViewControllerAtIndex:(NSUInteger)index animated:(BOOL)animated;
-(void)moveToViewController:(UIViewController *)viewController;
-(void)moveToViewController:(UIViewController *)viewController animated:(BOOL)animated;

#####How to change the selected tab (XLButtonBarViewCell) look and feel based on the selected state

XLButtonBarPagerTabStripViewController provides a flexible way to customize the look and feel of a XLButtonBarViewCell based on the selected state by using blocks. These blocks will be called each time the current cell index changes its value.

@property (copy) void (^changeCurrentIndexProgressiveBlock)(XLButtonBarViewCell* oldCell, XLButtonBarViewCell *newCell, CGFloat progressPercentage, BOOL indexWasChanged, BOOL animated);
@property (copy) void (^changeCurrentIndexBlock)(XLButtonBarViewCell* oldCell, XLButtonBarViewCell *newCell, BOOL animated);

Since the collection cell (tab) is passed as a parameter you have full control on the look and fell change and animation.

Installation

The easiest way to use XLPagerTabStrip in your app is via CocoaPods.

  1. Add the following line in the project's Podfile file: pod 'XLPagerTabStrip', '~> 2.0'.
  2. Run the command pod install from the Podfile folder directory.

Customization

The most interesting customizable features are:

  • Ability to skip intermediate view controllers when tapped on a "tab".
  • Indicators can be added at any position of the screen through storyboard layouts.
  • Choose between progressive, non-progressive indicators.
  • Add space padding between view controllers.

Requirements

  • ARC
  • iOS 7.0 and above

Release Notes

Version 2.0.0

  • Added ability to change look and feel of selected tab.
  • changeCurrentIndexProgressiveBlock added to XLButtonBarPagerTabStripViewController.
  • changeCurrentIndexBlock added to XLButtonBarPagerTabStripViewController.
  • indxWasChanged parameter was added to -(void)pagerTabStripViewController:(XLPagerTabStripViewController *)pagerTabStripViewController updateIndicatorFromIndex:(NSInteger)fromIndex toIndex:(NSInteger)toIndex withProgressPercentage:(CGFloat)progressPercentage indexWasChanged:(BOOL)indexWasChanged;
  • Bug Fix Issue #45: When the current tab is tapped by the user, and later swiping to another tab, the indicator now changes as expected.
  • Bug Fix: When scrolling between tabs with progressive indicator, the indicator now scrolls swiftly. It used to jump for an instant.
  • Bug Fix Issue #54: Twitter PagerTabStrip wasn't loading the navigation title correctly.
  • Bug Fix Issue #32: Demo for Nav Button Bar Example fix.
  • Bug Fix Issue #32: Twitter Pager white dots that mark which tab is currently selected is non selectable now.
  • Bug Fix Issue #22: moveToViewControllerAtIndex: in viewDidLoad or viewWillAppear is not reflected in buttonBarView.

Version 1.1.1

  • Nav Button example added
  • Support for iOS 7.0 and above

Version 1.1.0

  • Twitter pager added
  • Bug fixes and stability improvements

Version 1.0.0

  • Initial release

Author

Martin Barreto (@mtnBarreto)

Contributors

Contact

Any suggestion or question? Please create a Github issue or reach us out.

xmartlabs.com. @xmartlabs

About

Android PagerTabStrip for iOS.

Resources

Stars

0 stars

Watchers

1 watching

Forks

Releases

Packages

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Add copy buttons to all
 blocks\n(function() {\n function addCopyButtons() {\n document.querySelectorAll('pre code').forEach(function(codeBlock) {\n if (codeBlock.parentElement.hasAttribute('data-copy-added')) return;\n codeBlock.parentElement.setAttribute('data-copy-added', 'true');\n \n var btn = document.createElement('button');\n btn.textContent = 'Copy';\n btn.style.cssText = 'position:absolute;top:4px;right:4px;padding:2px 8px;font-size:11px;background:#4ecdc4;border:none;border-radius:4px;color:#1a1a2e;cursor:pointer;opacity:0.7;transition:opacity 0.2s;';\n btn.onmouseover = function() { this.style.opacity = '1'; };\n btn.onmouseout = function() { this.style.opacity = '0.7'; };\n btn.onclick = function() {\n navigator.clipboard.writeText(codeBlock.textContent).then(function() {\n btn.textContent = 'Copied!';\n setTimeout(function() { btn.textContent = 'Copy'; }, 1500);\n });\n };\n codeBlock.parentElement.style.position = 'relative';\n codeBlock.parentElement.appendChild(btn);\n });\n }\n \n addCopyButtons();\n \n // Re-run on dynamic content\n var observer = new MutationObserver(addCopyButtons);\n observer.observe(document.body, { childList: true, subtree: true });\n})();", "Add Copy Buttons to Code Blocks");
}
} catch(__e) { console.warn('[Userscript:Add Copy Buttons to Code Blocks]', __e); }
})();
(function(){
try {
var __m = "github.com";
var __re = new RegExp('^' + "github\\.com" + '
Skip to content

Repository files navigation

XLPagerTabStrip

By XMARTLABS.

licenseversion

Android PagerTabStrip for iOS!

XLPagerTabStrip is a Container View Controller that allows us to switch easily among a collection of view controllers. Pan gesture can be used to move on to next or previous view controller. It shows a interactive indicator of the current, previous, next child view controllers.

Screenshot of native Calendar Event Example

XLPagerTabStrip was originally inspired by Tell market app.

Purpose

XLPagerTabStrip helps us deal with view controllers that have the same relevance for the user like Android PagerTabStrip and PageView do. Since you're able to navigate between a large amount of view controllers, XLPagerTabStrip is an scalable and nice solution for this problem.

How to use it

Integrate XLPagerTabStrip is as easy as following these steps:

  1. Create a UIViewController class that should extend from either XLSegmentedPagerTabStripViewController, XLBarPagerTabStripViewController, XLButtonBarPagerTabStripViewController, XLTwitterPagerTabStripViewController.

  2. The recently created concrete view controller should conform to XLPagerTabStripViewControllerDataSource implementing: -(NSArray *)childViewControllersForPagerTabStripViewController:(XLPagerTabStripViewController *)pagerTabStripViewController;

  3. (Recomended) Set up your view controllers using a nib file or a Storyboard. We need to connect some IBOutlets (take a look at the Demo folder).

  4. Enjoy!

For further details take a look at the Demo folder to see the code of examples shown above.

FAQ

#####How to change the visible child view controller programmatically

XLPagerTabStripViewController provides the following methods to programmatically change the visible child view controller:

-(void)moveToViewControllerAtIndex:(NSUInteger)index;
-(void)moveToViewControllerAtIndex:(NSUInteger)index animated:(BOOL)animated;
-(void)moveToViewController:(UIViewController *)viewController;
-(void)moveToViewController:(UIViewController *)viewController animated:(BOOL)animated;

#####How to change the selected tab (XLButtonBarViewCell) look and feel based on the selected state

XLButtonBarPagerTabStripViewController provides a flexible way to customize the look and feel of a XLButtonBarViewCell based on the selected state by using blocks. These blocks will be called each time the current cell index changes its value.

@property (copy) void (^changeCurrentIndexProgressiveBlock)(XLButtonBarViewCell* oldCell, XLButtonBarViewCell *newCell, CGFloat progressPercentage, BOOL indexWasChanged, BOOL animated);
@property (copy) void (^changeCurrentIndexBlock)(XLButtonBarViewCell* oldCell, XLButtonBarViewCell *newCell, BOOL animated);

Since the collection cell (tab) is passed as a parameter you have full control on the look and fell change and animation.

Installation

The easiest way to use XLPagerTabStrip in your app is via CocoaPods.

  1. Add the following line in the project's Podfile file: pod 'XLPagerTabStrip', '~> 2.0'.
  2. Run the command pod install from the Podfile folder directory.

Customization

The most interesting customizable features are:

  • Ability to skip intermediate view controllers when tapped on a "tab".
  • Indicators can be added at any position of the screen through storyboard layouts.
  • Choose between progressive, non-progressive indicators.
  • Add space padding between view controllers.

Requirements

  • ARC
  • iOS 7.0 and above

Release Notes

Version 2.0.0

  • Added ability to change look and feel of selected tab.
  • changeCurrentIndexProgressiveBlock added to XLButtonBarPagerTabStripViewController.
  • changeCurrentIndexBlock added to XLButtonBarPagerTabStripViewController.
  • indxWasChanged parameter was added to -(void)pagerTabStripViewController:(XLPagerTabStripViewController *)pagerTabStripViewController updateIndicatorFromIndex:(NSInteger)fromIndex toIndex:(NSInteger)toIndex withProgressPercentage:(CGFloat)progressPercentage indexWasChanged:(BOOL)indexWasChanged;
  • Bug Fix Issue #45: When the current tab is tapped by the user, and later swiping to another tab, the indicator now changes as expected.
  • Bug Fix: When scrolling between tabs with progressive indicator, the indicator now scrolls swiftly. It used to jump for an instant.
  • Bug Fix Issue #54: Twitter PagerTabStrip wasn't loading the navigation title correctly.
  • Bug Fix Issue #32: Demo for Nav Button Bar Example fix.
  • Bug Fix Issue #32: Twitter Pager white dots that mark which tab is currently selected is non selectable now.
  • Bug Fix Issue #22: moveToViewControllerAtIndex: in viewDidLoad or viewWillAppear is not reflected in buttonBarView.

Version 1.1.1

  • Nav Button example added
  • Support for iOS 7.0 and above

Version 1.1.0

  • Twitter pager added
  • Bug fixes and stability improvements

Version 1.0.0

  • Initial release

Author

Martin Barreto (@mtnBarreto)

Contributors

Contact

Any suggestion or question? Please create a Github issue or reach us out.

xmartlabs.com. @xmartlabs

About

Android PagerTabStrip for iOS.

Resources

Stars

0 stars

Watchers

1 watching

Forks

Releases

Packages

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Force GitHub README to respect dark mode\n(function() {\n var style = document.createElement('style');\n style.textContent = '\n .markdown-body {\n color-scheme: dark light;\n }\n .markdown-body pre { background: #161b22 !important; }\n .markdown-body code { background: rgba(110, 118, 129, 0.4) !important; }\n .markdown-body table th, .markdown-body table td { border-color: #30363d !important; }\n .markdown-body img { background: #0d1117; }\n .markdown-body blockquote { border-left-color: #8b949e; }\n .markdown-body hr { border-color: #30363d; }\n ';\n document.head.appendChild(style);\n})();", "GitHub Dark Mode README Fix"); } } catch(__e) { console.warn('[Userscript:GitHub Dark Mode README Fix]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
Skip to content

Repository files navigation

XLPagerTabStrip

By XMARTLABS.

licenseversion

Android PagerTabStrip for iOS!

XLPagerTabStrip is a Container View Controller that allows us to switch easily among a collection of view controllers. Pan gesture can be used to move on to next or previous view controller. It shows a interactive indicator of the current, previous, next child view controllers.

Screenshot of native Calendar Event Example

XLPagerTabStrip was originally inspired by Tell market app.

Purpose

XLPagerTabStrip helps us deal with view controllers that have the same relevance for the user like Android PagerTabStrip and PageView do. Since you're able to navigate between a large amount of view controllers, XLPagerTabStrip is an scalable and nice solution for this problem.

How to use it

Integrate XLPagerTabStrip is as easy as following these steps:

  1. Create a UIViewController class that should extend from either XLSegmentedPagerTabStripViewController, XLBarPagerTabStripViewController, XLButtonBarPagerTabStripViewController, XLTwitterPagerTabStripViewController.

  2. The recently created concrete view controller should conform to XLPagerTabStripViewControllerDataSource implementing: -(NSArray *)childViewControllersForPagerTabStripViewController:(XLPagerTabStripViewController *)pagerTabStripViewController;

  3. (Recomended) Set up your view controllers using a nib file or a Storyboard. We need to connect some IBOutlets (take a look at the Demo folder).

  4. Enjoy!

For further details take a look at the Demo folder to see the code of examples shown above.

FAQ

#####How to change the visible child view controller programmatically

XLPagerTabStripViewController provides the following methods to programmatically change the visible child view controller:

-(void)moveToViewControllerAtIndex:(NSUInteger)index;
-(void)moveToViewControllerAtIndex:(NSUInteger)index animated:(BOOL)animated;
-(void)moveToViewController:(UIViewController *)viewController;
-(void)moveToViewController:(UIViewController *)viewController animated:(BOOL)animated;

#####How to change the selected tab (XLButtonBarViewCell) look and feel based on the selected state

XLButtonBarPagerTabStripViewController provides a flexible way to customize the look and feel of a XLButtonBarViewCell based on the selected state by using blocks. These blocks will be called each time the current cell index changes its value.

@property (copy) void (^changeCurrentIndexProgressiveBlock)(XLButtonBarViewCell* oldCell, XLButtonBarViewCell *newCell, CGFloat progressPercentage, BOOL indexWasChanged, BOOL animated);
@property (copy) void (^changeCurrentIndexBlock)(XLButtonBarViewCell* oldCell, XLButtonBarViewCell *newCell, BOOL animated);

Since the collection cell (tab) is passed as a parameter you have full control on the look and fell change and animation.

Installation

The easiest way to use XLPagerTabStrip in your app is via CocoaPods.

  1. Add the following line in the project's Podfile file: pod 'XLPagerTabStrip', '~> 2.0'.
  2. Run the command pod install from the Podfile folder directory.

Customization

The most interesting customizable features are:

  • Ability to skip intermediate view controllers when tapped on a "tab".
  • Indicators can be added at any position of the screen through storyboard layouts.
  • Choose between progressive, non-progressive indicators.
  • Add space padding between view controllers.

Requirements

  • ARC
  • iOS 7.0 and above

Release Notes

Version 2.0.0

  • Added ability to change look and feel of selected tab.
  • changeCurrentIndexProgressiveBlock added to XLButtonBarPagerTabStripViewController.
  • changeCurrentIndexBlock added to XLButtonBarPagerTabStripViewController.
  • indxWasChanged parameter was added to -(void)pagerTabStripViewController:(XLPagerTabStripViewController *)pagerTabStripViewController updateIndicatorFromIndex:(NSInteger)fromIndex toIndex:(NSInteger)toIndex withProgressPercentage:(CGFloat)progressPercentage indexWasChanged:(BOOL)indexWasChanged;
  • Bug Fix Issue #45: When the current tab is tapped by the user, and later swiping to another tab, the indicator now changes as expected.
  • Bug Fix: When scrolling between tabs with progressive indicator, the indicator now scrolls swiftly. It used to jump for an instant.
  • Bug Fix Issue #54: Twitter PagerTabStrip wasn't loading the navigation title correctly.
  • Bug Fix Issue #32: Demo for Nav Button Bar Example fix.
  • Bug Fix Issue #32: Twitter Pager white dots that mark which tab is currently selected is non selectable now.
  • Bug Fix Issue #22: moveToViewControllerAtIndex: in viewDidLoad or viewWillAppear is not reflected in buttonBarView.

Version 1.1.1

  • Nav Button example added
  • Support for iOS 7.0 and above

Version 1.1.0

  • Twitter pager added
  • Bug fixes and stability improvements

Version 1.0.0

  • Initial release

Author

Martin Barreto (@mtnBarreto)

Contributors

Contact

Any suggestion or question? Please create a Github issue or reach us out.

xmartlabs.com. @xmartlabs

About

Android PagerTabStrip for iOS.

Resources

Stars

0 stars

Watchers

1 watching

Forks

Releases

Packages

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Highlight search terms from Google/DuckDuckGo/Bing referrer\n(function() {\n var ref = document.referrer;\n var terms = [];\n \n if (ref.includes('google.com') || ref.includes('duckduckgo.com') || ref.includes('bing.com')) {\n var url = new URL(ref);\n var q = url.searchParams.get('q') || url.searchParams.get('p');\n if (q) {\n terms = q.split(/\\s+/).filter(function(t) { return t.length > 2; });\n }\n }\n \n if (terms.length === 0) return;\n \n var style = document.createElement('style');\n style.textContent = '.userscript-highlight { background: #fbbf24; color: #1a1a2e; padding: 1px 3px; border-radius: 2px; }';\n document.head.appendChild(style);\n \n function highlight(node) {\n if (node.nodeType === 3) { // text node\n var text = node.textContent;\n var found = false;\n terms.forEach(function(term) {\n var regex = new RegExp('(' + term.replace(/[.*+?^${}()|[\\]\\\\]/g, '\\\\') + ')', 'gi');\n if (regex.test(text)) {\n found = true;\n var frag = document.createDocumentFragment();\n var parts = text.split(regex);\n parts.forEach(function(part, i) {\n if (i % 2 === 0) {\n frag.appendChild(document.createTextNode(part));\n } else {\n var span = document.createElement('span');\n span.className = 'userscript-highlight';\n span.textContent = part;\n frag.appendChild(span);\n }\n });\n node.parentNode.replaceChild(frag, node);\n }\n });\n } else if (node.nodeType === 1 && node.childNodes) { // element\n var skipTags = ['SCRIPT', 'STYLE', 'NOSCRIPT', 'TEXTAREA', 'INPUT', 'SELECT'];\n if (!skipTags.includes(node.tagName)) {\n Array.from(node.childNodes).forEach(highlight);\n }\n }\n }\n \n highlight(document.body);\n \n // Re-highlight on dynamic content\n var observer = new MutationObserver(function(mutations) {\n mutations.forEach(function(m) {\n m.addedNodes.forEach(function(node) {\n if (node.nodeType === 1 || node.nodeType === 3) highlight(node);\n });\n });\n });\n observer.observe(document.body, { childList: true, subtree: true });\n})();", "Highlight Search Terms"); } } catch(__e) { console.warn('[Userscript:Highlight Search Terms]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
Skip to content

Repository files navigation

XLPagerTabStrip

By XMARTLABS.

licenseversion

Android PagerTabStrip for iOS!

XLPagerTabStrip is a Container View Controller that allows us to switch easily among a collection of view controllers. Pan gesture can be used to move on to next or previous view controller. It shows a interactive indicator of the current, previous, next child view controllers.

Screenshot of native Calendar Event Example

XLPagerTabStrip was originally inspired by Tell market app.

Purpose

XLPagerTabStrip helps us deal with view controllers that have the same relevance for the user like Android PagerTabStrip and PageView do. Since you're able to navigate between a large amount of view controllers, XLPagerTabStrip is an scalable and nice solution for this problem.

How to use it

Integrate XLPagerTabStrip is as easy as following these steps:

  1. Create a UIViewController class that should extend from either XLSegmentedPagerTabStripViewController, XLBarPagerTabStripViewController, XLButtonBarPagerTabStripViewController, XLTwitterPagerTabStripViewController.

  2. The recently created concrete view controller should conform to XLPagerTabStripViewControllerDataSource implementing: -(NSArray *)childViewControllersForPagerTabStripViewController:(XLPagerTabStripViewController *)pagerTabStripViewController;

  3. (Recomended) Set up your view controllers using a nib file or a Storyboard. We need to connect some IBOutlets (take a look at the Demo folder).

  4. Enjoy!

For further details take a look at the Demo folder to see the code of examples shown above.

FAQ

#####How to change the visible child view controller programmatically

XLPagerTabStripViewController provides the following methods to programmatically change the visible child view controller:

-(void)moveToViewControllerAtIndex:(NSUInteger)index;
-(void)moveToViewControllerAtIndex:(NSUInteger)index animated:(BOOL)animated;
-(void)moveToViewController:(UIViewController *)viewController;
-(void)moveToViewController:(UIViewController *)viewController animated:(BOOL)animated;

#####How to change the selected tab (XLButtonBarViewCell) look and feel based on the selected state

XLButtonBarPagerTabStripViewController provides a flexible way to customize the look and feel of a XLButtonBarViewCell based on the selected state by using blocks. These blocks will be called each time the current cell index changes its value.

@property (copy) void (^changeCurrentIndexProgressiveBlock)(XLButtonBarViewCell* oldCell, XLButtonBarViewCell *newCell, CGFloat progressPercentage, BOOL indexWasChanged, BOOL animated);
@property (copy) void (^changeCurrentIndexBlock)(XLButtonBarViewCell* oldCell, XLButtonBarViewCell *newCell, BOOL animated);

Since the collection cell (tab) is passed as a parameter you have full control on the look and fell change and animation.

Installation

The easiest way to use XLPagerTabStrip in your app is via CocoaPods.

  1. Add the following line in the project's Podfile file: pod 'XLPagerTabStrip', '~> 2.0'.
  2. Run the command pod install from the Podfile folder directory.

Customization

The most interesting customizable features are:

  • Ability to skip intermediate view controllers when tapped on a "tab".
  • Indicators can be added at any position of the screen through storyboard layouts.
  • Choose between progressive, non-progressive indicators.
  • Add space padding between view controllers.

Requirements

  • ARC
  • iOS 7.0 and above

Release Notes

Version 2.0.0

  • Added ability to change look and feel of selected tab.
  • changeCurrentIndexProgressiveBlock added to XLButtonBarPagerTabStripViewController.
  • changeCurrentIndexBlock added to XLButtonBarPagerTabStripViewController.
  • indxWasChanged parameter was added to -(void)pagerTabStripViewController:(XLPagerTabStripViewController *)pagerTabStripViewController updateIndicatorFromIndex:(NSInteger)fromIndex toIndex:(NSInteger)toIndex withProgressPercentage:(CGFloat)progressPercentage indexWasChanged:(BOOL)indexWasChanged;
  • Bug Fix Issue #45: When the current tab is tapped by the user, and later swiping to another tab, the indicator now changes as expected.
  • Bug Fix: When scrolling between tabs with progressive indicator, the indicator now scrolls swiftly. It used to jump for an instant.
  • Bug Fix Issue #54: Twitter PagerTabStrip wasn't loading the navigation title correctly.
  • Bug Fix Issue #32: Demo for Nav Button Bar Example fix.
  • Bug Fix Issue #32: Twitter Pager white dots that mark which tab is currently selected is non selectable now.
  • Bug Fix Issue #22: moveToViewControllerAtIndex: in viewDidLoad or viewWillAppear is not reflected in buttonBarView.

Version 1.1.1

  • Nav Button example added
  • Support for iOS 7.0 and above

Version 1.1.0

  • Twitter pager added
  • Bug fixes and stability improvements

Version 1.0.0

  • Initial release

Author

Martin Barreto (@mtnBarreto)

Contributors

Contact

Any suggestion or question? Please create a Github issue or reach us out.

xmartlabs.com. @xmartlabs

About

Android PagerTabStrip for iOS.

Resources

Stars

0 stars

Watchers

1 watching

Forks

Releases

Packages

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Strip utm_, fbclid, gclid, etc. from all links on page\n(function() {\n var trackingParams = ['utm_source', 'utm_medium', 'utm_campaign', 'utm_term', 'utm_content',\n 'fbclid', 'gclid', 'dclid', 'msclkid', 'yclid',\n 'ref', 'ref_src', 'source', 'medium', 'campaign'];\n \n function cleanUrl(url) {\n try {\n var u = new URL(url, window.location.origin);\n var changed = false;\n trackingParams.forEach(function(p) {\n if (u.searchParams.has(p)) {\n u.searchParams.delete(p);\n changed = true;\n }\n });\n return changed ? u.toString() : url;\n } catch (e) {\n return url;\n }\n }\n \n function cleanLinks() {\n document.querySelectorAll('a[href]').forEach(function(a) {\n var clean = cleanUrl(a.href);\n if (clean !== a.href) a.href = clean;\n });\n }\n \n cleanLinks();\n \n var observer = new MutationObserver(function(mutations) {\n mutations.forEach(function(m) {\n m.addedNodes.forEach(function(node) {\n if (node.nodeType === 1) {\n if (node.tagName === 'A') cleanLinks();\n node.querySelectorAll('a[href]').forEach(function(a) {\n var clean = cleanUrl(a.href);\n if (clean !== a.href) a.href = clean;\n });\n }\n });\n });\n });\n observer.observe(document.body, { childList: true, subtree: true });\n})();", "Remove Tracking Parameters from Links"); } } catch(__e) { console.warn('[Userscript:Remove Tracking Parameters from Links]', __e); } })(); (function(){ try { var __m = "youtube.com"; var __re = new RegExp('^' + "youtube\\.com" + '
Skip to content

Repository files navigation

XLPagerTabStrip

By XMARTLABS.

licenseversion

Android PagerTabStrip for iOS!

XLPagerTabStrip is a Container View Controller that allows us to switch easily among a collection of view controllers. Pan gesture can be used to move on to next or previous view controller. It shows a interactive indicator of the current, previous, next child view controllers.

Screenshot of native Calendar Event Example

XLPagerTabStrip was originally inspired by Tell market app.

Purpose

XLPagerTabStrip helps us deal with view controllers that have the same relevance for the user like Android PagerTabStrip and PageView do. Since you're able to navigate between a large amount of view controllers, XLPagerTabStrip is an scalable and nice solution for this problem.

How to use it

Integrate XLPagerTabStrip is as easy as following these steps:

  1. Create a UIViewController class that should extend from either XLSegmentedPagerTabStripViewController, XLBarPagerTabStripViewController, XLButtonBarPagerTabStripViewController, XLTwitterPagerTabStripViewController.

  2. The recently created concrete view controller should conform to XLPagerTabStripViewControllerDataSource implementing: -(NSArray *)childViewControllersForPagerTabStripViewController:(XLPagerTabStripViewController *)pagerTabStripViewController;

  3. (Recomended) Set up your view controllers using a nib file or a Storyboard. We need to connect some IBOutlets (take a look at the Demo folder).

  4. Enjoy!

For further details take a look at the Demo folder to see the code of examples shown above.

FAQ

#####How to change the visible child view controller programmatically

XLPagerTabStripViewController provides the following methods to programmatically change the visible child view controller:

-(void)moveToViewControllerAtIndex:(NSUInteger)index;
-(void)moveToViewControllerAtIndex:(NSUInteger)index animated:(BOOL)animated;
-(void)moveToViewController:(UIViewController *)viewController;
-(void)moveToViewController:(UIViewController *)viewController animated:(BOOL)animated;

#####How to change the selected tab (XLButtonBarViewCell) look and feel based on the selected state

XLButtonBarPagerTabStripViewController provides a flexible way to customize the look and feel of a XLButtonBarViewCell based on the selected state by using blocks. These blocks will be called each time the current cell index changes its value.

@property (copy) void (^changeCurrentIndexProgressiveBlock)(XLButtonBarViewCell* oldCell, XLButtonBarViewCell *newCell, CGFloat progressPercentage, BOOL indexWasChanged, BOOL animated);
@property (copy) void (^changeCurrentIndexBlock)(XLButtonBarViewCell* oldCell, XLButtonBarViewCell *newCell, BOOL animated);

Since the collection cell (tab) is passed as a parameter you have full control on the look and fell change and animation.

Installation

The easiest way to use XLPagerTabStrip in your app is via CocoaPods.

  1. Add the following line in the project's Podfile file: pod 'XLPagerTabStrip', '~> 2.0'.
  2. Run the command pod install from the Podfile folder directory.

Customization

The most interesting customizable features are:

  • Ability to skip intermediate view controllers when tapped on a "tab".
  • Indicators can be added at any position of the screen through storyboard layouts.
  • Choose between progressive, non-progressive indicators.
  • Add space padding between view controllers.

Requirements

  • ARC
  • iOS 7.0 and above

Release Notes

Version 2.0.0

  • Added ability to change look and feel of selected tab.
  • changeCurrentIndexProgressiveBlock added to XLButtonBarPagerTabStripViewController.
  • changeCurrentIndexBlock added to XLButtonBarPagerTabStripViewController.
  • indxWasChanged parameter was added to -(void)pagerTabStripViewController:(XLPagerTabStripViewController *)pagerTabStripViewController updateIndicatorFromIndex:(NSInteger)fromIndex toIndex:(NSInteger)toIndex withProgressPercentage:(CGFloat)progressPercentage indexWasChanged:(BOOL)indexWasChanged;
  • Bug Fix Issue #45: When the current tab is tapped by the user, and later swiping to another tab, the indicator now changes as expected.
  • Bug Fix: When scrolling between tabs with progressive indicator, the indicator now scrolls swiftly. It used to jump for an instant.
  • Bug Fix Issue #54: Twitter PagerTabStrip wasn't loading the navigation title correctly.
  • Bug Fix Issue #32: Demo for Nav Button Bar Example fix.
  • Bug Fix Issue #32: Twitter Pager white dots that mark which tab is currently selected is non selectable now.
  • Bug Fix Issue #22: moveToViewControllerAtIndex: in viewDidLoad or viewWillAppear is not reflected in buttonBarView.

Version 1.1.1

  • Nav Button example added
  • Support for iOS 7.0 and above

Version 1.1.0

  • Twitter pager added
  • Bug fixes and stability improvements

Version 1.0.0

  • Initial release

Author

Martin Barreto (@mtnBarreto)

Contributors

Contact

Any suggestion or question? Please create a Github issue or reach us out.

xmartlabs.com. @xmartlabs

About

Android PagerTabStrip for iOS.

Resources

Stars

0 stars

Watchers

1 watching

Forks

Releases

Packages

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Auto-enable theater mode on YouTube\n(function() {\n function tryTheater() {\n var btn = document.querySelector('button[aria-label=\"Theater mode\"], ytd-player #player button[title=\"Theater mode\"]');\n if (btn && !btn.classList.contains('activated')) {\n btn.click();\n }\n }\n \n // Try immediately\n tryTheater();\n \n // Try after navigation (SPA)\n var lastUrl = location.href;\n setInterval(function() {\n if (location.href !== lastUrl) {\n lastUrl = location.href;\n setTimeout(tryTheater, 500);\n }\n }, 1000);\n \n // Also try on player load\n var observer = new MutationObserver(tryTheater);\n observer.observe(document.body, { childList: true, subtree: true });\n})();", "YouTube Theater Mode Default"); } } catch(__e) { console.warn('[Userscript:YouTube Theater Mode Default]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
Skip to content

Repository files navigation

XLPagerTabStrip

By XMARTLABS.

licenseversion

Android PagerTabStrip for iOS!

XLPagerTabStrip is a Container View Controller that allows us to switch easily among a collection of view controllers. Pan gesture can be used to move on to next or previous view controller. It shows a interactive indicator of the current, previous, next child view controllers.

Screenshot of native Calendar Event Example

XLPagerTabStrip was originally inspired by Tell market app.

Purpose

XLPagerTabStrip helps us deal with view controllers that have the same relevance for the user like Android PagerTabStrip and PageView do. Since you're able to navigate between a large amount of view controllers, XLPagerTabStrip is an scalable and nice solution for this problem.

How to use it

Integrate XLPagerTabStrip is as easy as following these steps:

  1. Create a UIViewController class that should extend from either XLSegmentedPagerTabStripViewController, XLBarPagerTabStripViewController, XLButtonBarPagerTabStripViewController, XLTwitterPagerTabStripViewController.

  2. The recently created concrete view controller should conform to XLPagerTabStripViewControllerDataSource implementing: -(NSArray *)childViewControllersForPagerTabStripViewController:(XLPagerTabStripViewController *)pagerTabStripViewController;

  3. (Recomended) Set up your view controllers using a nib file or a Storyboard. We need to connect some IBOutlets (take a look at the Demo folder).

  4. Enjoy!

For further details take a look at the Demo folder to see the code of examples shown above.

FAQ

#####How to change the visible child view controller programmatically

XLPagerTabStripViewController provides the following methods to programmatically change the visible child view controller:

-(void)moveToViewControllerAtIndex:(NSUInteger)index;
-(void)moveToViewControllerAtIndex:(NSUInteger)index animated:(BOOL)animated;
-(void)moveToViewController:(UIViewController *)viewController;
-(void)moveToViewController:(UIViewController *)viewController animated:(BOOL)animated;

#####How to change the selected tab (XLButtonBarViewCell) look and feel based on the selected state

XLButtonBarPagerTabStripViewController provides a flexible way to customize the look and feel of a XLButtonBarViewCell based on the selected state by using blocks. These blocks will be called each time the current cell index changes its value.

@property (copy) void (^changeCurrentIndexProgressiveBlock)(XLButtonBarViewCell* oldCell, XLButtonBarViewCell *newCell, CGFloat progressPercentage, BOOL indexWasChanged, BOOL animated);
@property (copy) void (^changeCurrentIndexBlock)(XLButtonBarViewCell* oldCell, XLButtonBarViewCell *newCell, BOOL animated);

Since the collection cell (tab) is passed as a parameter you have full control on the look and fell change and animation.

Installation

The easiest way to use XLPagerTabStrip in your app is via CocoaPods.

  1. Add the following line in the project's Podfile file: pod 'XLPagerTabStrip', '~> 2.0'.
  2. Run the command pod install from the Podfile folder directory.

Customization

The most interesting customizable features are:

  • Ability to skip intermediate view controllers when tapped on a "tab".
  • Indicators can be added at any position of the screen through storyboard layouts.
  • Choose between progressive, non-progressive indicators.
  • Add space padding between view controllers.

Requirements

  • ARC
  • iOS 7.0 and above

Release Notes

Version 2.0.0

  • Added ability to change look and feel of selected tab.
  • changeCurrentIndexProgressiveBlock added to XLButtonBarPagerTabStripViewController.
  • changeCurrentIndexBlock added to XLButtonBarPagerTabStripViewController.
  • indxWasChanged parameter was added to -(void)pagerTabStripViewController:(XLPagerTabStripViewController *)pagerTabStripViewController updateIndicatorFromIndex:(NSInteger)fromIndex toIndex:(NSInteger)toIndex withProgressPercentage:(CGFloat)progressPercentage indexWasChanged:(BOOL)indexWasChanged;
  • Bug Fix Issue #45: When the current tab is tapped by the user, and later swiping to another tab, the indicator now changes as expected.
  • Bug Fix: When scrolling between tabs with progressive indicator, the indicator now scrolls swiftly. It used to jump for an instant.
  • Bug Fix Issue #54: Twitter PagerTabStrip wasn't loading the navigation title correctly.
  • Bug Fix Issue #32: Demo for Nav Button Bar Example fix.
  • Bug Fix Issue #32: Twitter Pager white dots that mark which tab is currently selected is non selectable now.
  • Bug Fix Issue #22: moveToViewControllerAtIndex: in viewDidLoad or viewWillAppear is not reflected in buttonBarView.

Version 1.1.1

  • Nav Button example added
  • Support for iOS 7.0 and above

Version 1.1.0

  • Twitter pager added
  • Bug fixes and stability improvements

Version 1.0.0

  • Initial release

Author

Martin Barreto (@mtnBarreto)

Contributors

Contact

Any suggestion or question? Please create a Github issue or reach us out.

xmartlabs.com. @xmartlabs

About

Android PagerTabStrip for iOS.

Resources

Stars

0 stars

Watchers

1 watching

Forks

Releases

Packages

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Remove or un-stick sticky/fixed headers that block content\n(function() {\n function unstick() {\n document.querySelectorAll('header, nav, [role=\"banner\"], .header, .navbar, .sticky, .fixed-top, [style*=\"position: fixed\"], [style*=\"position:sticky\"]').forEach(function(el) {\n if (el.style.position === 'fixed' || el.style.position === 'sticky' || \n getComputedStyle(el).position === 'fixed' || getComputedStyle(el).position === 'sticky') {\n el.style.position = 'static';\n el.style.top = 'auto';\n el.style.zIndex = 'auto';\n }\n });\n }\n \n unstick();\n \n var observer = new MutationObserver(unstick);\n observer.observe(document.body, { childList: true, subtree: true, attributes: true, attributeFilter: ['style', 'class'] });\n})();", "Kill Sticky Headers"); } } catch(__e) { console.warn('[Userscript:Kill Sticky Headers]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
Skip to content

Repository files navigation

XLPagerTabStrip

By XMARTLABS.

licenseversion

Android PagerTabStrip for iOS!

XLPagerTabStrip is a Container View Controller that allows us to switch easily among a collection of view controllers. Pan gesture can be used to move on to next or previous view controller. It shows a interactive indicator of the current, previous, next child view controllers.

Screenshot of native Calendar Event Example

XLPagerTabStrip was originally inspired by Tell market app.

Purpose

XLPagerTabStrip helps us deal with view controllers that have the same relevance for the user like Android PagerTabStrip and PageView do. Since you're able to navigate between a large amount of view controllers, XLPagerTabStrip is an scalable and nice solution for this problem.

How to use it

Integrate XLPagerTabStrip is as easy as following these steps:

  1. Create a UIViewController class that should extend from either XLSegmentedPagerTabStripViewController, XLBarPagerTabStripViewController, XLButtonBarPagerTabStripViewController, XLTwitterPagerTabStripViewController.

  2. The recently created concrete view controller should conform to XLPagerTabStripViewControllerDataSource implementing: -(NSArray *)childViewControllersForPagerTabStripViewController:(XLPagerTabStripViewController *)pagerTabStripViewController;

  3. (Recomended) Set up your view controllers using a nib file or a Storyboard. We need to connect some IBOutlets (take a look at the Demo folder).

  4. Enjoy!

For further details take a look at the Demo folder to see the code of examples shown above.

FAQ

#####How to change the visible child view controller programmatically

XLPagerTabStripViewController provides the following methods to programmatically change the visible child view controller:

-(void)moveToViewControllerAtIndex:(NSUInteger)index;
-(void)moveToViewControllerAtIndex:(NSUInteger)index animated:(BOOL)animated;
-(void)moveToViewController:(UIViewController *)viewController;
-(void)moveToViewController:(UIViewController *)viewController animated:(BOOL)animated;

#####How to change the selected tab (XLButtonBarViewCell) look and feel based on the selected state

XLButtonBarPagerTabStripViewController provides a flexible way to customize the look and feel of a XLButtonBarViewCell based on the selected state by using blocks. These blocks will be called each time the current cell index changes its value.

@property (copy) void (^changeCurrentIndexProgressiveBlock)(XLButtonBarViewCell* oldCell, XLButtonBarViewCell *newCell, CGFloat progressPercentage, BOOL indexWasChanged, BOOL animated);
@property (copy) void (^changeCurrentIndexBlock)(XLButtonBarViewCell* oldCell, XLButtonBarViewCell *newCell, BOOL animated);

Since the collection cell (tab) is passed as a parameter you have full control on the look and fell change and animation.

Installation

The easiest way to use XLPagerTabStrip in your app is via CocoaPods.

  1. Add the following line in the project's Podfile file: pod 'XLPagerTabStrip', '~> 2.0'.
  2. Run the command pod install from the Podfile folder directory.

Customization

The most interesting customizable features are:

  • Ability to skip intermediate view controllers when tapped on a "tab".
  • Indicators can be added at any position of the screen through storyboard layouts.
  • Choose between progressive, non-progressive indicators.
  • Add space padding between view controllers.

Requirements

  • ARC
  • iOS 7.0 and above

Release Notes

Version 2.0.0

  • Added ability to change look and feel of selected tab.
  • changeCurrentIndexProgressiveBlock added to XLButtonBarPagerTabStripViewController.
  • changeCurrentIndexBlock added to XLButtonBarPagerTabStripViewController.
  • indxWasChanged parameter was added to -(void)pagerTabStripViewController:(XLPagerTabStripViewController *)pagerTabStripViewController updateIndicatorFromIndex:(NSInteger)fromIndex toIndex:(NSInteger)toIndex withProgressPercentage:(CGFloat)progressPercentage indexWasChanged:(BOOL)indexWasChanged;
  • Bug Fix Issue #45: When the current tab is tapped by the user, and later swiping to another tab, the indicator now changes as expected.
  • Bug Fix: When scrolling between tabs with progressive indicator, the indicator now scrolls swiftly. It used to jump for an instant.
  • Bug Fix Issue #54: Twitter PagerTabStrip wasn't loading the navigation title correctly.
  • Bug Fix Issue #32: Demo for Nav Button Bar Example fix.
  • Bug Fix Issue #32: Twitter Pager white dots that mark which tab is currently selected is non selectable now.
  • Bug Fix Issue #22: moveToViewControllerAtIndex: in viewDidLoad or viewWillAppear is not reflected in buttonBarView.

Version 1.1.1

  • Nav Button example added
  • Support for iOS 7.0 and above

Version 1.1.0

  • Twitter pager added
  • Bug fixes and stability improvements

Version 1.0.0

  • Initial release

Author

Martin Barreto (@mtnBarreto)

Contributors

Contact

Any suggestion or question? Please create a Github issue or reach us out.

xmartlabs.com. @xmartlabs

About

Android PagerTabStrip for iOS.

Resources

Stars

0 stars

Watchers

1 watching

Forks

Releases

Packages

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Universal Dark Mode - works on any site\n(function() {\n var enabled = true;\n \n function applyDarkMode() {\n if (!enabled) return;\n \n // Create style element if it doesn't exist\n var style = document.getElementById('universal-dark-mode-style');\n if (!style) {\n style = document.createElement('style');\n style.id = 'universal-dark-mode-style';\n document.head.appendChild(style);\n }\n \n // Dark mode CSS - inverts colors but preserves images/video\n style.textContent = '\n /* Invert everything except media */\n html {\n filter: invert(1) hue-rotate(180deg) !important;\n background: #1a1a2e !important;\n }\n \n /* Restore images, videos, iframes, canvas */\n img, video, iframe, canvas, svg, picture, [style*=\"background-image\"] {\n filter: invert(1) hue-rotate(180deg) !important;\n }\n \n /* Preserve specific elements that should not be inverted */\n .no-dark-mode, .no-dark-mode *,\n [data-theme=\"light\"], [data-theme=\"light\"],\n .ace_editor, .ace_editor *,\n .CodeMirror, .CodeMirror *,\n .monaco-editor, .monaco-editor *,\n .markdown-body pre, .markdown-body pre *,\n .highlight, .highlight *,\n pre code, pre code * {\n filter: none !important;\n }\n \n /* Fix common UI elements */\n .modal, .popup, .dropdown-menu, .tooltip, .popover {\n filter: invert(1) hue-rotate(180deg) !important;\n background: #2d2d44 !important;\n border-color: #444 !important;\n }\n \n /* Scrollbars */\n ::-webkit-scrollbar { background: #1a1a2e !important; }\n ::-webkit-scrollbar-thumb { background: #444 !important; }\n ::-webkit-scrollbar-thumb:hover { background: #555 !important; }\n \n /* Selection */\n ::selection { background: #4ecdc4 !important; color: #1a1a2e !important; }\n ::-moz-selection { background: #4ecdc4 !important; color: #1a1a2e !important; }\n ';\n }\n \n function removeDarkMode() {\n var style = document.getElementById('universal-dark-mode-style');\n if (style) style.remove();\n }\n \n // Toggle with Alt+Shift+D\n document.addEventListener('keydown', function(e) {\n if (e.altKey && e.shiftKey && e.key === 'D') {\n e.preventDefault();\n enabled = !enabled;\n if (enabled) {\n applyDarkMode();\n console.log('[Universal Dark Mode] Enabled');\n } else {\n removeDarkMode();\n console.log('[Universal Dark Mode] Disabled');\n }\n }\n });\n \n // Apply on load\n applyDarkMode();\n \n // Re-apply on dynamic content\n var observer = new MutationObserver(function(mutations) {\n if (enabled && !document.getElementById('universal-dark-mode-style')) {\n applyDarkMode();\n }\n });\n observer.observe(document.head, { childList: true });\n \n console.log('[Universal Dark Mode] Loaded - Press Alt+Shift+D to toggle');\n})();", "Universal Dark Mode"); } } catch(__e) { console.warn('[Userscript:Universal Dark Mode]', __e); } })(); })();
Skip to content

Repository files navigation

XLPagerTabStrip

By XMARTLABS.

licenseversion

Android PagerTabStrip for iOS!

XLPagerTabStrip is a Container View Controller that allows us to switch easily among a collection of view controllers. Pan gesture can be used to move on to next or previous view controller. It shows a interactive indicator of the current, previous, next child view controllers.

Screenshot of native Calendar Event Example

XLPagerTabStrip was originally inspired by Tell market app.

Purpose

XLPagerTabStrip helps us deal with view controllers that have the same relevance for the user like Android PagerTabStrip and PageView do. Since you're able to navigate between a large amount of view controllers, XLPagerTabStrip is an scalable and nice solution for this problem.

How to use it

Integrate XLPagerTabStrip is as easy as following these steps:

  1. Create a UIViewController class that should extend from either XLSegmentedPagerTabStripViewController, XLBarPagerTabStripViewController, XLButtonBarPagerTabStripViewController, XLTwitterPagerTabStripViewController.

  2. The recently created concrete view controller should conform to XLPagerTabStripViewControllerDataSource implementing: -(NSArray *)childViewControllersForPagerTabStripViewController:(XLPagerTabStripViewController *)pagerTabStripViewController;

  3. (Recomended) Set up your view controllers using a nib file or a Storyboard. We need to connect some IBOutlets (take a look at the Demo folder).

  4. Enjoy!

For further details take a look at the Demo folder to see the code of examples shown above.

FAQ

#####How to change the visible child view controller programmatically

XLPagerTabStripViewController provides the following methods to programmatically change the visible child view controller:

-(void)moveToViewControllerAtIndex:(NSUInteger)index;
-(void)moveToViewControllerAtIndex:(NSUInteger)index animated:(BOOL)animated;
-(void)moveToViewController:(UIViewController *)viewController;
-(void)moveToViewController:(UIViewController *)viewController animated:(BOOL)animated;

#####How to change the selected tab (XLButtonBarViewCell) look and feel based on the selected state

XLButtonBarPagerTabStripViewController provides a flexible way to customize the look and feel of a XLButtonBarViewCell based on the selected state by using blocks. These blocks will be called each time the current cell index changes its value.

@property (copy) void (^changeCurrentIndexProgressiveBlock)(XLButtonBarViewCell* oldCell, XLButtonBarViewCell *newCell, CGFloat progressPercentage, BOOL indexWasChanged, BOOL animated);
@property (copy) void (^changeCurrentIndexBlock)(XLButtonBarViewCell* oldCell, XLButtonBarViewCell *newCell, BOOL animated);

Since the collection cell (tab) is passed as a parameter you have full control on the look and fell change and animation.

Installation

The easiest way to use XLPagerTabStrip in your app is via CocoaPods.

  1. Add the following line in the project's Podfile file: pod 'XLPagerTabStrip', '~> 2.0'.
  2. Run the command pod install from the Podfile folder directory.

Customization

The most interesting customizable features are:

  • Ability to skip intermediate view controllers when tapped on a "tab".
  • Indicators can be added at any position of the screen through storyboard layouts.
  • Choose between progressive, non-progressive indicators.
  • Add space padding between view controllers.

Requirements

  • ARC
  • iOS 7.0 and above

Release Notes

Version 2.0.0

  • Added ability to change look and feel of selected tab.
  • changeCurrentIndexProgressiveBlock added to XLButtonBarPagerTabStripViewController.
  • changeCurrentIndexBlock added to XLButtonBarPagerTabStripViewController.
  • indxWasChanged parameter was added to -(void)pagerTabStripViewController:(XLPagerTabStripViewController *)pagerTabStripViewController updateIndicatorFromIndex:(NSInteger)fromIndex toIndex:(NSInteger)toIndex withProgressPercentage:(CGFloat)progressPercentage indexWasChanged:(BOOL)indexWasChanged;
  • Bug Fix Issue #45: When the current tab is tapped by the user, and later swiping to another tab, the indicator now changes as expected.
  • Bug Fix: When scrolling between tabs with progressive indicator, the indicator now scrolls swiftly. It used to jump for an instant.
  • Bug Fix Issue #54: Twitter PagerTabStrip wasn't loading the navigation title correctly.
  • Bug Fix Issue #32: Demo for Nav Button Bar Example fix.
  • Bug Fix Issue #32: Twitter Pager white dots that mark which tab is currently selected is non selectable now.
  • Bug Fix Issue #22: moveToViewControllerAtIndex: in viewDidLoad or viewWillAppear is not reflected in buttonBarView.

Version 1.1.1

  • Nav Button example added
  • Support for iOS 7.0 and above

Version 1.1.0

  • Twitter pager added
  • Bug fixes and stability improvements

Version 1.0.0

  • Initial release

Author

Martin Barreto (@mtnBarreto)

Contributors

Contact

Any suggestion or question? Please create a Github issue or reach us out.

xmartlabs.com. @xmartlabs

About

Android PagerTabStrip for iOS.

Resources

Stars

0 stars

Watchers

1 watching

Forks

Releases

Packages

Contributors

Languages