Comments (3)
You can use the RDVTabBarControllerDelegate method
/**
* Asks the delegate whether the specified view controller should be made active.
*/
- (BOOL)tabBarController:(RDVTabBarController *)tabBarController shouldSelectViewController:(UIViewController *)viewController;
To get the index of the view controller use
NSInteger index = [tabBarController.viewControllers indexOfObject:viewController];
Another option is to subclass the tabBarController and add the custom logic and delegate methods in the subclass.
from rdvtabbarcontroller.
it WORKED properly, but i don't know if it's the best way
- (BOOL)tabBarController:(RDVTabBarController *)tabBarController shouldSelectViewController:(UIViewController *)viewController{
NSInteger index = [tabBarController.viewControllers indexOfObject:viewController];
if ([tabBarController selectedViewController] == [tabBarController viewControllers][index]){
if ([[tabBarController selectedViewController] isKindOfClass:[UINavigationController class]]) {
UINavigationController *selectedController = (UINavigationController *)[tabBarController selectedViewController];
if ([selectedController topViewController] != [selectedController viewControllers][0]) {
[selectedController popToRootViewControllerAnimated:YES];
}
}
/****
HERE IS THE TRICK:
*/
if (index == 2) {
index = 0;
[self tabBarController:tabBarController didSelectViewController:[tabBarController viewControllers][index]];
}
return NO;
}
return YES;
}
- (void)tabBarController:(RDVTabBarController *)tabBarController didSelectViewController:(UIViewController *)viewController{
NSInteger index = [tabBarController.viewControllers indexOfObject:viewController];
if (index < 0 || index >= [[rdv_tabBarController viewControllers] count]) {
return;
}
[tabBarController setSelectedIndex:index];
}
from rdvtabbarcontroller.
It looks ok, a little lengthy, but seems fine. What happens if [tabBarController setSelectedIndex:index];
is called in the if-block after setting the index to 0?
- (BOOL)tabBarController:(RDVTabBarController *)tabBarController shouldSelectViewController:(UIViewController *)viewController{
...
if (index == 2) {
index = 0;
[tabBarController setSelectedIndex:index];
}
return NO;
...
}
from rdvtabbarcontroller.
Related Issues (20)
- UI Changes for TabBarController in iPhoneXR HOT 2
- Push to the next page hide the tabBar and pop back, and show the tabBar and the tableView content will move down
- Push it to the next page and hide the tabBar and pop it back and show the tabBar, and the tableView content moves down HOT 1
- iOS 10以下 无法隐藏tabar HOT 1
- After tabbar is hidden, the bottom rectangle of the page is blank
- About roundf() in RDVTabBarItem HOT 3
- 侧滑
- iphoneX的tabbar高度不一样了 求解决 HOT 18
- BadageValue不对
- Changes for iPhoneX HOT 6
- bugs HOT 1
- The contentView of RDVTabBarController height is error
- how to dynamic change selectedItem image or title ?
- [RDVTabBarController shouldAutorotate] HOT 1
- how can i change the item selectedimage and image tintColor? in your code, i can't change it like Apple's.
- how can i change the tabbarItem's icon tintColor?
- Why tabbarHeight 58.f? HOT 2
- 使用后怎么获取当前的VC
- [viewController.view removeFromSuperview] 这样移除不正确
- Swift 4.2 and Xcode 10 HOT 1
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from rdvtabbarcontroller.