【问题标题】:How to design UIButton? [duplicate]如何设计 UIButton? [复制]
【发布时间】:2017-02-06 03:28:47
【问题描述】:

如何在 iOS 中设计这样的 UI 按钮?我不明白如何设计这个:

【问题讨论】:

  • 我们如何在这里进行搜索?
  • 看看这个,因为它正在做圆角。 stackoverflow.com/a/37164262/3483812
  • 从字面上获取该图像,并将其作为按钮的图像转储,完成

标签: ios swift


【解决方案1】:

这不是很困难,答案here 应该可以满足一些修改的要求,我已经创建了一个你想要的按钮。请检查来自GitHub的代码

基本上,您可以为按钮创建一个扩展,并在其中提供所需的属性,如圆角,并根据您的要求指定角半径以及您希望应用半径的角,即在您的情况下左上角和右下角。

extension UIButton{
    func roundedButton(){
        let maskPAth1 = UIBezierPath(roundedRect: self.bounds,
                                 byRoundingCorners: [.topLeft , .bottomRight],
                                 cornerRadii:CGSize(width:20.0, height:20.0))
        let maskLayer1 = CAShapeLayer()
        maskLayer1.frame = self.bounds
        maskLayer1.path = maskPAth1.cgPath
        self.layer.mask = maskLayer1

    }
}

这会给你一个按钮 -

您可以根据需要自定义文字和文字颜色。

无论您想要多少自定义按钮,这都应该足够了。使用图像和故事板自定义需要对每个按钮进行返工,因此我推荐这种方法。更干净,更好。

【讨论】:

  • 它在调用中显示了额外的参数'byRounding corners'。为什么会显示?
  • 具体在哪里显示?
  • 在这一行显示错误----- let maskPAth1 = UIBezierPath(roundedRect: self.bounds, byRoundingCorners: [.top , .bottomRight],cornerRadii:CGSize(width:20.0,高度:20.0))
  • 请检查您正在使用的 xCode 版本,因为它没有显示任何错误。
  • 版本 6.0.1 (6A317)
【解决方案2】:

最简单的方法是创建一个带有图像的自定义按钮,然后将这些彩色斑点作为每个按钮的图像放入。然后添加标题并根据需要调整颜色和字体。您也可以在@Jetpack 提供的链接中根据需要创建遮罩层,尽管您可能需要在视图控制器的viewDidLayoutSubviews() 方法中更新遮罩层。

【讨论】:

  • 使用图像并不是最简单的事情。这实际上是更困难的方式。
  • @rmaddy,你为什么这么说?我一直觉得这很容易。
  • 查看其他答案。简单的代码。易于根据需要更改。对于图像,您需要使用正确的颜色和所有正确的尺寸创建每个图像。如果你想调整它,你需要编辑所有的图像。这是一种痛苦。它可以让您的应用更大,拥有更多图像。
  • 好的,我明白你的意思了。就按钮代码而言,图像方法更简单,但您对创建和维护图像的痛苦有所了解。我倾向于使用代码方法,但初学者可能会被创建自定义按钮类吓倒。
猜你喜欢
  • 2013-02-06
  • 1970-01-01
  • 1970-01-01
  • 2016-05-23
  • 1970-01-01
  • 1970-01-01
  • 2022-01-11
  • 2016-11-04
  • 2017-10-05
相关资源
最近更新 更多