ButtonWheel 0.1.1

ButtonWheel 0.1.1

测试已测试
语言语言 SwiftSwift
授权协议 MIT
发布最后发布2017年7月
SwiftSwift 版本3.1
SPM支持 SPM

Kyle Somers 维护。



  • 作者:
  • Kyle Somers

ButtonWheel 允许您创建一个圆形按钮集合。当应用需要提供大量选项或集中式导航且具有流畅、现代外观时,它非常适用。它允许自定义按钮的图像和标签,以及更基本的属性,如颜色、尺寸和形状。

使用

ButtonWheel

init?(coder aDecoder: NSCoder)override init(frame: CGRect)

ButtonWheel 继承自 UIView。它可以通过上述从其超类中的方法实例化,无论是用 storyboard 还是编程方式。

func setupWith(buttonPieces: [ButtonPiece], middleRadius: MiddleRadiusSize)

在初始化后必须调用的设置函数,它将根据看起来构建视图。`middleRadius` 参数控制轮盘中央洞的大小。《MiddleRadiusSize》是一个枚举,其值为 `.small`, `.medium`, 和 `.large`。`buttonPieces` 接收一个 `ButtonPiece` 类型的数组,这是我们用来构建 ButtonWheel 每部分的数据类型。

ButtonWheelDelegate

func didTapButtonWheelAtName(name: String)

此函数将在 ButtonWheel 的代理中调用以处理按钮点击。传入函数的参数将是您分配给被点击按钮的名字。

ButtonPiece

init(name: String, color: UIColor, centerOffset: CGPoint)

每个 ButtonPiece 都必须有一个名字,它可以与您使用 `setLabel(...)` 添加的标签相对应。此名字也会匹配当在 ButtonWheel 的代理中调用时,传入 `didTapButtonWheelAtName(name: String)` 时使用的名字。`color` 参数将是按钮的背景颜色,而 `centerOffset` 将允许用户将图像和标签从其在 ButtonPiece 上的默认位置移动。

func setImage(image: UIImage, imageViewSize: CGSize, tintColor: UIColor?)

这设置了图像,当ButtonWheel装备上该部件时,将在ButtonPiece上显示出来。这些参数分别对应图像本身、您想为其设置的尺寸以及图像的着色色。如果您不想有着色色,可以将此参数设置为nil。调用此功能后在setLabel(...)之后,不会替换标签,而是会在标签旁边添加图像。

func setLabel(maxLabelWidth : CGFloat, labelFont : UIFont, textColor : UIColor)

这设置了标签,当ButtonWheel装备上该部件时,将在ButtonPiece上显示出来。这些参数分别对应标签应具有的最大宽度、标签的字体以及标签的文本颜色。调用此功能后在setImage(...)之后,不会替换图像,而是会在图像旁边添加标签。