我想知道之间的区别:
在屏幕截图中,我制作了两个UIViews,每个UIVabs上有两个黑色(alpha = 1.0)UILabel:

假设之前定义了一个宏_RGB:
#define _RGB(r,g,b,a) [UIColor colorWithRed:r/255.0 green:g/255.0 blue:b/255.0 alpha:a]
Run Code Online (Sandbox Code Playgroud)
然后这里是代码::
[_view1 setBackgroundColor:_RGB(255, 0, 0, 1)];
[_view1 setAlpha:0.5];
[_view2 setBackgroundColor:_RGB(255, 0, 0, 0.5)];
[_view2 setAlpha:1];
[_view3 setBackgroundColor:_RGB(255, 0, 0, 1)];
[_view3 setAlpha:1];
Run Code Online (Sandbox Code Playgroud)
我只能在视觉上看到一个区别:更改视图自己的alpha而不是bg颜色,也会影响子视图.但除此之外,我应该考虑的功能有什么不同吗?(例如,关于动画,图层等)