要安装依赖库,请将以下行添加到您的Podfile中:
pod "Peacock"
Peacock扩展了您可以使用UIAppearance协议设置的现有属性。在某种程度上,您可以选择更有效的配置,比UIView子类所允许的更多。
这是一个允许我们以“异步”方式设置UIView子类的某些属性的协议。我们配置我们的子类,同时从视图控制器/子视图中移出样式代码。操作系统将在将视图添加到屏幕之前应用所需的样式。
基本用法
[[UILabel appearance] setBackgroundColor:[UIColor whiteColor]];
大部分自定义创建的属性都以Lyst前缀LY开头。
[[LYTitleLabel appearanceWhenContainedIn:[LYProductView class], nil] setLYFont:TitleFont];
有关UIAppearance和Peacock的如何使用和最佳实践的短视频和博客文章。
我们强烈建议创建一个类,以CSS样式的方式在应用程序启动时尽快保存所有UI样式代码。
在您的实现文件中导入全局头文件Peacock.h。
#import "Peacock.h"
Peacock扩展了外观协议的可配置性。它的实现应该帮助在单个位置配置所有视图,以保持您的视图和控制器干净,不包含UI样式代码。
以下是Peacock扩展并可通过UIAppearance协议访问的属性和方法。
以下是我们已扩展的当前类及其可用属性列表。
设置按钮的可用方法和属性
-(void)setLYFont:(UIFont *)font forState:(UIControlState)state;
-(void)setLYTextColor:(UIColor *)textColor forState:(UIControlState)state;
-(void)setLYTextAlignment:(NSTextAlignment)textAlignment forState:(UIControlState)state;
@property (nonatomic, strong) UIColor *appearanceTintColor
标签的可用属性
@property (nonatomic, copy) UIFont *appearanceFont;
@property (nonatomic, copy) UIColor *appearanceTextColor;
@property (nonatomic, copy) UIColor *appearanceBackgroundColor;
@property (nonatomic, copy) UIColor *appearanceHighlightedTextColor;
@property (nonatomic, assign) CGFloat appearanceLineSpacingParagraphStyle;
@property (nonatomic, copy) UIColor* LYTextColor;
@property (nonatomic, copy) UIFont* LYFont;
@property (nonatomic, assign) NSLineBreakMode LYLineBreakMode;
@property (nonatomic, assign) NSTextAlignment LYTextAlignment;
@property (nonatomic, assign) CGFloat LYLineSpacing;
@property (nonatomic, assign) BOOL LYStrikeOut;
NavigationBar可用的属性
@property(nonatomic,assign,getter=isLYTranslucent) NSInteger LYTranslucent;
TableViews可用的属性
@property (nonatomic, strong) UIColor *appearanceSeparatorColor;
TextField可用的属性
@property (nonatomic, strong) UIFont* LYAppearanceFont;
@property (nonatomic, strong) UIColor* LYAppearanceTextColor;
@property (nonatomic, assign) NSTextAlignment LYAppearanceTextAlignment;
TextView的可配置属性
@property (nonatomic, strong) UIFont* LYAppearanceFont;
@property (nonatomic, strong) UIColor* LYAppearanceTextColor;
@property (nonatomic, assign) NSTextAlignment LYAppearanceTextAlignment;
Lyst 工程技术团队。
Lyst Peacock在MIT许可下可用。有关更多信息,请参阅LICENSE文件。