2014-03-24 39 views
-1

全部得到正确的UIColor,不能在矩形

我有这段代码:

- (void)drawRect:(CGRect)rect 
{ 
    CGContextRef context = UIGraphicsGetCurrentContext(); 
    CGContextSetFillColorWithColor(context, [UIColor redColor].CGColor); 
    CGContextFillRect(context, CGRectMake(0, 440, 320, 30)); 

和我这样称呼它:

_rectangeView = [[PopUpRectangle alloc] initWithFrame:CGRectMake(0, 538, 320, 30)]; 

但它是黑色的!

任何意见,为什么这是?

+0

在这里'rect'的值是多少?我怀疑你正在着色的那个实际上是出于观点的原因。边界!=帧和所有。 NVM增加了一个答案。 – Fogmeister

+0

是'DrawRect:'有没有叫?放置一个'NSLog()'看看它是否是。 – Popeye

回答

1

更改您的着色矩形像这样...

CGContextFillRect(context, CGRectMake(0, 0, 320, 30)); 

使用0,0作为起点不为0,440

这应该工作。

里面的drawRect你正在处理视图本身的向量空间而不是它的超级视图。所以0,0是您的rectangleView的左上角。

0

您的_rectangeView高度仅为30分,但上下文填充矩形边界y值为440.0;超出了视野的范围。尝试将y的值更改为0,您将看到该颜色。