隐藏在窗口上添加的视图
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 中视图/窗口的状态栏?