我正準備我的iPhone應用程序發佈iOS 5 GM,並遇到了與UIView的錯誤。當我重寫子類的drawRect方法時,模擬器顯示所需的結果,但是當我嘗試在實際設備上進行測試時,drawRect覆蓋根本沒有任何效果。iOS 5 UIView drawRect覆蓋不能在設備上工作
我甚至在一個drawRect覆蓋內放置了一個日誌語句並確認它正在被調用。
有沒有其他人注意到這個問題?
下面是我使用的是超越代碼:
- (void)drawRect:(CGRect)rect {
DebugLog(@"*** calling drawRect ***");
CGContextRef context = UIGraphicsGetCurrentContext();
// draw the dark gray background
CGContextSetFillColor(context, [SkinManager getWhiteColor]);
CGContextFillRect(context, CGRectMake(0.0, 0.0, rect.size.width, rect.size.height));
// draw the text field background in white
CGContextSetFillColor(context, [SkinManager getDarkGray]);
CGContextFillRect(context, CGRectMake(2.0, 2.0, rect.size.width - 4, rect.size.height - 4));
}
下面是產生顏色
+(const CGFloat*) getDarkGray {
UIColor *color = [UIColor colorWithRed:51/255.0 green:51/255.0 blue:51/255.0 alpha:1];
return [self getCGColor:color];
}
+(const CGFloat*) getCGColor: (UIColor*)color {
CGColorRef colorref = [color CGColor];
const CGFloat *components = CGColorGetComponents(colorref);
return components;
}
同樣的代碼,這個代碼完全在的iOS 4.x和在iOS 5的模擬器中。唯一破壞的地方是iOS 5設備。
請發佈您的代碼,它更可能存在一個問題比在iOS中,因爲它是如此非常基本,其他人也會遇到它,以及如果真的有一個錯誤(我們公司有幾個iOS應用程序,我們還沒有看到這方面的任何問題)。 – DarkDust
另外,iOS 5仍處於NDA之下,因此您可能需要訪問開發論壇。 – Phlibbo
我確實在開發論壇發佈了一個問題,但到目前爲止沒有人有任何答案。 – Jay