使用常规的 UIButton
,您可以设置标题和该按钮的图像,但该内容将不会在水平方向上居中(只有标题会)。
JTImageButton 是一个 UIButton
子类,它使得 标题+图像 更容易实现。您的图像和标题将一起水平和垂直居中。您还将能够更容易地调整提供的图像并更改其颜色,所以基本上您只需要提供文本作为标题和图像(无需更多图像资源编辑即可在按钮中获取所需的图像)。
有两种方法可以将 JTImageButton 库添加到您的项目中。添加为常规库或者通过 CocoaPods 安装。
pod 'JTImageButton'
使用以下命令快速尝试示例项目:
pod try JTImageButton
库需要支持 iOS 7.0 及以上版本
在您的 .xib/storyboard
中创建具有 IBOutlet
的 UIButton 并将其类设置为 JTImageButton
(同时按钮类型应该为 自定义
),或者如果您需要程序化的话使用 initWithFrame
。
使用 - (void)createTitle:withIcon:font:iconHeight:iconOffsetY:
或者为了保持 原始图像大小,使用 - (void)createTitle:withIcon:font:iconOffsetY:
[self.btn createTitle:@"DONE"
withIcon:[UIImage imageNamed:@"icon_tick"]
font:nil
iconHeight:JTImageButtonIconHeightDefault
iconOffsetY:JTImageButtonIconOffsetYNone];
iconHeight
< original image
-> 缩放
iconHeight
>= original image
-> 原始图像
iconHeight
== 0
或 JTImageButtonIconHeightDefault
-> 通过标题缩放
@property (nonatomic, strong) UIColor *titleColor;
@property (nonatomic, assign) UIColor *iconColor;
@property (nonatomic, strong) UIColor *bgColor;
@property (nonatomic, strong) UIColor *borderColor;
@property (nonatomic, assign) JTImageButtonPadding padding; // Small/Medium/Big/None
@property (nonatomic, assign) CGFloat cornerRadius;
@property (nonatomic, assign) CGFloat borderWidth;
@property (nonatomic, assign) JTImageButtonIconSide iconSide; // Left/Right
@property (nonatomic, assign) CGFloat highlightAlpha;
@property (nonatomic, assign) CGFloat disableAlpha;
@property (nonatomic, assign) BOOL touchEffectEnabled;
该库由Jakub Truhlar开源。
MIT许可证(MIT)版权所有 © 2015 Jakub Truhlar