这个想法。

我正在开发一个基于TabBarController的应用程序。

有以下3个TabBarItems:

  • 主页(在导航控制器中显示homeView)
  • 内容(在导航控制器中显示contentView)
  • 分享(不做习惯)

  • 我希望TabBarItem“共享”在当前视图显示一个操作表,而不是更改视图。

    我做了什么。

    通过以下几行,我可以获取“Share” -TabBarItem单击/触摸。
    -(void)tabBar:(UITabBar *)tabBar didSelectItem:(UITabBarItem *)item {
    
    if ([item.title isEqualToString:@"Share"]) {
        actionSheet = [[UIActionSheet alloc] initWithTitle:@"Share this App" delegate:self cancelButtonTitle:@"Cancle" destructiveButtonTitle:nil otherButtonTitles:@"Share on FaceBook", nil];
        actionSheet.actionSheetStyle = UIBarStyleBlackTranslucent;
        [actionSheet showInView:[UIApplication sharedApplication].keyWindow];
        [actionSheet release];
    }
    

    问题。

    每次我选择“共享”,都会显示一个空白视图。

    如何停止TabBarItem加载其视图,而仅导致显示操作表?

    谢谢,并感谢您考虑我的问题!

    @克里斯托弗-答:谢谢您的回复。

    将以下代码放在我的“projectAppDelegate.m”中,但是在选择tabbaritem时未调用该方法。
    - (BOOL)tabBarController:(UITabBarController *)tabBarController shouldSelectViewController:(UIViewController *)viewController {
    if ([viewController.title isEqualToString:@"Share"]) {
        return NO;
    }
    return YES;
    

    最佳答案

    tabBarController: shouldSelectViewController:应该允许您以编程方式进行设置。
    检查出它的详细信息here

    关于ios - 从标签栏应用程序中的标签栏项目调用操作表,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/7288898/

    10-09 06:29