[英]drawRect Doesn't want to draw anything
我在情節提要上有一個ViewController。 我已經使用界面生成器在屏幕底部設置了一個工具欄。 我已經將自定義視圖設置為覆蓋drawRect的視圖。 但是,對於我一生而言,我無法從該drawRect調用的屏幕上顯示任何內容 。 drawRect本身就很好,但屏幕上沒有任何顯示。
另外,我還有一個ViewController和一個使用AVCaptureSession的方法來將其背景切換為來自攝像機輸入的實時取景。 我曾懷疑這可能是導致錯誤的原因,但在刪除AVCaptureSession的所有引用后,我仍然無法使其工作。
很抱歉,我的寫作和/或缺乏邏輯,我現在沒有任何睡眠。
編輯:這是一個不起作用的代碼的小例子。 內部的每個方法都被調用,但沒有任何東西可以顯示。
- (void)drawRect:(CGRect)rect {
[super drawRect:rect];
CGContextRef context = UIGraphicsGetCurrentContext();
CGContextSetStrokeColorWithColor(context, [UIColor redColor].CGColor);
// Draw them with a 2.0 stroke width so they are a bit more visible.
CGContextSetLineWidth(context, 2.0);
CGContextMoveToPoint(context, 0,0); //start at this point
CGContextAddLineToPoint(context, 100, 100); //draw to this point
// and now draw the Path!
CGContextStrokePath(context);
}
如果你要覆蓋UIView
, UIView
的文檔說不要調用[super drawRect]
。 刪除該電話! 眾所周知會導致奇怪的行為。
根據文件 :
如果直接子類化UIView,則此方法的實現不需要調用super。 但是,如果要子類化其他視圖類,則應在實現中的某個時刻調用super。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.