簡體   English   中英

如何在Objective-C中顯示虛線?

[英]How to display dashed lines in objective-c?

我有這段代碼來顯示帶有虛線的網格。 在下面的iphone 5上運行時,它顯示正常,但是如果我在iphone 5s上運行該應用程序,則沒有網格。 我在iPhone Simulator和真實設備上進行了測試,結果相同。

這是代碼:

if (self.dashLongitude) {
    CGFloat lengths[] = {3.0, 3.0};
    CGContextSetLineDash(context, 0.0, lengths, 2);
}

//other stuff here

CGContextSetLineDash(context, 0, nil, 0);

所以任何人都可以幫助?

編輯:大家好,我使用這里發布的相同代碼解決了問題,但使用的方法不同。 因此,我現在有兩種方法:一種僅用於繪制網格,另一種用於繪制數據線並最終使所有內容正常工作。

代碼看起來不錯。

當我查看代碼時,我看到您在上下文中設置了nil nil用於刪除虛線。

嘗試使用

CGFloat dash[] = {2.0, 2.0};
CGContextSetLineDash(context, 0.0, dash, 2);

在您要創建或提供筆划的位置(下方)。

CGContextSetLineDash(context, 0, NULL, 0);

用於刪除該破折號圖案。

不用在CGContextSetLineDash中設置nil ,只需將代碼包裝到CGContextSaveGState / CGContextRestoreGState即可在應用破折號之前保留上下文狀態:

CGContextSaveGState(context);

CGFloat dash[] = {2.0, 2.0};
CGContextSetLineDash(context, 0.0, dash, 2);    

// Draw some lines here

CGContextRestoreGState(context);

暫無
暫無

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

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