簡體   English   中英

drawRect不想繪制任何東西

[英]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);
}

如果你要覆蓋UIViewUIView的文檔說不要調用[super drawRect] 刪除該電話! 眾所周知會導致奇怪的行為。

根據文件

如果直接子類化UIView,則此方法的實現不需要調用super。 但是,如果要子類化其他視圖類,則應在實現中的某個時刻調用super。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM