如何从单面颜色和圆形绘制UIButton

时间:2012-10-11 07:23:18

标签: objective-c ios uibutton

我想绘制一个充满红色调的UIButton或rgb和呈现的其他颜色,只有上边缘是圆形的
有些人回答我得到一个图像来做到这一点,但每次我想要改变它我必须带来新的图像并替换它,我想问我可以从代码中做到这一点没有得到一个图像。

2 个答案:

答案 0 :(得分:0)

没有直接的方法。实现此目的的唯一方法是创建一个段控件并在其中仅保留一个段。

有关详细实施,请参阅this post

<强>更新

如果你想只围绕两个角,请检查rdurand评论中提到的Round two corners in UIViewJust two rounded corners?。由于分段控制是UIView的子视图,因此应该可以使用。

答案 1 :(得分:0)

您可以使用NSBezierPath的bezierPathWithRoundedRect:xRadius:yRadius:方法绘制圆角。然后用另一条bezier路径画出它。或者您可以使用moveToPoint定义自定义贝塞尔曲线路径:lineToPoint:和curveToPoint:controlPoint1:controlPoint2:

看看这个: https://developer.apple.com/library/mac/#documentation/Cocoa/Reference/ApplicationKit/Classes/NSBezierPath_Class/Reference/Reference.html