当前位置: 首页 > 知识库问答 >
问题:

UINavigationBar上的灰色阴影

幸越泽
2023-03-14

当我切换到我制作的UIViewController时,我遇到了一个奇怪的问题。ViewController B(我要访问的)有一个UIView,它使用TransitionCoordinator和约束向下滑动,但它在右侧显示灰色阴影,如下所示:

完成segue后,它将返回半透明状态,并通过UINavigationBar以漂亮的模糊显示蓝色UIView。

此灰色阴影很可能是由于我从中选择的UITableViewController上该工具栏中的UIToolBar和UISegmentedControl造成的。看起来是这样的:

我使用这个代码与我的UIToolBar:

- (UIBarPosition)positionForBar:(id<UIBarPositioning>)bar {
    return UIBarPositionTopAttached;
}

我曾尝试使用过渡协调员淡出UIToolBar使用它的alpha属性,但没有成功。我还访问了其他类似的问题,但我没有任何进展。

奇怪的是,它有时会正常工作,但我不明白为什么它不总是发生,也不知道如何完全消除它。

更新:

Xcode视图层次结构:

查看列表中的层次结构:

透明导航栏:

更新2:

下拉UITableView也会显示这个,我如何附加UIToolbar?看起来委托方法不太管用

请帮我做这个,谢谢!

共有2个答案

司信厚
2023-03-14

自定义转换完成后,将从其容器中删除传出视图控制器。这可能就是为什么在过渡完成时,您会看到灰色区域消失的原因。它位于上一个视图控制器中。我可以通过创建一个UIViewController部分复制您的屏幕截图,其中包含一个具有透明背景的视图。使用标准动画,UIWindow默认背景色的灰色将显示出来。由于上一个视图控制器的位置稍微向右,因此它仅在导航栏的右侧显示。

要准确了解正在发生的情况,最好的html" target="_blank">方法是在调用completTransition:或在动画期间手动暂停调试器的位置放置一个断点。然后,您可以使用Xcode的视图层次结构调试器找出导致此问题的视图:

一旦你弄清楚它是哪个视图,你将需要确保它与你当前的动画一起动画(而不是在它之后),你将需要确保在两个动画完成后调用完成过渡:

姜宏盛
2023-03-14

我也遇到了同样的问题,原因是窗户的背景颜色是黑色的。

通过在应用程序:didFinishLaunchingWithOptions中设置窗口颜色以匹配视图控制器背景颜色,解决了此问题。

 类似资料:
  • 当我切换到我制作的UIViewController时,我遇到了一个奇怪的问题。ViewController B(我要访问的)有一个UIView,它使用TransitionCoordinator和约束向下滑动,但它在右侧显示灰色阴影,如下所示: 完成segue后,它将返回半透明状态,并通过UINavigationBar以漂亮的模糊显示蓝色UIView。 此灰色阴影很可能是由于我从中选择的UITabl

  • 灰色按钮 有两种情况:通过代码和控件属性 VB语言: 代码:ctrl+b查找 816C24,在JMP下断,然后F2运行程序,把 push ebp 改为 retn,或者把这些代码全NOP掉 控件属性:VBExplorer 辅Z工具改属性 Delphi/BC++语言: 代码:通过DEDE找FormCreate,记下地址,改 retn 控件属性:相关辅Z工具改属性 易语言: 代码:bp EnableWi

  • 我试图在我的手机上启用开发模式,但是按钮“启用”是灰色的,如何解决这个问题?

  • 问题内容: 在我的应用程序中,我有多个视图控制器,并且大多数都在右侧附加了直接的“显示” segue操作。 锁定到另一个视图然后按下按钮后,原始按钮项仍然淡出,尽管仍然可以使用。 这似乎仅在iOS 11.2下发生。 我看不到有任何设置可以做到这一点,并且至少在发生这种情况的一种情况下,没有特定的序列展开或处理。我会发布一些代码,但AFAICS只是默认行为。 问题答案: 这是iOS 11.2中的一个

  • 我一直在尝试使用pygame来显示游戏场景,但它似乎已经停止了对我的工作:在pygame关闭之前,它只在我创建的任何屏幕上显示一个灰色框,然后屏幕上应该显示的内容在退出之前短暂闪烁。例如,下面的最小代码显示灰色屏幕5秒钟,然后快速闪烁黑色并退出: 这似乎是屏幕显示的问题,而不是pygame本身的问题,因为我可以使用pg.image制作曲面并将其保存到图像文件中。save(),它们在那里看起来很好。

  • 如果RGB空间被渲染为立方体,则白色、黑色、红色、绿色、蓝色、黄色、洋红和青色将是角;格雷会躺在立方体的中心。 立方体表面的颜色有名字吗? 简单地说,非灰度可以量化为(从[0...1]的r,g和b) 在这里,白色、黑色、红色、橙色等的“非灰色”为1。