RoundedUI 1.1.12

RoundedUI 1.1.12

Hien PhamHien Pham 维护。



RoundedUI 1.1.12

  • Hien Pham

RoundedUI

Platform Code Coverage

使用 Swift 编写的在 Interface Builder 上配置圆角 UI 组件。

在移动项目中,通常会有一种视图/按钮类型,我们称之为圆角按钮/视图,因为它具有以下属性:

  1. 完全圆角,看起来像一个圆,或者具有自定义的圆角半径。
  2. 具有边框和边框颜色及宽度。
  3. 可能或有阴影。

圆角按钮与圆角视图具有相同的上述属性,但有一些特定的按钮属性

  1. 没有背景图片,使用颜色替换。
  2. 是复合的(由许多按钮组合而成)。

alt text
圆角按钮的例子

不幸的是,Apple 并不支持直接修改 Interface Builder 中的属性以及修改界面。开发者必须手动编写代码,这既无聊又乏味。因此,创建了此框架,以便方便、容易地支持这些属性,并可在其他项目中重用。

要求

  • iOS 9.0+

示例

要运行示例项目,请克隆仓库,然后首先从 Example 目录中运行 pod install

安装

RoundedUI可以通过CocoaPods获取。要安装它,首先在Podfile中添加以下行

pod 'RoundedUI'

之后确保这一行不要被注释掉

use_frameworks!

使用

创建方法

编程方式

let view = RoundedView()
let button = RoundedButton()

Storyboard 和 XIB

  1. 拖拽一个新的UIButton或UIView。
  2. 将UIButton的类设置为RoundedButton或UIView的类设置为RoundedView(注意:您也可以将UIView的类设置为RoundedButton)。
  3. 为RoundedButton或RoundedView设置圆角配置或其他您需要的参数。

以下是一个配置示例视频:https://drive.google.com/file/d/1sAkDJGXIr0xWwuFAdjmtl0CsprAqkHfI/view?usp=sharing

可配置属性(在代码和Interface Builder中)

因为UIView没有如UIButton的高亮、选中和禁用状态。因此,这些类之间会有一些不同。

填充色

圆角按钮
  1. fillColorNormal:正常状态的填充色。默认为UIColor.clearColor()
  2. fillColorHighlighted:高亮状态的填充色。默认值为fillColorNormal,如果fillColorNormal与RGB兼容,则使用较深的色调,否则为nil。
  3. fillColorSelected:选择状态的填充色。默认为UIColor.clearColor()
  4. fillColorDisabled:禁用状态的填充色。默认为UIColor.clearColor()
圆角视图

fillColor:填充色。默认为透明的UIColor.clearColor()

边框颜色

圆角按钮
  1. strokeColorNormal:正常状态的边框颜色。默认为UIColor.clearColor()
  2. strokeColorHighlighted:高亮状态的边框颜色。默认值为strokeColorNormal,如果strokeColorNormal与RGB兼容,则使用较深的色调,否则为nil。
  3. strokeColorSelected:选择状态的边框颜色。默认为UIColor.clearColor()
  4. strokeColorDisabled:禁用状态的边框颜色。默认为UIColor.clearColor()
RoundedView

strokeColor:边框颜色。默认为UIColor.clearColor()

边框宽度

borderWidth:边框线宽。默认为0

圆角

  1. cornerRadius:圆角半径。默认为0
  2. isCircle:尝试将其圆角变为圆形。如果为true,则忽略cornerRadius

高亮(仅对RoundedButton有效)

highlightedEnabled:当点击时启用高亮状态。如果为YES(或true),则按钮在点击时高亮显示,否则按钮不显示高亮。

组合(仅对RoundedButton有效)

components:按顺序设置子组件以配置组合按钮。默认为空。

阴影

注意:当配置阴影时,请确保已关闭clipsToBound,否则阴影将不可见

  1. shadowColor:层的阴影颜色。
    此属性的默认值是不透明的黑色。
  2. shadowRadius:用于渲染层阴影的模糊半径(以点为单位)。
    指定此半径。此属性的默认值为3.0。
  3. shadowOffset:层阴影的偏移量(以点为单位)。
    此属性的默认值为(0.0, -3.0)。
  4. shadowOpacity:层阴影的不透明度。
    此属性中的值必须在0.0(透明)到1.0(不透明)的范围内。此属性的默认值为0.0。

高级圆角

有时你可能只想对某些特定的角进行圆角处理,比如只对左上角、右下角等进行圆角处理。在这种情况下,AdvanceRoundedViewAdvanceRoundedButton提供了以下属性,允许你选择性地对特定角进行圆角或不圆角处理:

  1. roundTopLeft:圆角视图的左上角。如果为true,则为圆角,否则不为圆角。
  2. roundTopRight:圆角视图的右上角。如果为true,则为圆角,否则不为圆角。
  3. roundBottomLeft:圆角视图的左下角。如果为true,则为圆角,否则不为圆角。
  4. roundBottomRight:圆角视图的右下角。如果为true,则为圆角,否则不为圆角。

注意:

  • 由于在实现此功能时可能会遇到典型的技术问题,请尽可能多地使用RoundedViewRoundedButton。只有当你需要圆角特定的角时才使用AdvanceRoundedViewAdvanceRoundedButton
  • AdvanceRoundedViewAdvanceRoundedButtonboundsframe更改动画不兼容。相反,请使用RoundedViewRoundedButton。如果你尝试使用AdvanceRoundedViewAdvanceRoundedButton进行动画处理,结果可能很奇怪且不确定。

作者

Hien,[email protected]

许可证

RoundedUI在MIT许可证下提供。有关更多信息,请参阅LICENSE文件。