针对按钮的图片和标题的居中问题,

像微信公众帐号带有二级菜单的按钮,图片和标题合起来居中,这就用到了,button.title 和button.image 以及他们的 edgeInsets

以下是文本和图片从上到下排列,都水平居中的代码,当然也可以另外使用imageView贴到button上,效果是一样的。

        //按钮的中心CGPoint buttonBoundsCenter = CGPointMake(CGRectGetMidX(firstLevelBtn.bounds), CGRectGetMidY(firstLevelBtn.bounds));//找出imageView最终的centerCGPoint endImageViewCenter = CGPointMake(buttonBoundsCenter.x, CGRectGetMidY(firstLevelBtn.imageView.bounds));//取得imageView最初的centerCGPoint startImageViewCenter = firstLevelBtn.imageView.center;CGFloat imageEdgeInsetsLeft = endImageViewCenter.x - startImageViewCenter.x;CGFloat imageEdgeInsetsTop  = endImageViewCenter.y - startImageViewCenter.y+6.5;CGFloat imageEdgeInsetsBottom = -imageEdgeInsetsTop;CGFloat imageEdgeInsetsRight  = -imageEdgeInsetsLeft;firstLevelBtn.imageEdgeInsets = UIEdgeInsetsMake(imageEdgeInsetsTop, imageEdgeInsetsLeft, imageEdgeInsetsBottom, imageEdgeInsetsRight);// 设置titleEdgeInsets// 找出titleLabel最终的centerCGPoint endTitleLabelCenter = CGPointMake(buttonBoundsCenter.x, CGRectGetHeight(firstLevelBtn.bounds)-CGRectGetMidY(firstLevelBtn.titleLabel.bounds));// 取得titleLabel最初的centerCGPoint startTitleLabelCenter = firstLevelBtn.titleLabel.center;CGFloat titleEdgeInsetsTop = endTitleLabelCenter.y-startTitleLabelCenter.y-11-3.5;CGFloat titleEdgeInsetsLeft = endTitleLabelCenter.x - startTitleLabelCenter.x;CGFloat titleEdgeInsetsBottom = -titleEdgeInsetsTop;CGFloat titleEdgeInsetsRight = -titleEdgeInsetsLeft;firstLevelBtn.titleEdgeInsets = UIEdgeInsetsMake(titleEdgeInsetsTop, titleEdgeInsetsLeft, titleEdgeInsetsBottom, titleEdgeInsetsRight);

Button 图片和标题位置居中问题相关推荐

  1. swift 第四课 随意 设置button 图片和文字 位置

    项目中经常遇到按钮改变文字和图片位置的情况,所以尝试写一个 button 的分类: 参照连接 http://blog.csdn.net/dfqin/article/details/37813591 i ...

  2. latex如何自定义图片的标题位置

    前言 latex插入图片一般是将标题或者文字描述放在图片下方,如何自定义标题的位置? 解决 使用包usepackage{overpic} \put{文字描述的位置}{文字描述的内容} demo \be ...

  3. C#图像处理:在图片上写字,文字位置居中问题

    1.给图片上添加文字,位置的位置居中.左对齐.右对齐等 Font LabelFont = new Font("宋体", 14, FontStyle.Bold); //设置字体.字号 ...

  4. 图片在section上下居中_给0~1岁的新媒体人:公众号怎么配图?免费图片哪里找?...

    编者按:公众号文章配图重要吗,怎么给公众号文章配图?去哪儿找免费图片?这对很多新媒体编辑尤其是对初入行的新媒体编辑来说,似乎简单而又重要.今天我们决定重新系统地讨论一下这个问题. 本文系投稿,由新榜首 ...

  5. 0811-按钮操作(加法计算器)(拖控件找控件代码属性名称)(frame center bounds)(上下左右移动button图片)...

    -------------------- 加法计算器 实现步骤 1.拖控件   改textField键盘属性为numberPad ,label双击修改名称自动缩小尺寸  改属性名称不会改尺寸,   放 ...

  6. 微信小程序实现点击分享按钮时动态改变分享图片和标题

    最近在做小程序时遇到一个需求,是一个商城小程序,在每个商品上都有一个分享按钮,点击这个分享按钮就可以分享这个商品,要求分享的内容是该商品的图片和标题. 这个需求把我难住了,大家都知道在触发分享时需要提 ...

  7. Markdown 图片左右对齐、居中、大小设置

    Markdown 图片左右对齐.居中.大小设置 虽然经常使用 Markdown 写博客,但是,我却不太知道 Markdown 图片的位置和大小设置,今天刚好发表博客的时候,发觉图片位置有点丑,Goog ...

  8. android button 图片 大小设置,android 中怎么控制ImageButton 上的图片与按钮大小的匹配...

    ImageButton 是ImageView的子类,ImageView中可以通过Scaletype来设置图片的缩放大小等. ImageView的Scaletype决定了图片在View上显示时的样子,如 ...

  9. html背景图固定,网页背景图片固定在一个位置不重复代码

    css之background-repeat的几种属性  background-repeat: 指背景图片的重复与否以及重复方式, 有no-repeat, repeat, repeat-x, repea ...

最新文章

  1. 专访 | 英特尔收购Nervana后的第一张王牌Lake Crest,号称比GPU速度快10倍,年底测试
  2. 4 合并grid列_Grid教程
  3. ios swift5 父子控制器
  4. 5G消息富媒体最新形态
  5. Android流式布局控件
  6. Passenger简介
  7. 英语学习(四)动词(Verb)
  8. [Flink基础]--什么是流处理?
  9. beeline 查询表数据导出到本地文件csv
  10. Vue中使用友盟CNZZ事件统计
  11. 随机函数的rand、srand用法
  12. 寒假总结 2020.02
  13. 5分钟NLP-知识问答(KBQA)两种主流方法:基于语义解析和基于信息检索的方法介绍...
  14. 自动控制理论(6)——高阶系统的时域分析及线性系统的稳定性分析
  15. ElasticFusion离线数据集运行结果再现问题总结
  16. axure图表_最好用的数据可视化图表制作工具推荐
  17. 中国移动通信互联网短信网关接口协议网络结构和功能概述
  18. vrep/CoppeliaSim关节抖动问题原因总结
  19. 网页设计 实现读书信息反馈表 适合小白入门 安排
  20. 实现QQ邮箱发送验证码

热门文章

  1. 每位选手需要回答10个问题(其编号为1到10),越后面越有难度。答对的,当前分数翻倍;答错了则扣掉与题号相同的分数
  2. linux 基础 --04-07
  3. 医院网站SEO优化——网站长尾关键字的挖掘
  4. android怎么判断当前网络是否可用,Android 判断当前网络是否可用简单实例
  5. 计算机视觉(十五):综合案例:垃圾分类
  6. TryHackMe-VulnNet: Active(ez 域渗透)
  7. python编程:tabula、pdfplumber、camelot进行表格数据识别
  8. 【transformer】DeiT
  9. 用户态和内核态的简单理解
  10. EXCEL篇及命名空间说明