设置 UIView 的一部分的 alpha
Posted
技术标签:
【中文标题】设置 UIView 的一部分的 alpha【英文标题】:Set alpha of a portion of a UIView 【发布时间】:2012-03-02 12:24:04 【问题描述】:当用户点击 SearchBar 时,我需要使视图的矩形部分变黑。我想不出办法做到这一点。我尝试了 CGRectMake,但如何设置该矩形的 alpha 值?
【问题讨论】:
【参考方案1】:您为什么不添加另一个UIView
并在某些事件中将其添加到UIView
?
【讨论】:
我有一个搜索栏,当用户点击它时,我使用 CATransition 将其向上移动,并显示取消按钮。现在,在此之后,我希望搜索栏下方的其余视图呈黑色......有点像 twitter 应用程序..#Discover 选项卡【参考方案2】:添加一个黑色背景的 UIImageView:
UIImageView *myView= [[UIImageView alloc] initWithFrame:CGRectMake(x, y, width, height)];
myView.backgroundColor = [UIColor blackColor];
[self.view addSubview:myView];
[myView release];
【讨论】:
【参考方案3】:可以通过以下方式向视图层添加子层来完成
UIView *view = [[[UIView alloc] initWithFrame:CGRectMake(50.0, 0.0, 100.0, 100.0)] autorelease]; view.backgroundColor = [UIColor grayColor]; [self.view addSubview:view];
CALayer *layerUP = [CALayer layer];
[layerUP setFrame:CGRectMake(0.0, 0.0, 100.0, 50.0)];
[layerUP setBackgroundColor:[UIColor colorWithRed:1.0 green:0.0 blue:0.0 alpha:1.0].CGColor];
[view.layer addSublayer:layerUP];
CALayer *layerDown = [CALayer layer];
[layerDown setFrame:CGRectMake(0.0, 50.0, 100.0, 50.0)];
[layerDown setBackgroundColor:[UIColor colorWithRed:1.0 green:0.0 blue:0.0 alpha:0.2].CGColor];
[view.layer addSublayer:layerDown];
【讨论】:
以上是关于设置 UIView 的一部分的 alpha的主要内容,如果未能解决你的问题,请参考以下文章