隐藏 uitoolbar 在视图和标签栏之间留下空隙

Posted

技术标签:

【中文标题】隐藏 uitoolbar 在视图和标签栏之间留下空隙【英文标题】:hiding uitoolbar leaves gap between view and tab bar 【发布时间】:2013-09-18 20:28:43 【问题描述】:

我有一个包含 3 个选项卡的应用程序。第一个选项卡加载导航控制器工具栏。如果我切换选项卡,或者在同一个选项卡中没有工具栏的情况下转到另一个视图,那么我会在视图和工具栏之间的底部留下一个间隙,这与工具栏的高度相同。

如何使视图全屏显示。这不会发生在 ios6 上,只有 ios7

我正在以编程方式创建工具栏

- (void) viewWillAppear:(BOOL)animated

    UIBarButtonItem *print = [[ UIBarButtonItem alloc ] initWithTitle: NSLocalizedString(@"Print", @"Print button") style: UIBarButtonItemStyleBordered target: self action: @selector(showPrint:) ];
    UIBarButtonItem *email = [[ UIBarButtonItem alloc ] initWithTitle: NSLocalizedString(@"Email", @"Email button") style: UIBarButtonItemStyleBordered target: self action: @selector(showEmail:) ];

    NSArray *buttons = [NSArray arrayWithObjects: print, email, nil];
    [self setToolbarItems: buttons animated:NO];
    [[self navigationController] setToolbarHidden:FALSE];

并像这样隐藏它

- (void) prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender

    if ([[segue identifier] isEqualToString:@"toAddMed"])
    
        [[self navigationController] setToolbarHidden:YES animated:NO];
    

【问题讨论】:

【参考方案1】:

发现问题。结果是,当我创建场景时,尚未创建约束,因此视图不会自动调整大小,添加缺少的约束解决了问题

【讨论】:

您能否详细说明该解决方案?我遇到了一个非常相似的问题。 我必须在情节提要中选择我想要的视图,然后转到编辑器 -> 解决自动布局问题 -> 重置为建议的约束

以上是关于隐藏 uitoolbar 在视图和标签栏之间留下空隙的主要内容,如果未能解决你的问题,请参考以下文章

为啥从搜索栏退出键盘后会留下 UIToolbar?

当栏位置为 UIBarPositionTopAttached 时,UIToolbar 阴影不会隐藏

UITabbarController + UINavigationController,使用 UIToolbar 代替标签栏的详细视图

如何在 iOS 11 和 iPhone X 上实现隐藏 UITabBar 以显示 UIToolbar

添加子视图会在子视图和导航栏之间留下空隙

iphone中隐藏uipickerview的问题