【问题标题】:pushed view should appear with transparent background推送的视图应该以透明背景出现
【发布时间】:2017-12-01 20:58:11
【问题描述】:

我只是从一个视图推动另一个视图。 在此代码之后,推送的视图将显示为透明。 我之前用过很多次。就这么简单。

settings *set = [[settings alloc] initWithNibName:@"settings" bundle:nil];
set.view.backgroundColor = [ [UIColor blueColor] colorWithAlphaComponent:0.3f];
[self.navigationController pushViewController:set animated:YES ];

但现在有了最新的 iosxcode , 推送视图不再透明。 所以如果有人对此有任何其他解决方案,请告诉我。

我已经提到了很多关于这个的帖子

并询问了许多其他成员,但无法获得此问题的解决方案。

【问题讨论】:

  • 首先,用正确的格式写问题!你的推送视图看起来如何?如果可能,请添加有问题的屏幕截图!
  • 在设置的viewDidLoad中加入这一行。 self.view.backgroundColor = [ [UIColor blueColor] colorWithAlphaComponent:0.3f];
  • 它不起作用@KKRocks。
  • 添加行:self.navigationController.view.backgroundColor = [UIColor clearColor];
  • @Lion 我添加了屏幕截图。你可以看到第一页应该在背景中可见。但它不在这里。我以前用过很多次,但这次它不起作用。

标签: ios objective-c uiview pushviewcontroller


【解决方案1】:

您应该展示您的view controller 而不是push,因为使用推送,您无法实现显示先前视图控制器的透明度!

您可以调试视图层次结构,以检查您的顶视图和前一个视图之间有多少视图。

要调试视图层次结构,您可以从调试区域点击Debug View Hierarchy 按钮

【讨论】:

  • 在推送页面上,在 uiwindow 和 uiview 之间还有其他 3 个视图层次结构。这些是 UiLayoutContainerView , UiNavigationTransitionView , UiViewcontrollerWrapperView 。 .. 所以你是说,要使 uiview 透明,我们必须使 3 个视图之间的所有视图也透明,是吗?
  • 是的!可能是我想!我还没有尝试过这种东西,但所有视图都应该有清晰的颜色,它们之间会保持一致!我建议你展示视图控制器而不是推送!
  • 好方法。我也会尝试目前的观点。但我之前多次使用这些编码。我以前从未遇到过关于这个问题的问题。
  • 抱歉回复晚了,我试过展示视图控制器而不是推送。但答案是一样的。我没有工作。
猜你喜欢
  • 2016-05-01
  • 2011-02-24
  • 1970-01-01
  • 2023-03-17
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多