单击tabbar项时如何呈现视图控制器。 我只是想显示为一个popover。 使用故事板
我找到了解决方案,但这不起作用
AddImage *yourViewController= (AddImage*) [self.tabBarController.viewControllers objectAtIndex:3];
CGFloat tabBarHeight = self.tabBarController.tabBar.bounds.size.height;
CGRect rect = CGRectMake(0, 0, tabBarHeight, tabBarHeight);
[AddImage presentPopoverFromRect:rect
inView:self.tabBarController.tabBar
permittedArrowDirections:UIPopoverArrowDirectionDown animated:YES];
答案 0 :(得分:2)
为此目的
1)设置tabbar的委托
2)实施方法:-(void)tabBar:(UITabBar *)tabBar didSelectItem:(UITabBarItem *)item
3)现在显示特定项目的弹出窗口
答案 1 :(得分:1)
快捷键5
创建一个继承自UITabBarController
的类并设置协议UITabBarControllerDelegate
。
class CustomTabController: UITabBarController, UITabBarControllerDelegate {
override func viewDidLoad() {
super.viewDidLoad()
self.delegate = self
}
}
实施方法tabBarController(_ tabBarController: UITabBarController, shouldSelect viewController: UIViewController) -> Bool
。
从那里开始,一个简单的if-else
语句即可检查当前控制器类是否足够。
func tabBarController(_ tabBarController: UITabBarController, shouldSelect viewController: UIViewController) -> Bool {
if viewController is YourViewController {
self.present(YourViewController(), animated: true)
return false
} else {
return true
}
}