iOS支持图文混排的按钮(UIButton)

创建UIButton子类 直接上代码了

.h文件

创建UIButton子类 直接上代码了 

.h文件
#import <UIKit/UIKit.h>

@interface GraphicBtn : UIButton
@property (nonatomic,assign)CGRect titleRect;
@property (nonatomic,assign)CGRect imageRect;
@end

.m文件

 

#import "GraphicBtn.h"

@implementation GraphicBtn

- (id)initWithFrame:(CGRect)frame

{

self = [super initWithFrame:frame];

if (self) {

//可根据自己的需要随意调整

//        self.titleLabel.textAlignment = NSTextAlignmentCenter;

//

//        self.titleLabel.font = [UIFont systemFontOfSize:12.0];

self.imageView.contentMode = UIViewContentModeScaleToFill;

}

return self;

}

//重写父类UIButton的方法

//更具button的rect设定并返回文本label的rect

- (CGRect)titleRectForContentRect:(CGRect)contentRect

{

return self.titleRect;

}

//更具button的rect设定并返回UIImageView的rect

- (CGRect)imageRectForContentRect:(CGRect)contentRect

{

return self.imageRect;

}

@end

//  使用方法初始化按钮的时候自己计算好文字与图片的frame就可以了

时间: 2024-12-08 05:26:35

iOS支持图文混排的按钮(UIButton)的相关文章

IOS开发UI篇--一个支持图文混排的ActionSheet

一.简单介绍 UIActionSheet是IOS提供给我们开发人员的底部弹出菜单控件.一般用于菜单选择.操作确认.删除确认等功能.IOS官方提供的下面方式对UIActionView进行实例化: - (instancetype)initWithTitle:(NSString *)title delegate:(id<UIActionSheetDelegate>)delegate cancelButtonTitle:(NSString *)cancelButtonTitle destructive

Android 自绘TextView解决提前换行问题,支持图文混排

先看下效果图: 上面是MTextView,下面是默认的TextView. 一.原因 用最简单的全英文句子为例,如果有一个很长的单词,这一行剩余的空间显示不下了,那么规则就是不打断单词,而是把整个单词丢到下一行开始显示.这样本来没有错.一是咱们中国人都是方块字,怎么都放得下,不存在英文的这个问题.所以不习惯那个排版.二是如果TextView里面有图片,如图,不知道判断单词的代码是怎么弄得,总之它觉得最后一个啦字和后面的一串表情应该是一个整体,不能分开,就一起丢到第二行了,也就造成了这种难看的排版.

iOS coretext图文混排

需要引入CoreText框架 然后引入头文件 至于用这个框架排出来的版就是自定义cell决定的了,在这里我们可以引用一个第三方的自定义的cell 给从接口里申请下来的数据创建一个Model接收 初始化在字典里 在需要图文混排的页面 定义一个数组的属性,在viewDodLoad里创建一个个字典并把字典都加到数组里去, 在给字典格式的时候可以把字体的大小和颜色设置好,如果一次要给好几个显示的内容那么就像下面这么写 注意把他们存在字典里的key都是text 现在就是需要把数组里的数据显示在cell上面

IOS CoreText --- 图文混排之代码封装

上一节中,我详细的讲解了用面向对象的思想将Core Text的纯C语言的代码进行了封装.这一节,我将对"图文混排"的效果也进行封装工作.不过,这一节的代码是基于上一节的,所以,如果你没有浏览过上一节的内容,请点击这里.先看看最终的效果图: 现在,我们就来对上一节的代码,继续扩充. 1. 添加了图片信息,所以我们需要修改数据源(plist)的结构 1)为每一项添加了type信息,"txt"表示纯文本:"img"表示图片:图片信息包括name,wid

iOS 简单图文混排01

1.在Label中显示图片 // 图文混排显示 - (void)setLabel { // NSTextAttachment - 附件 NSTextAttachment *attachMent = [[NSTextAttachment alloc] init]; // 为附件设置图片 attachMent.image = [UIImage imageNamed: @"d_aini"]; // 键附件添加到图文混排 NSAttributedString *str = [NSAttribu

【iOS】使用CoreText实现图文混排

iOS没有现成的支持图文混排的控件,而要用多个基础控件组合拼成图文混排这样复杂的排版,是件很苦逼的事情.对此的解决方案有使用CoreText进行绘制,或者使用TextKit.本文主要讲解对于CoreText的使用. 案例下载地址 https://github.com/ClavisJ/CoreTextDemo 环境信息: Mac OS X 10.10.1 Xcode 6.1.1 iOS 8.1 正文: 一.Core Text简介 CoreText是基于IOS3.2及OSX10.5的用于文字精细排版

使用CoreText实现图文混排

OS没有现成的支持图文混排的控件,而要用多个基础控件组合拼成图文混排这样复杂的排版,是件很苦逼的事情.对此的解决方案有使用CoreText进行绘制,或者使用TextKit.本文主要讲解对于CoreText的使用. 案例下载地址 https://github.com/ClavisJ/CoreTextDemo 环境信息: Mac OS X 10.10.1 Xcode 6.1.1 iOS 8.1 正文: 一.Core Text简介 CoreText是基于IOS3.2及OSX10.5的用于文字精细排版的

自定义图文混排视图MyImageTextView

TextView本身是支持图文混排的,在手机上,通过TextView进行图文混排时,排版可能难以达到PC上浏览器的效果,特别是对于一些支持多种标签的发布系统. 1. 网上很容易找到的使用TextView实现图文混排的例子,大多是类似于下面的形式: TextView tv_Content; tv_Content.setText(Html.fromHtml(item.getContent(), GetImageGetter(), null)); private ImageGetter imageGe

TextKit实现图文混排

//    NSAttributedString   这个类可以设置文本属性:加粗.斜体.删除线.下划线... //    NSMutableAttributedString  可变属性文本:可以动态添加文本的属性 NSString *text = @"iOS实现图文混排的方式:1.WebView     html+javascript 2.CoreText   (C语言实现的框架) "; UITextView *textview = [[UITextView alloc] initW