前言
UIButtonConfiguration是iOS15新增的用于指定按钮及其内容的外观和行为的一种配置。
可以使用它配置和更新按钮,一个按钮配置包含了其他所有可用的自定义选项方法,并且可以作为这些方法的替代。并且可以将配置与这些其他方法结合使用来定制按钮行为和外观,而无需重写自定义的UIButton代码。
详述
- 默认配置
- plainButtonConfiguration:为具有透明背景的按钮配置
- grayButtonConfiguration:为具有灰色背景的按钮配置
- tintedButtonConfiguration:为具有着色背景色的按钮配置
- filledButtonConfiguration:为其背景填充有按钮的色调的按钮配置
- borderlessButtonConfiguration:为具有无边框样式的按钮配置
- borderedButtonConfiguration:为具有边框样式的按钮配置
- borderedTintedButtonConfiguration:为具有着色边框样式的按钮配置
- borderedProminentButtonConfiguration:为具有突出边框样式的按钮配置
-
属性相关
title属性
-
title:按钮标题
-
subtitle:按钮子标题
-
attributedTitle: 按钮富文本标题
-
attributedSubtitle: 按钮富文本子标题
-
titleTextAttributesTransformer:用于按钮状态变化时更新titleTextAttributes的block
-
subtitleTextAttributesTransformer:用于按钮状态变化时更新subtitleTextAttributes的block
-
titlePadding:titleLabel和subtitleLabel的间距
-
titleAlignment:title和subtitle的对齐方式
image属性
-
image:按钮显示的图片
-
imagePadding:按钮的图像和文本的间距
-
imagePlacement:图片在按钮中的位置
-
imageColorTransformer:用于按钮状态变化时更新imageColor的block
-
preferredSymbolConfigurationForImage:按钮符号图片的配置(UIImageSymbolConfiguration)
布局属性 -
buttonSize:(UIButtonConfigurationSize)按钮期望大小
-
contentInsets:(NSDirectionalEdgeInsets)按钮内容的内边距
-
setDefaultContentInsets:恢复默认contentInsets
颜色属性
-
baseBackgroundColor
-
baseForegroundColor
背景属性
-
background:(UIBackgroundConfiguration)
-
cornerStyle:(UIButtonConfigurationCornerStyle)
指示器属性
-
indicator:(UIButtonConfigurationIndicator)
-
indicatorColorTransformer:用于按钮状态变化时更新indicatorColor的block