Joh*_*n S 18 iphone uitabbarcontroller uinavigationcontroller ios
对于我认为可能很容易的事情,我遇到了一些麻烦.我在根视图控制器中有一个表,当选择一行时,我按下一个新视图,然后从那里转到另一个选项卡.
我的问题是如何确保一旦用户点击第一个选项卡,导航控制器将弹出到root?
ios*_*per 27
在tabbar上选中每个选项卡时,将调用以下委托.
-(void) tabBarController:(UITabBarController *)tabBarController didSelectViewController:(UIViewController *)viewController
Run Code Online (Sandbox Code Playgroud)
将以下代码放在此委托方法中.
if ([viewController isKindOfClass:[UINavigationController class]])
{
[(UINavigationController *)viewController popToRootViewControllerAnimated:NO];
}
Run Code Online (Sandbox Code Playgroud)
它在我的应用程序上正常工作.
Evd*_*afa 11
对于斯威夫特爱好者:
import UIKit
class YourTabBarControllerHere: UITabBarController,
UITabBarControllerDelegate {
override func viewDidLoad() {
super.viewDidLoad()
self.delegate = self;
}
func tabBarController(tabBarController: UITabBarController,
didSelectViewController viewController: UIViewController) {
if let vc = viewController as? UINavigationController {
vc.popViewControllerAnimated(animated: false);
}
}
}
Run Code Online (Sandbox Code Playgroud)
编辑: Swift 3更新,感谢@Justin Oroz指出这一点.
[self.navigationController popToRootViewControllerAnimated:NO];
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
16901 次 |
| 最近记录: |