Iphone 为另一个半透明视图后面的视图调用[view setNeedsDisplay]是否不会调用drawRect:?

Iphone 为另一个半透明视图后面的视图调用[view setNeedsDisplay]是否不会调用drawRect:?,iphone,ios,alpha,drawrect,subviews,Iphone,Ios,Alpha,Drawrect,Subviews,我有两种看法: 使用alpha 1.0查看A 视图B的alpha值为0.5 这两个视图都是子视图,视图B作为视图a之后的子视图添加,这意味着不透明视图a通过半透明视图B部分可见 在两个视图上调用setNeedsDisplay时,仅调用视图B的drawRect 我知道setNeedsDisplay不会立即调用drawRect,所以我想如果A是完全不可见的,这是有意义的 当我可以看到视图A到B的一部分时,为什么A的drawRect仍然没有被调用? 也许我没有正确理解文档?回答我自己的问题-在这种情况

我有两种看法:

使用alpha 1.0查看A
视图B的alpha值为0.5

这两个视图都是子视图,视图B作为视图a之后的子视图添加,这意味着不透明视图a通过半透明视图B部分可见

在两个视图上调用
setNeedsDisplay
时,仅调用视图B的
drawRect

我知道
setNeedsDisplay
不会立即调用
drawRect
,所以我想如果A是完全不可见的,这是有意义的

当我可以看到视图A到B的一部分时,为什么A的
drawRect
仍然没有被调用?
也许我没有正确理解文档?

回答我自己的问题-在这种情况下不会调用drawRect。

如果删除视图B(因此它不会遮挡视图A),视图是否会按您认为的那样重新绘制自己?这只是一个理论,但请确保视图B的
不透明
属性设置为否。这是与
alpha
分开的属性,操作系统使用它来执行图形优化,例如,可能会阻止在下面绘制视图。@Jessedc是的。当我有一个单一的视图时,它呈现的正是它应该呈现的…@Xono不幸的是,这不起作用:(尽管这是一个非常好的建议…)。。。。