UIButton 设置图片文字垂直居中排列

#pragma mark 按钮图片文字垂直居中排列
-(void)setButtonContentCenter:(UIButton *)button
{
    CGSize imgViewSize,titleSize,btnSize;
    UIEdgeInsets imageViewEdge,titleEdge;
    CGFloat heightSpace = 10.0f;  

    //设置按钮内边距
    imgViewSize = button.imageView.bounds.size;
    titleSize = button.titleLabel.bounds.size;
    btnSize = button.bounds.size;  

    imageViewEdge = UIEdgeInsetsMake(heightSpace,0.0, btnSize.height -imgViewSize.height - heightSpace, - titleSize.width);
    [button setImageEdgeInsets:imageViewEdge];
    titleEdge = UIEdgeInsetsMake(imgViewSize.height +heightSpace, - imgViewSize.width, 0.0, 0.0);
    [button setTitleEdgeInsets:titleEdge];
} 

调用示例:

[Btn setImage:[UIImage imageNamed:@"test.png"] forState:UIControlStateNormal];
[Btn setTitle:@"测试" forState:UIControlStateNormal];
[Btn setTitleColor:[UIColor lightGrayColor] forState:UIControlStateNormal];
[self setButtonContentCenter:Btn];  
时间: 2024-08-03 15:27:45

UIButton 设置图片文字垂直居中排列的相关文章

iOS UIButton 设置图片文字垂直排列

在实际的iOS项目开发中,我们经常需要改变系统的控件的样式,自己定义一个,同样的当我们发现系统自带的某些方法不好使时,我们也会想到重写这个方法. 本文主要记录笔者设置UIButton图片文字垂直排列的方法,最终解决了在图片和文字垂直排列的情况下,如果文字长度变化会导致图片位置变动的问题,对 于此问题网上有比较多的做法,我就不多说了,在此记录这点细节仅为加深印象并方便以后查阅.如有纰漏还请见谅 方案一:通过调整按钮图片和文字的内边距 UIEdgeInsets typedef struct UIEd

UIButton设置图片和文字

在开发的过程中经常会遇到需要在button中放置图片和文字,比如将图片放置在button左边,文字放置在右边.因为UIButton也是继承自UIView,因此可以像其它的view一样添加subView, //创建button UIButton *button = [UIButton buttonWithType:UIButtonTypeRoundedRect]; // 创建imageview UIImage *image = [UIImage imageNamed:@"yourImage.png

iOS UIButton设置图片动画

1.问题描述:实现点击按钮播放MP3音频并开启动画,再点击按钮关闭动画以及音频 效果类似以下(图片来自网络,侵删),动画效果其实就是几张连续的图片组成: 2.实现思路 2.1 自定义view,设置imageview的动画以及添加view的点击手势控制动画播放.结束: 2.2 直接自定义一个button,设置button的imageview属性实现,这样更加简单: 3.实现代码(采用第二种方法) 自定义一个UIbutton,如AnimateImgButton,实现方法 .m //自定义button

移动端图片文字垂直居中实现方法

最近在开发微信公众号的时候遇到图片与文字居中的问题.例如我们要实现类似以下这样效果: 或者. 在开发过程中, 可能我本身代码原因或者兼容原因,在ios和安卓端很难完全实现这样的居中效果. 为了实现这样的写法,同时兼容ios与安卓端,我采用了以下三种方法来实现(以下代码我只写主要的属性,具体样式大家各自根据自己需求添加): 一.display:table和display:table-cell使用: 例如: 1 <div style="display:table:vertical-align:

iOS UIButton 设置图片不变型 setImage:

[btn.imageView setContentMode:UIViewContentModeScaleAspectFill]; 下面方法自己可以试下, 你就知效果了... typedef NS_ENUM(NSInteger, UIViewContentMode) { UIViewContentModeScaleToFill, UIViewContentModeScaleAspectFit,      // contents scaled to fit with fixed aspect. re

图片文字垂直居中

<div style="height:200px;width:200px;border:1px solid red;line-height:200px;text-align:center;"> <img style="height:100px; vertical-align:middle;" src="../Image/QQ%e5%9b%be%e7%89%8720160304222150.png" />大家好!!! <

用CSS如何实现单行图片与文字垂直居中

从上面的代码可以看出错误就是把样式应用在块元素中了 我们只需要改样式为 以下为引用的内容:.style img{vertical-align:middle;.....} 如果STYLE中有其它如INPUT或其它内联元素可写成 以下为引用的内容:.style img,.style.input{vertical-align:middle;.....}或.style *{vertical-align:middle;.....}/*在不影响其它元素的情况下使用这个通配符*/ 以上是在没有设置高度/行高的

css 单行图片文字水平垂直居中汇总

(1) 水平居中 a. 行内元素水平居中 因为img是行内元素(行内块级元素也一样)父级元素设置text-align:center即可,例如: <div style="width: 600px; height: 300px; border:1px solid red;text-align: center;" >    <img src="static/images/banner.png" style="width: 200px; heig

UIButton同时设置图片和文字 及 相关的title设置

1>同时设置图片和文字 UIButton *_backButton = [UIButton buttonWithType:UIButtonTypeCustom]; [_backButton setFrame:CGRectMake(12, 8, 64, 28)]; [_backButton setTitle:@"返回" forState:UIControlStateNormal];        //设置button在没有选中的时候显示的字体 _backButton.titleLa