UIButton的图文垂直排列+两则间隔

-(void)layoutSubviews {
    [super layoutSubviews];
    /*
        super view frame
     47:317---------------
     |		 |		      |
     |	23:46|imgView     |
     |	 --------------   |
     |	|    |         |  |
     |	|	 46        |  |
     |--|--23 .	Center |  |
     */
//    // Center image
    CGRect rect = self.imageView.frame;
    rect.size.height=20;
    rect.size.width=20;
    //固定住图层高和宽,避免偏移,具体看你项目图片尺寸定
    self.imageView.frame = rect;
    CGPoint center = self.imageView.center;
    CGRect newFrame = [self titleLabel].frame;
    center.x = self.frame.size.width/2;
    center.y = self.frame.size.height/2 - newFrame.size.height/2;
    self.imageView.center = center;
    
    //Center text
    newFrame.origin.x = self.imageView.frame.size.width/2 + _spacing/2;
    //↑文本框的左侧距离为 图标的宽度/2 + 间隔距离/2,因为,默认布局图片在左,文本在右
    newFrame.origin.y = self.imageView.frame.size.height + self.imageView.frame.origin.y + _spacing;
    //↑文本框的上距离为 图标的y坐标+图片本身的高度+间隔距离
    newFrame.size.width = self.frame.size.width;
    self.titleLabel.frame = newFrame;
}

在继承自UIButton类里面重写layoutSubviews方法

时间: 2024-08-05 07:19:57

UIButton的图文垂直排列+两则间隔的相关文章

【Android】一个activity中垂直排列两个listview

为了实现这种效果,一开始我想到的办法是ilistVew中加上一个footerview,footerview里面嵌套一个listview,但是实际操作之后发现footerview里的listview只显示一项,这个问题困扰了半天,一直没有找到合适的解决办法,直到昨天晚上偶然看到一篇博文介绍说,scrollview里嵌套listview也出现了同样的问题,解决办法是动态设置listview的高度,于是我用这种方法也试了试,结果还真解决了. MainActivity.java package com.

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

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

java计算两日期间隔小时或分钟

public static void main(String[] args) {        try {            long min = dateDiff("2014-05-27 13:30:00","2014-05-27 13:00:00","yyyy-MM-dd HH:mm:ss");            System.out.println("---------相隔分钟数: "+min);        

Bootstrap按钮组嵌套、垂直排列、两端对齐

<!DOCTYPE html> <html lang="zh-CN"> <head> <meta charset="utf-8"> <meta http-equiv="X-UA-Compatible" content="IE=edge"> <meta name="viewport" content="width=device-wid

IOS总结_实现UIButton的图文混排,同时显示文字和图片

我们常常需要用到按钮需要文字和图片同时显示,例如: 我们需要定义一个UIButton的子类 实现文件 - (id)initWithFrame:(CGRect)frame { self = [super initWithFrame:frame]; if (self) { //可根据自己的需要随意调整 self.titleLabel.textAlignment=NSTextAlignmentRight; self.titleLabel.font=[UIFont systemFontOfSize:14

CSS3实现文本垂直排列

最近的一个项目中要使文字垂直排列,也就是运用了CSS的writing-mode属性. writing-mode最初时ie中支持的一个属性,后来在CSS3中增添了这一新的属性,所以在ie中和其他浏览器中的语法会有区别. 1.0 CSS3标准 writing-mode:horizontal-tb;//默认:水平方向,从上到下 writing-mode:vertical-rl; //垂直方向,从右向左 writing-mode:vertical-lr; //垂直方向,从左向右 demo 1 <!DOC

CSS3实现文本垂直排列-writing-mode

最近的一个项目中要使文字垂直排列,也就是运用了CSS的writing-mode属性. writing-mode最初时ie中支持的一个属性,后来在CSS3中增添了这一新的属性,所以在ie中和其他浏览器中的语法会有区别. 一.CSS3标准 writing-mode:horizontal-tb;//默认:水平方向,从上到下 writing-mode:vertical-rl; //垂直方向,从右向左 writing-mode:vertical-lr; //垂直方向,从左向右 <!DOCTYPE html

记录下UIButton的图文妙用和子控件的优先显示

UIButton的用处特别多,这里只记录下把按钮应用在图文显示的场景,和需要把图片作为按钮的背景图片显示场景: 另外记录下在父控件的子控件优先显示方法(控件置于最前面和置于最后面). 先上效果图: 1.当在某个地方既需要显示图片,还需要显示文字,另外还要有点击功能的时候,这时按钮是个很好的选择. 按钮中的图片和文字的距离可以自由调整,图片的也可以上下左右翻转.日常项目中像这些场景都是很容易碰到的. 按钮图文设置.图文位置移动.按钮中图片翻转示例代码: /** 测试图文并茂的按钮,图文移动 */

横向排列两个多个div盒子的方法(CSS浮动清除float-clear/inline)/办法

最近在做一个div css切割,昨晚发现了长期以来一直无记录下来的问题!关于兼容IE跟FF的float属性.趁现在还清醒赶紧记下笔记先:一.并排在一行的两个div样式有这种情况:ie或者ff下对于子div设置float左的时候,如果另外的子div没有设置float左的 话,两个浏览器下会有区别,具体有一个会产生间隙.兼容做法就是都设置float属性.但是记住有设置过float就要将float clear掉,不然下面的div会叠在已float的div上.我通常把清除浮动写成单独的<div clas