我怎样才能有一个不透明的UIView作为一个半透明的UIView子视图?
我有一个0.5的alpha的UIView,我把它作为子视图添加到我的主视图中,以便灰化掉其他所有内容。 我想添加一个额外的UIView到这个灰色的UIView作为子视图 – 问题是,当我这样做时,我新添加的子视图也是部分透明的。
有没有办法让一个子视图“忽略”其超视图的alpha值,并使其本身完全不透明?
不,不是。 你想要的是采取覆盖视图,并使其具有清晰的背景色。 作为新覆盖的子视图,您的视图将会变灰。 作为一个兄弟姐妹的观点,把你的看法,你希望是不透明的。
[OpaqueView] [DimmingView] | | [OverlayView]
设置UIView背景颜色alpha不是直接的alpha。
Objective-C的
UIView *view; ... view.backgroundColor = [[UIColor blackColor] colorWithAlphaComponent:.6];
这不是一样的:
view.backgroundColor = [UIColor blackColor]; view.alpha = .6;
Swift 3
view.backgroundColor = UIColor.black.withAlphaComponent(0.6)
Swift 2.3
view.backgroundColor = UIColor.blackColor().colorWithAlphaComponent(0.6)
不要把它放在半透明的视图里面。 使它成为半透明视图的兄弟,并使用zsorting将其放在它上面。
这只有在背景上有任何图像时才有效。
而不是减lessUIView
的alpha
,在该视图上添加一个UIImageView
,然后减lessUIImageView
的alpha。
现在在UIView
上添加你的子视图。
你的子视图将不再采用alpha属性.. 🙂
不,任何视图都会inheritance父级的不透明度。
- 在iOS6中,在推入堆栈时遇到问题,强制ViewController到某个interfaceOrientation
- 如何在Interface Builder中的UILabel中inputunicode字符?
- 有条件的segue在UITableViewCell上点击执行
- 如何从命令行重置iOS模拟器?
- 如何添加一个右键到UINavigationController?
- UIImage的Swift游乐场
- 禁用UITextField的自动更正
- 架构i386的未定义符号:“_deflate”,在libMo.a中从PlatCompress(enumCompressOperation,CompressCookie *,void *,long)引用
- 如何在Objective-C中创build委托?