iOS调整按纽图片文字title位置的代码详解手机开发
2023-06-13 09:20:12 时间
自定义一个button,要调整 button中的image(注意,不是backgroundImage) 和 title 文字的位置,只需要重写 Button类独对应的两个方法即可:
首先,我们来创建一个 SuperButton继承自 UIButton
// // SuperButton.h // SuperButton #import UIKit/UIKit.h @interface SuperButton : UIButton @end
实现文件
[self setTitle:@"项目介绍" forState:UIControlStateNormal]; [self.titleLabel setFont:[UIFont boldSystemFontOfSize:font]]; [self setBackgroundImage:[UIImage imageNamed:@"[email protected]"] forState:UIControlStateNormal]; [self setImage:[UIImage imageNamed:@"[email protected]"] forState:UIControlStateNormal]; boundingRect=[self.titleLabel.text boundingRectWithSize:CGSizeMake(320,font) options:NSStringDrawingUsesLineFragmentOrigin attributes:@{NSFontAttributeName:[UIFont systemFontOfSize:font]} context:nil]; return self; }
1.重写方法,改变 图片的位置 在 titleRect..方法后执行 - (CGRect)imageRectForContentRect:(CGRect)contentRect CGFloat imageX=self.frame.size.width/2+boundingRect.size.width/2; UIScreen *s=[UIScreen mainScreen]; CGRect rect=s.bounds; CGFloat imageY=contentRect.origin.y+14; CGFloat width=24; CGFloat height=24; return CGRectMake(imageX, imageY, width, height); 2.改变title文字的位置,构造title的矩形即可 - (CGRect)titleRectForContentRect:(CGRect)contentRect CGFloat imageX=(self.frame.size.width-boundingRect.size.width)/2; CGFloat imageY=contentRect.origin.y+10; CGFloat width=220; CGFloat height=25; return CGRectMake(imageX, imageY, width, height); @end
我们只要重写 上述的两个方法,就可以实现对 button按钮中的图片和文字的位置的调整
注意:
1.ios7和ios8系统上 上述两个方法 运行的次数会有差异,可以设置标志位,或者自定义一个 button(不要集成button)
相关文章
- iOS AppStore上架流程图文详解2021版 (上)
- 那些著名或非著名的iOS面试题(下)详解手机开发
- iOS发送短信的代码详解手机开发
- iOS简易抽屉效果详解手机开发
- 打开IOS设备的闪光灯代码详解手机开发
- 秒杀倒计时/倒计时iOS代码实现详解手机开发
- iOS获取App各种文件的路径方法汇集详解手机开发
- iOS调用相机并且上传照片的方法详解手机开发
- iOS发送邮件的代码详解手机开发
- iOS获取网络的最新方法详解手机开发
- iOS 获取手机的型号,系统版本,软件名称,软件版本详解手机开发
- iOS计算器的代码实现详解手机开发
- iOS 使用FMDB进行数据库操作详解手机开发
- iOS开发中的随机数详解手机开发
- iOS使用代码截图详解手机开发
- IOS之同步请求、异步请求、GET请求、POST请求详解手机开发
- iOS 简单的音频操作代码详解手机开发
- iOS开发textField点击背景空白隐藏收起键盘的N种方法详解手机开发
- iOS常用的几个动画代码详解手机开发
- iOS相应触屏事件代码详解手机开发
- iOS检查网络是否可用的代码详解手机开发
- iOS开发笔记 – 工具篇详解手机开发
- iOS开发笔记 – Objective-C和JavaScript的混编详解手机开发
- iOS开发系列课程(09) — 滚动视图详解手机开发
- iOS开发系列课程(04) — 文本框和视图控制器详解手机开发
- iOS开发UI篇—自定义layer详解手机开发
- iOS—-自定义UIView,绘制一个UIView详解手机开发
- iOS—–Crash文件分析(一)详解手机开发
- iOS开发—集成百度地图详解手机开发
- ios基础:iOS改变状态栏字体颜色详解手机开发
- iOS 15 Beta5开始向测试者推送:新功能与改变一览