0

赤い色合いの色またはrgbによって表示される他の色で塗りつぶされたUIButtonを描画したいのですが、上端のみが丸みを帯びています。
一部の人々はそれを行うために画像を取得するために私に答えますが、私がそれを変更したいたびに私は新しい画像を持ってきてそれを置き換える必要があります、私は画像を取得せずにコードからそれを行うことができますか?

4

2 に答える 2

0

直接的な方法はありません。これを実現する唯一の方法は、セグメントコントロールを作成し、その中に1つのセグメントのみを保持することです。

詳細な実装については、この投稿を参照してください。

アップデート:

2つの角だけを丸めたい場合は、UIViewで[2つの角を丸める]をオンにしますか、それとも2つの角だけを丸めますか?rdurandのコメントで述べたように。セグメント制御はのサブビューであるためUIView、これは機能するはずです。

于 2012-10-11T07:39:15.333 に答える
0

NSBezierPathのbezierPathWithRoundedRect:xRadius:yRadius:メソッドを使用して、丸みを帯びた角を描くことができます。そして、別のベジェパスでそれを描画します。または、moveToPoint:lineToPoint:およびcurveToPoint:controlPoint1:controlPoint2:を使用してカスタムベジェパスを定義することもできます。

これを見てください: https ://developer.apple.com/library/mac/#documentation/Cocoa/Reference/ApplicationKit/Classes/NSBezierPath_Class/Reference/Reference.html

于 2012-10-11T07:53:41.250 に答える