仅更改部分UIView的颜色

时间:2014-05-05 09:10:51

标签: ios objective-c uiview colors

我有一些UIView,我想仅对它的一部分应用一些效果,所以例如让我坐下来我有这个条UIView:

UIView *view=[[UIView alloc] initWithFrame:CGRectMake(0, 0, 300, 50)];

我想仅在CGRectMake(250, 0, 50, 50)];

中更改部分颜色

有办法吗?

*我不想在另一种颜色上方放置另一个矩形,因为这种效果会动态变化并动态变化。

谢谢。

1 个答案:

答案 0 :(得分:5)

您应该实施自己的UIView方法

- (void)drawRect:(CGRect)rect

Docs:

  

此方法的默认实现不执行任何操作。子类   使用Core Graphics和UIKit等技术来绘制他们的   view的内容应覆盖此方法并实现其绘图   代码那里

您应该收到类似

的内容
- (void)drawRect:(CGRect)rect
{
    CGRect frame = self.bounds;
    // Set the background color
    [[UIColor redColor] set];
    UIRectFill(frame);
    // Set the second color
    [[UIColor greenColor] set];
    UIRectFill(CGRectMake(250, 0, 50, 50));
}