测试已测试 | ✗ |
语言语言 | SwiftSwift |
授权协议 | MIT |
发布最后发布 | 2017年7月 |
SwiftSwift 版本 | 3.1 |
SPM支持 SPM | ✗ |
由 Kyle Somers 维护。
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 每部分的数据类型。
func didTapButtonWheelAtName(name: String)
此函数将在 ButtonWheel 的代理中调用以处理按钮点击。传入函数的参数将是您分配给被点击按钮的名字。
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(...)
之后,不会替换图像,而是会在图像旁边添加标签。