iOS 让按钮上的标题换行显示
项目中遇到了要让按钮上的文字换行显示的需求,就写了这个博客。
1.如果按钮上的文字固定,形式是写死的,可以考虑给标题文字加\n换行符来达到效果,但是,记得一定要设置这个属性,不然是不会换行的,
button.titleLabel.lineBreakMode = NSLineBreakByWordWrapping;
NSString * titleStr = @"换行\n显示";
UIButton * button = [UIButton new];
button.backgroundColor = [UIColor orangeColor];
button.frame = CGRectMake(100, 100, 60, 40);
button.titleLabel.font = [UIFont systemFontOfSize:13];
button.titleLabel.lineBreakMode = NSLineBreakByWordWrapping;
[button setTitle:titleStr forState:UIControlStateNormal];
[self.view addSubview:button];
这样的显示效果是这样的:

2.如果你按钮上的文字是动态的,想让他到达一个边界值后自动换行,可以使用下面的方法。
先计算出标题文字在规定的最大宽度的size值,然后根据他设置按钮的宽和高就行了,代码如下:
NSString * titleStr = @"换行显示换行显示换行显示换行显示换行显示换行显示换行";
UIButton * button = [UIButton new];
button.backgroundColor = [UIColor orangeColor];
button.titleLabel.font = [UIFont systemFontOfSize:13];
button.titleLabel.lineBreakMode = NSLineBreakByWordWrapping;
[button setTitle:titleStr forState:UIControlStateNormal];
CGRect labelTitleSize = [titleStr boundingRectWithSize:CGSizeMake(100, 1000) options:NSStringDrawingUsesLineFragmentOrigin attributes:@{NSFontAttributeName:[UIFont systemFontOfSize:13]} context:nil];
button.frame = CGRectMake(100, 100, labelTitleSize.size.width+10, labelTitleSize.size.height+10);
[self.view addSubview:button];
这样的显示效果是这样的:
iOS 让按钮上的标题换行显示的更多相关文章
- EasyUIDataGrid列标题换行显示
有时候表格标题字数太多,而宽度有限,就会导致一部分列的标题显示不出来 这时候,加入如下css代码即可将标题换行显示 .datagrid-header-row .datagrid-cell span { ...
- Winfrom中设置ZedGraph显示多个标题(一个标题换行显示)效果
场景 Winforn中设置ZedGraph曲线图的属性.坐标轴属性.刻度属性: https://blog.csdn.net/BADAO_LIUMANG_QIZHI/article/details/10 ...
- iOS 按钮上的标题设置向左向右对齐的方法
Button.contentHorizontalAlignment = UIControlContentHorizontalAlignmentLeft;//左对齐(UIControlContentHo ...
- react项目中实现悬浮(hover)在按钮上时在旁边显示提示
<i className={classNames({ 'device-icon': true, 'camera-icon': true, 'camera-icon-hover-show-intr ...
- AWT编程时,Button按钮上的中文编程□□□
今天学到AWT编程时,照着书上的代码打,代码如下: import java.awt.*; public class PanelTest{ public static void main(Stri ...
- IOS应用在ios7(iPhone5/iPhone5s)上不能全屏显示
前言 [IOS应用在iOS7系统或者iPhone5/iPhone5s上不能全屏显示,应用画面上下各有1条黑色,但是在其他系统或者型号的手机上却是正常显示 Paste_Image.png Paste_I ...
- 关于Unity程序在IOS和Android上显示内嵌网页的方式
近期因为有须要在Unity程序执行在ios或android手机上显示内嵌网页.所以遍从网上搜集了一下相关的资料.整理例如以下: UnityWebCore 从搜索中先看到了这个.下载下来了以后发现这个的 ...
- ios 从网络上获取图片并在UIImageView中显示
ios 从网络上获取图片 -(UIImage *) getImageFromURL:(NSString *)fileURL { NSLog(@"执行图片下载函数"); UIIm ...
- iOS中 按钮和标题完美各种排列/完美教程 韩俊强的博客
每日更新关注:http://weibo.com/hanjunqiang 新浪微博! 前言:最近常常用到按钮和相应标题的组合,当按钮设置图片加标题时,触发范围较小,不易触发,最重要的是还要调试偏移量, ...
随机推荐
- cacti 安装
cacti:是常用的一个监控软件(开源,免费) 特点:重图形,有数据历史,需要用到数据库的支持,支持web配置,默认不支持告警,可以加插件 cacti安装 1.安装扩展源epel (nagios 和z ...
- 建表过程-列名&列类型&修改表B
怎么建表? 主键 名称 重量 价格 生产日期 保质期 产地 种类 分析:我们只要把第一行的表头建好后,这张表也就完成了. 术语:建表的过程就是声明字段过程 ...
- 在js中添加新节点
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/ ...
- angularjs 设置全局变量的3种方法
angularjs自身有二种,设置全局变量的方法,在加上js的设置全局变量的方法,总共有三种.要实现的功能是,在ng-app中定义的全局变量,在不同的ng-controller里都可以使用. 1,通过 ...
- JS中的if和else的用法以及基础语法
正常里的变量方式.var a = 10; 针对整数.var b = 3.14; 针对的小数点.var c = "你好":双引号或者单引号引起来的是定义字符串. 一.类型转换(强制转 ...
- mysql基准测试
1. 及注册时有两种主要的策略:①正对整个系统的整体测试(集成式full-stack) ②单独测试mysql(但组件式基准测试single-component) 2.获取系统性能和状态(需要记录的数据 ...
- 60阶单群同构于A5的证明
设$G$是$60$阶的单群,我们来证明他同构于$A_5$,一个比较直观地思路是考虑群表示$\phi:G\to S(\Sigma)$,由同态基本定理得到$$G/{\rm Ker}\phi \simeq ...
- LeetCode之461. Hamming Distance
------------------------------------------------------------------ AC代码: public class Solution { pub ...
- tp框架之AJAX
实现一个AJAX添加并显示数据的例子 控制器 <?php namespace Home\Controller; use Think\Controller; class AjaxControlle ...
- display用法:
用法: 1.display:fixed: 存在于position定位top,left,right,bottom,fixed:脱离文档流的针对于浏览器窗口大小定位,可以更好的解决"缩小浏览器窗 ...