如何使用标签栏以全屏模式打开 UIView?

Posted

技术标签:

【中文标题】如何使用标签栏以全屏模式打开 UIView?【英文标题】:How to open an UIView in fullscreen mode with a tabbar? 【发布时间】:2010-12-20 19:56:15 【问题描述】:

这是我的问题。

    我有一个 tabBar 应用程序。 在第一个选项卡中,我有一个表格。 点击表格会显示一个模态 查看。 从模态视图返回到第一个视图 看,我用
[self presentModalViewController:nw animated:YES];

问题是,如果我在打开模态视图时单击标签栏,它会打开第二个视图,但第一个视图的表格不起作用,因为模态视图仍处于打​​开状态,尽管它显示为已关闭。

这是一种在覆盖标签栏的全屏模式下打开模式视图的方法吗? 或者还检查模态视图是否从另一个视图关闭? 编辑: 我尝试了所有这些代码:

 nw = [[NewsViewController alloc] initWithNibName:@"NewsViewController" bundle:nil];
 nw.modalInPopover = YES;
 nw.wantsFullScreenLayout = YES;
 nw.hidesBottomBarWhenPushed = YES;
 nw.contentSizeForViewInPopover = CGSizeMake(320, 480);
 nw.modalPresentationStyle = UIModalPresentationFullScreen;
 nw.view.frame = [[UIScreen mainScreen] applicationFrame];
 [nw.view setNeedsLayout];

但是什么都没有!!!不能全屏!! 请问有什么想法吗? 谢谢, 阿尔伯托

【问题讨论】:

您以模态方式呈现什么视图/视图控制器? @middaparka: 是点击table view时翻转的view,点击[self present.....]时关闭 【参考方案1】:

如果您呈现的视图是全屏的,这应该会遮挡标签栏。也就是说,您可能需要以编程方式重新调整视图的大小,使其与 UIWindow 的大小相同。

你应该能够按照...的方式做一些事情

[nw setFrame:[[UIScreen mainScreen] applicationFrame]];
[nw setNeedsLayout];

...实现这一点。 (抱歉,我目前在 Windows 机器上,所以我无法确认这一点。希望有人会在需要时提供任何调整。)

然后您应该通过原始类中的委托方法关闭初始模式视图。 (请参阅 Apple 的 View Controller Programming Guide for ios 的“解除模态视图控制器”部分。)然后,原始类将处理模态视图。

【讨论】:

对不起,我无法以这种方式全屏显示 nw ......它是一样的。【参考方案2】:

使用通知解决!

当标签更改时,我发送通知并关闭模态控制器。

- (BOOL)tabBarController:(UITabBarController *)tbController shouldSelectViewController:(UIViewController *)viewController  
    [[NSNotificationCenter defaultCenter] postNotificationName:@"DataComplete" object:nil];
    return YES;

在我看来,类会收到通知并关闭控制器!

- (void)downloadDataComplete:(NSNotification *)notif 
    NSLog(@"Received Notification");

    [self dismissModalViewControllerAnimated:YES];

现在可以重新打开模态视图并更改选项卡! 这是一种解决方法,但有效!

阿尔贝托。

【讨论】:

如果你想要全屏,请从界面生成器中删除 uiviewcontroller 对象!

以上是关于如何使用标签栏以全屏模式打开 UIView?的主要内容,如果未能解决你的问题,请参考以下文章

如何以全屏模式自动打开网页

在 Windows 上以全屏模式运行 chrome

默认情况下如何以全屏模式启动 uwp webview 应用程序

如何以全屏模式直接将 android 启动到我的应用程序中

PWA 无法在 iphone/ipad 上以全屏模式打开

当链接中引用视频时,是不是可以在 iPad 上以全屏模式打开 .mp4?