iOS经典讲解之UIButton改变图片和文字的位置

设置UIButton图片和文字的位置(下上文图, 上图下文, 左图右文, 左文右图) 各位码友, 想必大家在项目中都会遇到这种场景, UI设计师设计一个按钮,非要同时有图片及文字,而且位置不一, 看到这里就有些头疼,今天来分享一个封装的api方法, 直接调用皆可简单实现其功能:首先定义几个位置类型:#pragma mark - button文字所在位置typedef NS_ENUM(NSInteger, RSButtonType) { RSButtonTypeRight = 阅读详情

作者:刘新林

转载请标明出处:http://blog.youkuaiyun.com/loving_ios/article/details/52412734

UIButton的image和titleLabel是靠在一起居中显示的,默认image在左,titleLabel在右,但是有些情况要求两者交换位置显示,可以通过

@property(nonatomic)          UIEdgeInsets imageEdgeInsets;                // default is UIEdgeInsetsZero
@property(nonatomic)          UIEdgeInsets titleEdgeInsets;                // default is UIEdgeInsetsZero
这两个属性来设置。

 UIButton *btn = [UIButton buttonWithType:UIButtonTypeCustom];
    btn.frame = CGRectMake(0, 20, 100, 30);
    [btn setTitle:@"测试" forState:(UIControlStateNormal)];
    [btn setImage:img forState:(UIControlStateNormal)];
    btn.adjustsImageWhenHighlighted = NO;
    [btn setContentEdgeInsets:UIEdgeInsetsMake(0, 0, 0, 0)];
    btn.backgroundColor = [UIColor blueColor];
    [self.view addSubview:btn];
此时默认显示的样式如图:


如果设置其位置:通过添加代码

 CGFloat imgWidth = btn.imageView.bounds.size.width;
 CGFloat labWidth = btn.titleLabel.bounds.size.width;
 [btn setImageEdgeInsets:UIEdgeInsetsMake(0, labWidth, 0, -labWidth)];
 [btn setTitleEdgeInsets:UIEdgeInsetsMake(0, -imgWidth, 0, imgWidth)];
其样式改为:


实现了图片和文字的位置交换。

道理很简单,通过调节其偏移量来解决,image相当于左边偏移了label的宽度距离,右边相应减少偏移label的距离,titleLabel则相反。


iOS开发:关于UIButton内部文字和图片的调整问题     在iOS开发过程中,想给一个控件设置图文并茂的效果,或者是UI设计的项目需求上面需要在一个控件上面即要添加图标又要设置标题,首先想到使用的控件就是UIButton,使用UIButton是最省时省力的一种选择。那么,本节就来说说怎么给UIButton设置图文并茂的效果。     项目开发中常常遇到个种需求情况:文字在左,图片在右;图片在左,文字在右;图片在上,文字在下等等。先举个例子,分享一... 阅读详情

相关推荐

iOS UIButton自定义布局:图片左置文字右置的实现与原理

是UIButton的一个重要属性,它允许开发者通过指定的边缘内边距值来调整按钮内文字的位置。这个属性为UI布局提供了更多的灵活性,使得开发者可以根据不同的设计需求将按钮上的文字放置在更合适的位置。接受一个结构体,该结构体包含了四个方向的边距值:top、left、bottom、right,这些值可以是负数,从而允许文字的位置超出按钮视图的边界。与类似,属性也用于调整UIButton内部图像的位置。

weixin_29443363的博客 1389

关于UIButton中,文字和图片交换位置的代码

UIButton中,如果文字和图片都同时存在的话,系统默认图片在左边,文字在右边,有些UI需求是图片在右边,文字在左边,这就需要用代码调试,使UIButton中两个元素的位置发生交换。 设置UIButton的两个属性可以达到交换的目的,这两个属性是titleEdgeInsets和imageEdgeInsets. UIEdgeInsets为一个结构体 typedef struct UIEd...

weixin_30315435的博客 148

自定义UIButton 可任意调整图片对齐类型 和显示位置

1、可任意调整图片对齐方式 2、显示位置 3、可以设置图片的大小 4、设置泡泡 5、点击状态变更 如有意见请留言,谢谢。

iOS UIButton文字与图片交换位置

UIButton默认,图片居左,文字在右,垂直居中显示,文字与图片没有间距,如下图: 可以通过设置UIButton中的titleEdgeInsets和imageEdgeInsets改变按钮的imageView与titleLabel的位置与间距,推荐给UIButton添加一个分类,将一下方法公开出来,方便所有的按钮调用 github Demo下载地址:https://github.co...

闫海强的博客 5226

iOS UIButtonEdgeInsetsDemo图片在右,文字在左。以及设置原理。

iOS UIButtonEdgeInsetsDemo图片在右,文字在左。以及设置原理。

MTK平台高效部署Qwen2.5大模型:从转换到推理全流程解析

本文详细解析了在联发科(MTK)NeuroPilot平台上高效部署Qwen2.5大模型的全流程。内容涵盖从环境搭建、模型转换、量化优化到编译部署与上机推理的完整步骤,重点分享了模型转换与模型运行的关键实践与避坑指南,旨在帮助开发者将大语言模型成功集成至移动及边缘设备。

zeta9的博客 378

UIButton上图片和文字的位置调整

UIButton上图片和文字的位置调整 UIButton 上默认是图片在左文字在右,而大多数情况这样默认的的显示形式都不能满足我们的需求,接下来我就这个问题分享一下我的心得。 默认情况下,不设置的效果,都是居中实现 UIButton *button = [UIButton buttonWithType:UIButtonTypeCustom]; ...

weixin_34081595的博客 458

如何实现SOLIDWORKS阵列的“智能变更”?

有时,我们在设计一个零件时,零件上有一排阵列孔,同时零件有不同的长度,我们又希望可以做到零件长度改变时,这排孔可以按长度等距增减孔阵列的个数;或是零件长度加长或缩短时,这排孔保持个数不变,按零件长度增减孔距。 那具体要怎么做呢?接下来,我们一起来看看怎么用SOLIDWORKS中简单的操作来实现这两种智能的变更: 零件长度加长或缩短时,这排孔要按长度等距增减孔阵列的个数。 零件长度加长或缩短时,这排孔保持个数不变,按零件长度增减孔距。 那接下来,我们一起来看看怎么用简单的操作来实现这两种智能的

SOLIDWORKS艾金米 2079

iOS UIButton图片文字位置随意放置

2019独角兽企业重金招聘Python工程师标准>>> ...

weixin_34302561的博客 220

中兴问天 BE7200MAX SFP 光口用华为猫棒替代光猫完整配置教程

PPPoE 账号密码:若原光猫为 Route 模式,在宽带设置页可见用户名,密码需按 F12 打开浏览器开发者模式,点击密码输入框,查看代码中 “value=” 后的内容即为明文密码。若仍失败,核对 PON 类型是否与运营商网络匹配。PON 认证信息:LOID(逻辑 ID,部分地区含密码)、设备 SN 码(标签或设备信息页)、PON 类型(GPON/EPON,运营商网络类型)。电脑保持与路由器连接,访问路由器管理地址(默认通常为 192.168.5.1,可参考路由器说明书),登录后台。

Gulper_Eel的博客 3345

Modscan32连接上了却没数据?一文拆解所有报错(从“Device NOT CONNECTED”到“Checksum Error”)

本文深入解析Modscan32连接异常问题,从状态栏报错到数据异常,提供系统化的诊断思路和解决方案。涵盖物理层问题、配置参数错位、端口占用冲突等常见故障,帮助工程师快速定位和解决Modbus通信中的各类错误。

weixin_30384217的博客 397

UIButton的imageEdgeInsets 和 titleEdgeInsets UIButton 图标在上文字在下

UIButton的imageEdgeInsets 和 titleEdgeInsets 参考: 1、一叶博客 2、Learning Notes https://www.jianshu.com/p/0d3dbc30fad5 我们知道,在UIButton中有一个UILabel和一个UIImageView,同时还有属性: titleEdgeInsets,imageEdgeInsets。介绍下 im...

小天空的博客 1333

单细胞marker基因表达密度图-(还有一个包装函数)

我们借助Nebulosa,将上面的过程包装为一个函数,还是那句话,受累麻烦的事我们来解决,您轻松即可,先看看函数参数:需要注意的是,如果你只想框选某一类celltype,理想模式是这群celltype是单独聚类的,没有散落在其他类群,否则将会全部框选,效果不好,建议使用AI/PS添加。需要注意,这里我算是投机取巧了,用了一个和这个作图毫无关系的包ggnetwork,主要的目的是用他的theme_blank()主题,一次性将所有清空,当然也可以自己慢慢写,不过有现成的,为啥不用呢?这质感不就上去了嘛。

qq_42090739的博客 1369

UIButton 设置图片,标题的偏移位置EadgeInsets细节

在平时开发中,我们经常遇到各种各样的按钮,每次都要进行调节,而且调节的时候只能一个单位一个单位的试,这样未免也太麻烦了.在调节坐标过程中发现: 1.只有文字 这个没什么好说的,直接setTitle就行 2.只有图片 也没什么说的,setBackgroundImage就行 3.有文字和图片 (1)图片在左,文字在右: 这是系统默认的样式,直接setImage和setTitle就

qq_31186665的博客 2739

【VS Code插件开发】通用功能(二)

本篇主要从command(命令)、menus(菜单)、快捷键三个方面讲解,都归于通用功能。

编码世界 1万+

第3.4章 机器人第三方库实战总结(四):G2O优化库从入门到实战(附SLAM实例代码)

自定义边同样是满足复杂应用需求的重要手段。自定义边时,需要明确边所连接的顶点类型以及边所表示的误差项的计算方式。假设我们要定义一条边,用于约束两个上述自定义顶点之间的相对位姿和传感器偏移量关系。我们可以这样定义边类:public:// 计算误差// 计算雅可比矩阵// 读盘和存盘函数,这里暂不实现。

行知SLAM 359

ios 按钮文字下划线_iOS - UIButton设置文字标题下划线以及下划线颜色

创建button设置可以折行显示- (void)viewDidLoad {[super viewDidLoad];UIButton * button = [[UIButton alloc] initWithFrame:CGRectMake(20, 30, 150, 70)];[self.view addSubview:button];[button setTitle:@"button" forSt...

weixin_39724266的博客 781

北斗导航 | 2023 PTTI会议论文 2023 ITM会议论文 2022 ION GNSS+ 会议论文下载:ION 美国导航学会

2023 国际技术会议(ITM) 2023 精密时间和时间间隔系统和应用会议(PTTI) 2022 美国导航学会国际会议(ION GNSS +)

尘世冰封的专栏 4614

IOS开发之XCode学习003:UIButton基础

此文学习来源为:http://study.163.com/course/introduction/1002858003.htm 此工程文件实现功能: 1、UIButton的控件基本概念 2、UIButton的创建方法 3、UIButton的类型 4、可显示图片的UIButton 可将准备好的图片直接拖到工程名字UIButton下 ==========...

anji6658的博客 331

WINCC7.3破解文件

WINCC7.3硬件够破解文件,有需要的下载!WINCC7.3硬件够破解文件,有需要的下载!

VC中sqlite的使用

在VC中对sqlite的使用,实现数据库大批数据的快速插入,读取数据库中的数据在ListCtrl中显示

iOS-调整UIButton的title和image的位置

调整原生UIButton中title和image位置仅需调用此方法:/** * 重新布局UIbutton * * @param button 所布局的UIbutton */ -(void)layoutBtnWithBtn:(UIButton *)button{ button.titleLabel.backgroundColor = button.backgroundColor;

极客学伟的技术分享社区 4213

LinePhone3.2.7(android端最新版本) sip客户端

SIP客户端For android:LinePhone3.2.7(最新版本),官网地址:http://www.linphone.org/

【IOS开发基础系列】UIButton专题

1 使用技巧1.1 样式技巧1.1.1 圆角边框1.UITextField四周的圆角//需要导入框架QuartzCore.framework,并且在当前类中引用#importtextField.layer.cornerRadius = 5.0 1.1.2 边框颜色self.layer.borderWidth = 1.0f;//边框宽度self.layer.borderColor...

junbaozi的专栏 137

锂电池充电器电路设计 里面有电路

锂电池充电器电路设计 里面有电路 3.7V升压到5V电路设计。

ios代码调整button图片image文字title位置

自定义一个button,要调整 button中的image(注意,不是backgroundImage) 和 title 文字的位置,只需要重写 Button类独对应的两个方法即可:首先,我们来创建一个 SuperButton继承自 UIButton#import <UIKit/UIKit.h>@interface SuperButton : UIButton@end实现文件 #import "S

zhz459880251的博客 808

UIButton的imageEdgeInsets和titleEdgeInsets属性 —— HERO博客

UIButton的imageEdgeInsets和titleEdgeInsets属性讲解,使用技巧,怎样对齐UIButton的文字和图像。

hero_wqb的博客 1290

iOS入门-05UIButton

概述 UIButton:按钮控件 和Android中的Button以及Flutter的RaisedButton、FlatButton、OutlineButton中按钮的作用是一样的。 主要的属性: 控件大小,位置 文字大小 普通状态的文字,颜色,背景 按下时候的文字,颜色,背景 点击事件的设置和处理 示例 ViewController.m #import "ViewController.h" ...

gongxiaoou的博客 145

ios开发收藏按钮_iOS开发笔记——UIButton详解

UIButton初始化与样式1.初始化UIButton# ① 初始化方法一UIButton *btn = [[UIButton alloc]initWithFrame:CGRectMake(100, 100, 200, 50)];# ② 初始化方法二(推荐)UIButton *btn1 = [UIButton buttonWithType:UIButtonTypeCustom];btn1.fram...

weixin_27310985的博客 267

UIButton详解

=======================基础功能======================= // 使用此种初始化方法,title文字默认为白色,不推荐使用 UIButton * button = [[UIButton alloc] initWithFrame:CGRectMake(0, 100, 40, 30)]; /* 初始化不同类型的UIButton(推荐) UIButton

蚊香酱的专栏 1957
上一篇: iOS经典讲解之UILabel居上居下显示
下一篇: iOS经典讲解之图片拉伸的几种方法
刘新林
博客等级 码龄11年 72粉丝 61原创
评论 1
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值