UIButton 图片文字上下对齐

UIImage *buttonImg = [button imageForState:UIControlStateNormal];
CGFloat titleWidth = [button.titleLabel.text sizeWithAttributes:[NSDictionary dictionaryWithObjectsAndKeys:[UIFont boldSystemFontOfSize:18],NSFontAttributeName, nil]].width;
[button setTitleEdgeInsets:UIEdgeInsetsMake(buttonImg.size.height, -buttonImg.size.width, 0, 0)];
[button setImageEdgeInsets:UIEdgeInsetsMake(-15, 0, 0, -titleWidth)];

效果如下。俩个图不对称是因为图片大小不同。

时间: 2024-10-05 13:11:54

UIButton 图片文字上下对齐的相关文章

UIButton图片文字控件位置自定义(图片居右文字居左、图片居中文字居中、图片居左文字消失等)

在开发中经常会碰到需要对按钮中的图片文字位置做调整的需求.第一种方式是通过设置按钮中图片文字的偏移量.通过方法setTitleEdgeInsets和setImageEdgeInsets实现 代码如下: /*!**方式一***/ - (void)updateBtnStyle_rightImage:(UIButton *)btn { CGFloat btnImageWidth = btn.imageView.bounds.size.width; CGFloat btnLabelWidth = btn

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

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

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

#pragma mark 按钮图片文字垂直居中排列 -(void)setButtonContentCenter:(UIButton *)button { CGSize imgViewSize,titleSize,btnSize; UIEdgeInsets imageViewEdge,titleEdge; CGFloat heightSpace = 10.0f; //设置按钮内边距 imgViewSize = button.imageView.bounds.size; titleSize = bu

图片与文字居中对齐css

图片与文字居中对齐css * 方法 1. 给图片和文字元素都设置:`vertival-align:center` * 示例 1. HTML ```html <h3> <svg fill="none" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox=&q

图片列表换行错位,图片无法左对齐怎么办

图片与文字标题组成的无序列表,会因为标题长度的不同,而出现换行.这样就出现图片无法左对齐的问题. 可以这样, 一,加上这个css样式 .nowrap{white-space:nowrap;overflow:hidden;} 二,或用程序逻辑判断.比如循环到第四个图片时,添加一个hr换行符标签. hr{background:#ddd;color:#ddd;clear:both;float:none;width:100%;height:1px;margin:10px 0;border:none;-m

让UILabel的文字顶部对齐

默认UILabel是垂直居中对齐的,如果你的UILabel高度有多行,当内容少的时候,会自动垂直居中. 如下图所示(图片来自stackoverflow): 比较郁闷的是,UILabel并不提供设置其垂直对齐方式的选项.所以如果你想让你的文字顶部对齐,那么就需要自己想办法了. stackoverflow.com 上提供了几种方法来达到顶部对齐的效果. 方法一 在显示文字时,首先计算显示当前的文字需要多宽和多高,然后将对应的UILabel的大小改变成对应的宽度和高度.此方法的相示意图如下: 在显示文

IOS UI篇—UILabel的文字顶部对齐

UILabel的文字顶部对齐 NOV 20TH, 2011 默认UILabel是垂直居中对齐的,如果你的UILabel高度有多行,当内容少的时候,会自动垂直居中. 如下图所示(图片来自stackoverflow): 比较郁闷的是,UILabel并不提供设置其垂直对齐方式的选项.所以如果你想让你的文字顶部对齐,那么就需要自己想办法了. stackoverflow.com 上提供了几种方法来达到顶部对齐的效果. 方法一 在显示文字时,首先计算显示当前的文字需要多宽和多高,然后将对应的UILabel的

iOS自定义alertView,继承自UIView,可以添加子视图,标题图片+文字

自定义alertView,继承自UIView,可以在消息区域添加子视图:addCustomerSubview 标题可以有图片+文字构成, 只支持两个按钮操作 // - 在需要alert的控制器调用 alertView show 方法 CustomAlertView *alertView = [[CustomAlertView alloc] initWithTitle:@"提示" message:@"dylan_lwb_" delegate:self cancelBu

Android自定义“图片+文字”控件四种实现方法之 二--------个人最推荐的一种

http://blog.csdn.net/yanzi1225627/article/details/8633872 第二种方法也要新建一个图片+文字的xml布局文件,然后写一个类继承自LinearLayout.在主程序里实例化并设置相应参数.这种方式也是我最推荐的一种. 第一部分:myimgbtn_layout.xml [html] view plaincopyprint? <?xml version="1.0" encoding="utf-8"?> &