NSAttributedString绘制按钮上图下字体
2018-01-10 12:58
190 查看
/// 使用图像和文本生成上下排列的属性文本 /// /// @param image 图像 /// @param imageWH 图像宽高 /// @param title 标题文字 /// @param fontSize 标题字体大小 /// @param titleColor 标题颜色 /// @param spacing 图像和标题间距 /// /// @return 属性文本 + (instancetype)imageTextWithImage:(UIImage *)image imageWH:(CGFloat)imageWH title:(NSString *)title fontSize:(CGFloat)fontSize titleColor:(UIColor *)titleColor spacing:(CGFloat)spacing { // 文本字典 NSDictionary *titleDict = @{NSFontAttributeName : [UIFont systemFontOfSize:fontSize], NSForegroundColorAttributeName : titleColor}; NSDictionary *spacingDict = @{NSFontAttributeName : [UIFont systemFontOfSize:spacing]}; // 图片文本 NSTextAttachment *attachment = [[NSTextAttachment alloc] init]; attachment.image = image; attachment.bounds = CGRectMake(0, 0, imageWH, imageWH); NSAttributedString *imageText = [NSAttributedString attributedStringWithAttachment:attachment]; // 换行文本 NSAttributedString *lineText = [[NSAttributedString alloc] initWithString:@"\n\n" attributes:spacingDict]; // 按钮文字 NSAttributedString *text = [[NSAttributedString alloc] initWithString:title attributes:titleDict]; // 合并文字 NSMutableAttributedString *attM = [[NSMutableAttributedString alloc] initWithAttributedString:imageText]; [attM appendAttributedString:lineText]; [attM appendAttributedString:text]; return attM.copy; }
相关文章推荐
- 3、文字及字体、菜单按钮、几何绘制
- 简单的自绘制按钮 和下拉列表的消息事件等 14.4.24
- C#学习笔记(十八):图形绘制进阶-线条、字体
- Qt字体轮廓的绘制
- 修改按钮的字体大小
- 设置返回按钮的颜色,中文字体
- 讨论cocos2d-x字体绘制原理和应用方案
- 修改 UIImagePickerController 选择照片状态栏颜色及导航栏按钮标题字体颜色
- 【微信小程序教程】点击按钮修改字体颜色
- C#GDI绘制自定义字体
- 绘制圆形按钮
- 绘制3D按钮
- AnctionBar透明背景,自定义字体颜色大小,自定义overflow按钮
- android 自定义View之将字体绘制在Rect中间
- ZTREE通过外部按钮动态改变树节点字体颜色
- bootstrap-按钮组、字体图标
- [前端] canvas绘制圆、渐变、字体和图片及其他
- 为vc按钮添加背景颜色和字体颜色
- UINavBar设置右边的按钮的时候遇到的坑之不能改变按钮字体颜色
- C# 训练场(三)WinForm 练习:字体选择器,文本框,按钮,超链接