【问题标题】:How can I round only 2 corners of a button in Xcode? [duplicate]如何在 Xcode 中仅舍入按钮的 2 个角? [复制]
【发布时间】:2018-05-02 21:58:12
【问题描述】:

我有一个在所有四个角上都是圆角的按钮,因为我使用用户定义的运行时属性面板使其变成圆角...但是一旦运行应用程序,我发现如果只有右侧是按钮会更好圆形,左侧只是方形。有没有办法我可以做到这一点?我正在使用 Xcode 9.1 和 Swift 4。

【问题讨论】:

  • 您需要使用智能苹果工程师提供的UIBezierPath API。创建一个类作为 UIButton 的子类,在情节提要中为您的按钮提供该类。然后在 draw 方法中进行设计。

标签: ios swift xcode button


【解决方案1】:

你只需要

    let path = UIBezierPath(roundedRect: self.testButton.bounds, byRoundingCorners:[.topRight, .bottomRight], cornerRadii: CGSize(width: 10, height: 10))
    let maskLayer = CAShapeLayer()
    maskLayer.frame = self.testButton.bounds
    maskLayer.path = path.cgPath
    self.yourButton.layer.mask = maskLayer

O/P 看起来像

你说

我看到如果只有右侧是按钮会更好 四舍五入,左侧只是平方

没有明确提到右上角和右下角是否会变圆所以我冒昧地想象一下。你可以通过修改选择你想要的任何东西

[.topRight, .bottomRight]

我在上面的代码中指定的值

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-05-06
    • 2022-12-20
    • 2020-12-18
    相关资源
    最近更新 更多