2014-03-24 75 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,您將看到該顏色。