2011-06-09 21 views
9

Çizgiler çizmem gerekiyor; bazıları kesikli ve diğerleri sürekli. Kesik olan ve olmayan hangileri olduğunu bilmiyorum. Bunun içinde çizilen çizgiler çizmek zaman, bunu kullanmaktan:Kesikli ve sürekli çizgiler çizme

CGContextSetLineDash(context, 5, linedashPattern, 2); // set dashed line 

Öyle bir noktalı çizgi çizin eğer sonraki olanları da tüm kesik olduğunu, ancak, olmuyor. Sürekli çizgi çizmek için "Kesik" durumunu sıfırlamak için bir işlem var mı? Örneğin :

CGContextSetLineContinuous(context,......); // set continuous line 

cevap

21
CGContextSetLineDash(context, 0, NULL, 0); 

B.t.w. Sadece belgeleri kontrol etmenizi tavsiye ederim. SO;

+0

Bir soruyu yayınlamaktan kesinlikle daha hızlı; açıklamanıza göre NULL ayarladıysam EXE_BAD_ACCESS alıyorum. – DivineDesert

+1

@DivineDesert EXE_BAD_ACCESS'iniz başka bir satırdan gelmiyor. Burada NULL argümanı, satırınızın ** tire kalıbı olmaması anlamına gelir **, NULL ayarını yaparsak çıktınızın katı bir çizgi olması gerektiği anlamına gelir. Https://developer.apple.com/library/mac/documentation/graphicsimaging/reference/CGContext/Reference/reference.html#//apple_ref/c/func/CGContextSetLineDash dokümanlarına bakın. – Tirth

+0

FYI Ben aynı EXE_BAD_ACCESS alıyorum ve 1'leri ve sıfırları kullanarak, çünkü oldu: CGContextSetLineDash (ctx, 1, NULL, 1); Yani çizgiyi tam olarak Nikolai'nin gösterdiği gibi kullanmaya dikkat edin. –