【问题标题】:Tab Bar controller is not accessible标签栏控制器不可访问
【发布时间】:2011-05-24 10:50:59
【问题描述】:

我为 iphone 创建了一个基于标签的应用程序。当第一个选项卡按下时,将出现第一个视图。此视图包含一个按钮,按下它会加载另一个视图。

代码是:

-(IBAction)buttonPressed: (id) sender
{
    Cities *cv=[[Cities alloc] initWithNibName:@"Cities" bundle:nil];
    cv.modalTransitionStyle=UIModalTransitionStyleCoverVertical;
    [self presentModalViewController:cv animated:YES];  
    [cv release];
}

现在的问题是该视图正在整个屏幕中加载,因此我无法访问标签栏。 我已经为这个视图设置了框架,并且视图正在这个框架中加载, -(void)viewWillAppear:(BOOL)动画 { self.view.frame = CGRectMake(0, 0, self.view.frame.size.width, 400); } 但在其余部分出现白屏意味着无法访问标签栏。

我希望随时可以访问标签栏加载的任何内容。

请帮帮我。

【问题讨论】:

  • 当您使用 presentModalTransmisionViewController 时,它会显示一个不显示 tabBar 的新视图(如果它没有)。如果这个新视图在标签栏中有一个按钮,你可以调用那个方法。

标签: iphone objective-c ipad


【解决方案1】:

添加

cv.modalPresentationStyle = UIModalPresentationCurrentContext;

【讨论】:

  • 它出现但仅在视图加载期间,当视图加载时,它再次处于全屏状态。
  • 视图加载后你有没有做任何事情?
  • 不,只有 -(void)viewWillAppear:(BOOL)animated { self.view.frame = CGRectMake(0, 0, self.view.frame.size.width, 400); }
  • 如果我不这样做,那么它将再次全屏显示,如果这样做,则视图正在调整大小,但在剩余部分而不是标签栏白屏即将到来。
  • 它的视图名称在按下按钮时加载并出现在全屏隐藏标签栏控制器上。
【解决方案2】:

您是否尝试过在标签栏中使用UINavigationController 来挖掘您的UIViewControllers??

参考:Adding NavigationController to Tabbar

你真的需要一个 viewController 类来显示你想要显示的东西吗?

如果 der 没有使用核心功能,我认为使用UIView 会容易得多。

快乐编码:)

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2014-01-06
    • 1970-01-01
    • 2015-02-16
    • 1970-01-01
    • 1970-01-01
    • 2018-02-24
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多