【问题标题】:how to draw UIButton with tint color and rounder from single side only如何仅从单面绘制带有色调颜色和圆角的 UIButton
【发布时间】:2012-10-11 07:23:18
【问题描述】:

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

【问题讨论】:

标签: objective-c ios uibutton


【解决方案1】:

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

具体实现见this post

更新:

如果您只想圆两个角,请检查 rdurand 评论中提到的 Round two corners in UIViewJust two rounded corners?。由于段控制是UIView 的子视图,这应该可以工作。

【讨论】:

  • 所有的角都已经圆了对吧?检查charles.lescampeurs.org/2011/02/10/…中的图像。如果您只想圆两个角,请查看 rdurand 对问题的评论。
  • 用这些链接更新了我的答案。
【解决方案2】:

您可以使用 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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-12-30
    • 1970-01-01
    • 2012-10-26
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多