【问题标题】:Xcode view transparent background without influencing subviewsXcode视图透明背景不影响子视图
【发布时间】:2015-05-24 06:50:52
【问题描述】:

我想为文本字段编写自定义键盘。的背景 键盘应该是透明的,但是当我尝试设置 keyboardView,其子视图的 alpha 也发生了变化。我怎样才能改变 只有键盘的阿尔法?我不想将其设置为 [UIColor clearColor]。

keyboardView.backgroundColor = [UIColor colorWithRed:0 green:0 blue:0 alpha:0.5];
keyboardView.alpha = 0.2;
keyboardView.backgroundColor = [[UIColor clearColor] colorWithAlphaComponent];

【问题讨论】:

  • 好吧,我认为不可能更改视图,但不能更改子视图。我唯一能想到的是在添加子视图之前将其设置为透明。试试看。
  • 如您所见stackoverflow.com/questions/18681901/…,您可以使用下一个方法:[parentView setBackgroundColor:[[UIColor clearColor] colorWithAlphaComponent:0.5]];
  • 在添加子视图之前将其设置为透明不起作用。如果我使用 setBackgroundColor: 什么都不会发生。

标签: ios objective-c xcode view transparency


【解决方案1】:

更改视图的 alpha 会更改视图及其所有子视图。

如果您希望视图的未绘制部分显示下面的内容,请将视图的 opaque 标志设置为 NO,然后将背景颜色设置为 clearColor。

【讨论】:

  • 当我尝试这个时,背景中有一个灰色的不透明层。你有什么想法我可以删除它吗?
  • 这可能是您的子视图之一。尝试从 Xcode 调试菜单中选择视图调试,然后选择“捕获视图层次结构”菜单项。然后旋转生成的快照并查看视图堆栈。还可以尝试“显示视图框架”。您可能还需要将一些子视图设置为 opaque = NO 和 backgroundColor = clearColor。
  • 感谢您的提示,但我只看到视图,我的文本字段是子视图。所以没有显示这个文本字段的keyboardView。
猜你喜欢
  • 2018-12-07
  • 1970-01-01
  • 2011-02-24
  • 2013-07-03
  • 2023-03-17
  • 1970-01-01
  • 1970-01-01
  • 2011-07-06
  • 1970-01-01
相关资源
最近更新 更多