FocusTvButton 3.1.0

FocusTvButton 3.1.0

测试已测试
语言语言 SwiftSwift
许可证 MIT
发布最新版本2022年11月
SPM支持 SPM

David Cordero 维护。



  • David Cordero

FocusTvButton

Twitter: @dcordero License MIT Build Status Swift 5.0

UIButton 的轻量级包装,允许对 tvOS 进行额外定制

如果您想在 tableview cells 中实现相同级别的定制,您绝对应该查看 TvOSCustomizableTableViewCell

描述

FocusTvButton 允许在 tvOS 中定制 UIButtons,添加额外的属性来自定义布局属性,这些属性是 UIButtons 现成的不可定制的。

自定义属性

  • 焦点背景颜色
  • 非焦点背景颜色
  • 选中背景颜色
  • 圆角半径
  • 焦点时缩放因子
  • 焦点时阴影半径
  • 焦点时阴影透明度
  • 阴影颜色
  • 焦点时阴影偏移
  • 焦点动画持续时间
  • 焦点/非焦点时的标题颜色

双色,线性渐变属性

  • 焦点背景结束颜色
  • 非焦点背景结束颜色
  • 选中背景结束颜色
  • 渐变起始 & 结束点

通过设置“背景结束”颜色属性,可以配置一个简单的双色,线性渐变。如果没有设置“背景结束”颜色属性,则 FocusTvButton 将默认使用纯色背景颜色。

需求

  • tvOS 10.2+
  • Xcode 11.0+

用法

FocusTvButton 可编程集成或嵌入到 xib 文件中。

编程集成

FocusTvButton 是 UIButton 的子类,因此可以像常规 UIButton 一样创建和使用。

let myButton = FocusTvButton()
myButton.focusedBackgroundColor = .red
myButton.normalBackgroundColor = .white
myButton.cornerRadius = 12.0

// with optional gradient
myButton.focusedBackgroundEndColor = .green
myButton.normalBackgroundColor = .black
myButton.gradientStartPoint = .zero
myButton.gradientEndPoint = CGPoint(x: 0, y: 1)

嵌入 xib 或 Storyboard 文件中

由于 FocusTvButton 是 UIButton 的子类,第一步是从对象库中拖动一个常规的 UIButton 到您的视图。

然后,将“自定义类”的值改为“FocusTvButton”,并将按钮类型改为“自定义”,以避免默认的焦点行为。

就是这样...

可以使用 IBInspectables 在 Storyboard 中直接配置自定义属性。

安装

Cocoapods

CocoaPods 是 Cocoa 项目的依赖项管理器。您可以使用以下命令安装它

$ gem install cocoapods

要在 Xcode 项目中集成 FocusTvButton 使用 CocoaPods,请在您的 Podfile 中指定它

source 'https://github.com/CocoaPods/Specs.git'
platform :tvos, '9.0'
use_frameworks!

target '<Your Target Name>' do
    pod 'FocusTvButton', '~> 3.1.0'
end

然后,运行以下命令

$ pod install

Carthage

Carthage是一个去中心化的依赖管理器,它构建您的依赖并提供二进制框架。

您可以使用以下命令通过Homebrew安装Carthage

$ brew update
$ brew install carthage

要使用Carthage将FocusTvButton集成到您的Xcode项目中,在Cartfile中指定它

github "dcordero/FocusTvButton" ~> 3.1.0

运行carthage update构建框架,然后将构建的FocusTvButton.framework拖到您的Xcode项目中。

手工方式

如果您更喜欢,也可以手动将FocusTvButton集成到项目中,只需将FocusTvButton.swift复制到项目中即可。