iOS开发点滴-设置UIButton图片文字居中对齐,文字居中折行

在使用UIButton的时候正常设置文字和图片之后 ,图片和文字的位置默认的是并排水平居中button

6C6A19DD-F144-42B3-8773-FDA3F5FE44AC.png

这时需要使用

UIEdgeInsetsMake(CGFloat top, CGFloat left, CGFloat bottom, CGFloat right)
  button.imageEdgeInsets = UIEdgeInsetsMake(0, 0, 0, 0);
 button.titleEdgeInsets = UIEdgeInsetsMake(0, 0, 0, 0);

四个参数分别代表 距离button上,左,下,右的距离
我们调整下图片和文字的位置

leftWith 暂时表示屏幕宽度
24 是 图片的宽度

        button.imageEdgeInsets = UIEdgeInsetsMake(-3, (leftWith/3-24)/2, 15, 0);
        button.titleEdgeInsets = UIEdgeInsetsMake(27, -(leftWith/3-24)/2, 0, 0);

设置之后看下效果

C74CE0C6-973B-4601-8A96-33DAF857D446.png

另外有的时候button上面有文字 我们又想让文字在某一处折行
我们设置

    button.titleLabel.numberOfLines = 2;
    button.titleLabel.textAlignment = NSTextAlignmentCenter;
然后在你需要折行的地方加上'\n'
[button setTitle:@"蓝瘦\n香菇" forState:UIControlStateNormal];

我的实际项目中例子:

UIButton *addShoppingCart =[FactoryUI createButtonWithFrame:CGRectMake(leftWith, 0, rightWith*2/5, 49) title:@"¥66.00\n加入购物车" titleColor:[UIColor whiteColor] backgroundColor:RGB(255, 128, 147, 1) type:UIButtonTypeCustom target:self selector:@selector(addShopCart)];
    addShoppingCart.titleLabel.font = FONT(15);//title字体大小
    addShoppingCart.titleLabel.font = [UIFont boldSystemFontOfSize:15];
    addShoppingCart.titleLabel.numberOfLines = 2;
    addShoppingCart.titleLabel.textAlignment = NSTextAlignmentCenter

效果:

586153F3-5EAB-492D-88C5-2B30BDD16047.png
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 他有几分基于现实的平静,露出丝丝笑意。又回忆起几分少年时狂放的姿态,让自己倍加的难以忘怀。脑海中出现的那灯红酒绿,...
    何万洵阅读 2,372评论 0 1
  • 之一 缥缈眉山一恍惚, 林泉清梦总辜负。 风雨人间惟濡沫, 炎凉世事共手足。 之二 冠盖生涯误诗书, 风尘霜雪怜手...
    南渭川阅读 2,312评论 0 0
  • 感赏女儿女婿今天带我去杨村给狗买鸡架,还到杨村大集上转了一圈 感赏外孙这两天都是在中午吃完饭以后才睡觉,这样,大人...
    宋亿青s六中换阅读 1,040评论 0 0
  • 服务端 以下是Netty官方的一个Echo服务示例: 上面代码创建Server端服务的流程如下: 创建Server...
    BlackManba_24阅读 7,462评论 1 3