隐藏在窗口上添加的视图

Posted

技术标签:

【中文标题】隐藏在窗口上添加的视图【英文标题】:hiding view added on window 【发布时间】:2012-01-24 06:27:06 【问题描述】:

根据要求,当视图来回移动时,顶部导航栏不应移动.... 所以我在UIWindow 的实例上添加了顶栏……但是当我打开相机时,这个顶栏也出现在那里……有没有办法隐藏这个顶栏。 我隐藏了默认导航栏,而是使用了imageView 对象。 我创建了一个从superView 中删除它的函数,但它不起作用。

代码::

UIImageView *imgViewNavigatioBar=[[UIImageView alloc] init];
    imgViewNavigatioBar.frame=CGRectMake(self.window.bounds.origin.x, self.window.bounds.origin.y, kAppWidth, 100.0);
    imgViewNavigatioBar.image=[UIImage imageNamed:kNavigationBarImage];
    [[self window] addSubview:imgViewNavigatioBar];

【问题讨论】:

【参考方案1】:

添加图像视图时,为该图像视图设置标签,如下所示。

UIImageView *imgViewNavigatioBar=[[UIImageView alloc] init];
imgViewNavigatioBar.tag = 100;
...

然后,无论您想在任何类中隐藏该图像视图,请执行以下操作。

UIWindow *window = [[UIApplication sharedApplication] keyWindow];
UIImageView *iv = (UIImageView*)[window viewWithTag:100];
iv.hidden = YES;

【讨论】:

for(UIView *view in [self window].subviews) if([view isKindOfClass:[UIImageView class]]) [view removeFromSuperview]; else if([view isKindOfClass:[UIButton class]]) [view removeFromSuperview]; else 它现在对我有用...谢谢!

以上是关于隐藏在窗口上添加的视图的主要内容,如果未能解决你的问题,请参考以下文章

为啥视图隐藏在状态栏后面?

视图加载后是不是可以在工具栏上添加、删除或隐藏按钮?

UINavigationBar 的高度错误,因为加载时状态栏被隐藏

如何在 SwiftUI 中隐藏 macOS 中视图/窗口的状态栏?

presentViewController 不隐藏弹出框,弹出框出现在呈现的模态视图上

隐藏BAT黑窗口