Iphone 选项卡栏是否显示整个项目?

Iphone 选项卡栏是否显示整个项目?,iphone,ios,xcode4.5,Iphone,Ios,Xcode4.5,我在iOS Storybords中有一个选项卡栏应用程序。UItableview控制器连接到-->4套(UInavigation controller-->UItableview控制器)。每个UITableviewcontroller单元都连接到要推送的多个UIViewController 在构建应用程序时,导航选项卡显示在视图控制器的顶部,没有任何问题。但底部有4个项目的选项卡栏仅在第一个视图中可见。UIViewController不显示4项选项卡!??。我已经在属性检查器中将底部栏设置为选项

我在iOS Storybords中有一个选项卡栏应用程序。UItableview控制器连接到-->4套(UInavigation controller-->UItableview控制器)。每个UITableviewcontroller单元都连接到要推送的多个UIViewController

在构建应用程序时,导航选项卡显示在视图控制器的顶部,没有任何问题。但底部有4个项目的选项卡栏仅在第一个视图中可见。UIViewController不显示4项选项卡!??。我已经在属性检查器中将底部栏设置为选项卡栏。但它不起作用

我相信肯定有比我理解的更多的事情。希望有人能帮忙


如何在整个应用程序中显示选项卡栏?

UINavigationController
s放入
UITabbarController
s中,而不是以其他方式添加选项卡栏

您可以这样添加选项卡栏:-

Appdelegate.h

#import <UIKit/UIKit.h>

@class StartingViewController;

@interface Appdelegate : NSObject <UIApplicationDelegate> {
    UIWindow *window;
    StartingViewController *viewController;

    UITabBarController *tabBarController;
}

@property (nonatomic, retain) IBOutlet UIWindow *window;
@property (nonatomic, retain) IBOutlet StartingViewController *viewController;

@property (nonatomic,retain) UITabBarController *tabBarController;

-(void)addTabBarToView;

@end

我不完全确定你的设计,但这里有一些提示,希望能有所帮助

故事板设计:

基本tabbar应用程序布局通常从左到右是这样的,左侧的第一个控制器有一个小箭头,指示它是启动控制器

  • 您的第一个控制器应该是tabbar控制器
  • 每个选项卡都应连接到导航控制器
  • 每个导航控制器应连接到一个或多个UIViewController或UITableViewController
现在,请注意,虽然有高级配置,但这只是一个总体布局,可以很好地设置应用程序,并为每个选项卡提供轻松的推送转换

如果应用程序启动并显示选项卡栏,并且当您选择选项卡项时,它应显示该选项卡的视图控制器。如果tabbar仍然存在,那么您在这一点上都处于良好状态。如果您在该视图控制器上选择了某个对象,它会在屏幕上推送一个新的视图控制器,并且当这种情况发生时,您会丢失选项卡栏,那么很可能这就是问题所在: -检查视图控制器并在对象检查器中查找名为“按下时隐藏底部栏”的复选标记(如果选中),然后取消选中该复选标记。 如果您没有在那里找到它,那么检查视图控制器的代码,并在启动方法中查找语句:self.hidesBottomBarWhenPushed=YES;如果找到该命令,请将其注释掉或删除

如果这是您的设计并且在应用程序中有意义,那么在某些视图控制器上隐藏选项卡栏是完全可以的。通常,为了用户体验,最好尽量避免使用它,并尽可能将选项卡栏保留在屏幕上,但有时屏幕大小等问题可能会导致开发人员在某些工作流中隐藏它


我希望这对你的问题有所帮助。如果没有,很抱歉。

您的建议似乎很有希望,但我无法显示出来。你能不能解释得更详细一点-可能是一步一步。非常感谢。我已将四个uinavigationcontroller嵌入uitabarcontroller,然后将一个UITableViewcontroller连接到每个导航控制器。但在UIviewcontroller中显示选项卡栏时仍然没有运气(单击“表格视图”单元格时进入视图),我不太确定您的意思,但我看到您接受了答案,所以我想您找到了解决方案。
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {    

    // Override point for customization after application launch.

    // Add the view controller's view to the window and display.
    [window addSubview:viewController.view];
    [window makeKeyAndVisible];

    [self addTabBarToView];

    return YES;
}

-(void)addTabBarToView{

    FirstController *first = [[FirstController alloc] initWithNibName:@"FirstController" bundle:nil];
    first.title = @"First";

    SecondController *second = [[SecondController alloc] initWithNibName:@"SecondController" bundle:nil];
    second.title = @"Second";

    ThirdController *three = [[ThirdController alloc] initWithNibName:@"ThirdController" bundle:nil];
    first.title = @"Third";

    Forthcontrooler *Four4 = [[Forthcontrooler alloc] initWithNibName:@"Forthcontrooler" bundle:nil];
    second.title = @"Secfor";





   UINavigationController *navigationController1 = [[UINavigationController alloc] initWithRootViewController:first];

   UINavigationController *navigationController2 = [[UINavigationController alloc]initWithRootViewController:second];

   UINavigationController *navigationController3 = [[UINavigationController alloc] initWithRootViewController:three];

   UINavigationController *navigationController4 = [[UINavigationController alloc]initWithRootViewController:Four4];



    tabBarController = [[UITabBarController alloc] init];        

    tabBarController.viewControllers = [NSArray arrayWithObjects:navigationController1,navigationController2,navigationController3,navigationController4,nil];

    [window addSubview:tabBarController.view];

}