2011-07-01 136 views
1

可能重複:
iOS Draw Rectagle with curved ends繪製一個圓角矩形一側倒圓

在Objective-C(iPhone應用程序),我將如何寫一個函數,它接受在一個CGRect並繪製出一個單側的圓角矩形。這是一個片面的圓角矩形的樣子:

ooooooooooooooo 
o    o 
o     o 
o    o 
o    o 
ooooooooooooooo 

該圖形是很難看到,但基本上,它就像一支鉛筆,只是沒有在圓方尖。我想用CGContext方法的組合來做到這一點。有人可以提供這些代碼嗎?

+0

[This one](http://stackoverflow.com/questions/1031930/how-isrounded-rect-view-with-transparency-done-on-iphone/1031936#1031936)告訴你如何畫出一個圓角矩形,所有四個角都是圓形的 - 它不應該很難適應,所以2個角是銳利的。 –

+0

謝謝丹尼爾。我試圖使用該代碼,但無法弄清楚。我只想在矩形(右側)上有一個圓角。我只是不知道如何使用CGContextAddArcToPoint方法。 – StanLe

+0

很高興提供幫助。不過,不要害怕嘗試。特別是在繪畫時,最糟糕的情況是您繪製的東西不是您想要的東西,而且繪製的任何東西都會教您一些關於問題功能如何工作的信息。 – Caleb

回答

2

UIBezierPath提供了許多構造各種路徑的方法。如果這還不夠,CoreGraphics(又名Quartz)提供了一套完整的路徑操作。這些解決方案都可以汲取您描述的路徑。

+0

我已經看到了這些方法,但仍然無法弄清楚。你能解釋一下CGContextAddArcToPath方法嗎?我似乎無法弄清楚如何使用那個。這些參數意味着什麼? – StanLe

+0

猜測你的意思是[CGContextAddArcToPoint](http://tinyurl.com/3cj23h2),對吧?這些參數在那裏解釋。你提供兩條線形成一個角度,所以你需要三點:起點,頂點和終點。起始點是路徑中的當前點,因此您只需要指定第一條線的終點(頂點)和第二條線的終點。你也提供半徑。試用一些不同的值,你會很快看到它是如何工作的。 – Caleb

+0

非常感謝你!現在我懂了。 – StanLe