#import <UIKit/UIKit.h> @interface MyButton : UIButton -(void)setFrame:(CGRect)frame ImageName:(NSString*)imageName Target:(id)target Action:(SEL)action Title:(NSString*)title Font:(CGFloat)font; @end
#import "MyButton.h" #import "Constant.h" @interface MyButton () { CGRect boundingRect; } @end @implementation MyButton -(void)setFrame:(CGRect)frame ImageName:(NSString*)imageName Target:(id)target Action:(SEL)action Title:(NSString*)title Font:(CGFloat)font { self.frame = frame; [self setTitle:title forState:UIControlStateNormal]; //设置背景图片,可以使文字与图片共存 [self setImage:[UIImage imageNamed:imageName] forState:UIControlStateNormal]; [self addTarget:target action:action forControlEvents:UIControlEventTouchUpInside]; [self.titleLabel setFont:[UIFont systemFontOfSize:font]]; boundingRect=[self.titleLabel.text boundingRectWithSize:CGSizeMake(frame.size.width, font) options:NSStringDrawingUsesLineFragmentOrigin attributes:@{NSFontAttributeName:[UIFont systemFontOfSize:font]} context:nil]; } - (CGRect)imageRectForContentRect:(CGRect)contentRect { CGFloat width = IsIphone6plus || IsIphone6 ? 40 : 30; CGFloat imageX=(self.frame.size.width-width)/2; CGFloat imageY=0; CGFloat height=width; return CGRectMake(imageX, imageY, width, height); } - (CGRect)titleRectForContentRect:(CGRect)contentRect { CGFloat imageX=(self.frame.size.width-boundingRect.size.width)/2; CGFloat imageY=contentRect.origin.y+self.imageView.bounds.size.height; CGFloat width=self.frame.size.width; CGFloat height=25; return CGRectMake(imageX, imageY, width, height); } @end
相关推荐
下面小编就为大家分享一篇Android自定义TextView实现文字图片居中显示的方法,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
UIButton+CenterImageAndTitle是UIButton的Category,专门用于修改UIButton的图片和文字位置,提供修改图片和文字位置的五种模式:1、图片和文字上下居中,图片在上,文字在下;2、图片和文字左右居中,文字在左,...
自定义QComboBox,实现文字居中显示
图标在上,文本在下(居中) 6.图标在下,文本在上(居中) 并提供两种方式创建按钮---1.类方法 2. 自定义构造方法:可以直接传递status状态 如果有什么新功能需要添加或者存在什么问题,请留意!当天回复,谢谢
报表开发工具FineReport参数控件和报表内容自动居中设置方法
图片再上,文字在下,在屏幕中居中显示,内置CSS样式。
而常遇见的问题就是,每一个RadioButton时有一个图标和下方的文字组成,图标居中时,文字如果居中会出现文字过长时(例如5个)会自动换行,效果就是文字显示不全,而我们想要的效果是:图片文字都居中显示,而且文字一...
文字和图片居中显示,在设置时 android:drawableLeft="@drawable/zhoubq_qw" android:gravity="center_vertical
Android SpannableString实现TextView不同大小文字居中显示。
自定义TextView drawLeft和文本居中显示,以及在代码中动态设置drawable
自定义ActionBar使标题居中显示,博客链接:http://blog.csdn.net/tan313/article/details/45039677
6.如何将应用程序窗口居中显示?(Visual C++编程 源代码)6.如何将应用程序窗口居中显示?(Visual C++编程 源代码)6.如何将应用程序窗口居中显示?(Visual C++编程 源代码)6.如何将应用程序窗口居中显示?...
本身不具有图片居中显示,修改js之后使得图片可以居中显示
listview view属性设置为LargeIcon时,图片如何居中显示,有两个例子,可以根据项目多少调整显示的图片大小
echarts地图省份文字居中,亲测有效,在html、vue中都可以用,在html将该js引入即可,在vue中将china.js 替换为该js即可;
Android TextView的图片和文字居中探索,获取TextView中图片和文字的宽度和高度,并根据TextView的宽高计算居中所需要的偏移量
利用百分比控制文字上下居中,纯css控制,div布局,通过百分比控制文字垂直居中
在我们开发中,TextView设置Android:drawableLeft一定使用的非常多,但Drawable和Text同时居中显示可能不好控制,有没有好的办法解决呢? 小编的方案是通过自定义TextView实现。 实现的效果图: 注:第一行为原生...
继承系统的TextBox,支持文字垂直居中;自动折行(即WordWrap = True)也支持垂直居中。
此前给大家推荐了一个纯css实现div容器内图片、文字上下居中的效果,缺点是采用了部分css3样式,兼容性较差,相关链接:纯css实现div容器内图片上下左右居中效果 今天特意在网上找到了一款插件--jquery.valign,可...