UIView *view=[[UIView alloc]initWithFrame:CGRectMake(0, 200, self.view.frame.size.width, 300)];

view.backgroundColor=[UIColor grayColor];

[self.view addSubview:view];

NSMutableArray *array=[[NSMutableArray alloc]initWithObjects:@"园园",@"园园",@"蛋蛋园园",@"啊啊啊啊",@"拉",@"呀呀呀啊呀啊呀呀", nil];

int i=0;

CGFloat btnH=30;

CGFloat yOffset=10;

CGFloat xOffset=15;

for (NSString *string in array) {

CGRect rect = [string boundingRectWithSize:CGSizeMake(MAXFLOAT, btnH) options:NSStringDrawingUsesLineFragmentOrigin attributes:@{NSFontAttributeName:[UIFont systemFontOfSize:17] } context:nil];

CGFloat w = rect.size.width+10;

NSLog(@"%f",yOffset+w);

if (xOffset+w>self.view.frame.size.width-20) {

xOffset=10;

yOffset+=(btnH+15);

}

UIButton *button=[UIButton buttonWithType:UIButtonTypeCustom];

button.titleLabel.font=[UIFont systemFontOfSize:17];

[button setTitle:string forState:(UIControlStateNormal)];

[button setTitleColor:[UIColor blackColor] forState:(UIControlStateNormal)];

//自己 加  Button的点击 事件

[button setBackgroundColor:[UIColor whiteColor]];

button.layer.cornerRadius=5;

button.clipsToBounds=YES;

button.tag=1000+i;

button.frame = CGRectMake(xOffset, yOffset, w, btnH);

[view addSubview:button];

xOffset+=(w+10);

++i;

}

Button 自动换行的更多相关文章

  1. button自适应宽度 并根据屏幕宽自动换行排列

    这是一个封装好的类TagListView, 1. 只需要调用两个方法 设置宽度,间距,边距 并赋给它需要显示的字符串数组; 2. 遵循tagListView的协议, 并实现返回buttonView的方 ...

  2. unity3d插件Daikon Forge GUI 中文教程3-基础控件Button和Sprite的使用

    2.2添加一个按钮Button 来看看特有的属性:Button Properties Data 显示的文本 Behavior 中的几个: Aoto Size 选中时就是按钮的背景会根据Data中的文本 ...

  3. 获取UILabel上最后一个字符串的位置。获取文字长度和高度,自动换行

    //行的高度. -(CGFloat)tableView:(UITableView *)tableView heightForRowAtIndexPath:(NSIndexPath *)indexPat ...

  4. QT pyqt pyside2 QLabel 自动换行设置注意点

    QT pyqt pyside2 QLabel 自动换行设置注意点 先看效果: PySide2(QT5) 的 QT Designer (我在 QT4 的 designer 中不可以直接看效果,可能需要设 ...

  5. [Learn AF3]第四章 App framework组件之Button

    Button    组件名称:Button     是否js控件:否     使用说明:如果说panel组件是af3的“核心(heart of the ui)”,那么Button就是af中的五虎上将之 ...

  6. table中的td自动换行

    总有那么几个时候会觉得,table的td不能自适应换行真坑,凭什么只能用tr来换行,经常数据都是连在一起的呀,你叫我怎么把它拆分放到tr里...... 那能不能用ul和li来替换?可以是可以,不过有时 ...

  7. Java开发桌面程序学习(十)——css样式表使用以及Button悬浮改变样式实现

    css样式表使用 javafx中的css样式,与html的有些不一样,javafx中的css,是以-fx-background-color这种样子的,具体可以参考文档JavaFx css官方文档 ja ...

  8. Java开发桌面程序学习(10)——css样式表使用以及Button使用

    css 样式表使用 javafx中的css样式,与html的有些不一样,javafx中的css,是以-fx-background-color这种样子的,具体可以参考文档JavaFx css官方文档 简 ...

  9. C# WinForm 中Label自动换行 解决方法

    在TableLayoutPannel中放着一些Label如果把Label的AutoSize属性设成True的话,文字超过label长度时就会自动增加,直到后面的字出窗体以外设置成False时,一旦到达 ...

随机推荐

  1. Lintcode---线段树的构造

    线段树是一棵二叉树,他的每个节点包含了两个额外的属性start和end用于表示该节点所代表的区间.start和end都是整数,并按照如下的方式赋值: 根节点的 start 和 end 由 build  ...

  2. php安全处理

    1.php.ini 修改 open_basedir='d:\wwwroot' //配置只能访问指定的网站目录 2.php.ini 修改 disable_funcitons=system,passthr ...

  3. mysql数据库中不能插入0000-00-00 00:00:00日期数据(报错Invalid datetime format: 1292 Incorrect datetime value: '0000-00-00 00:00:00')

    报错信息 SQLSTATE[22007]: Invalid datetime format: 1292 Incorrect datetime value: '0000-00-00 00:00:00' ...

  4. 使用NoSQL Manager for MongoDBclient连接mongodb

    1.安装NoSQL Manager for MongoDB 下载地址:http://www.mongodbmanager.com/download 2.打开client,选server-new mon ...

  5. 分时段显示不同的提示的网页JS特效代码

    脚本说明: 把如下代码加入body区域中 <SCRIPT> today=new Date(); var day; var date; var hello; var wel; hour=ne ...

  6. [Delphi] 常用字符集简介

    转载 http://www.cnblogs.com/yangyxd/articles/4778483.html 字符集 ANSI (ASCII)美国信息互换标准编码 GB 2312信息交换用汉字编码字 ...

  7. PHP学习笔记(4)GD库画五角星

         <?php //加header头,不然浏览器乱码 header("content-type: image/png"); //创建画布资源 $img = imagec ...

  8. Ubuntu下修改tomcat6默认的8080端口

    $ sudo vi /etc/tomcat6/server.xml   将 <Connector port="8080" protocol="HTTP/1.1&qu ...

  9. LNMP笔记:php-fpm – 启动参数及重要配置详解

    约定几个目录/usr/local/php/sbin/php-fpm/usr/local/php/etc/php-fpm.conf/usr/local/php/etc/php.ini php-fpm的启 ...

  10. C扩展php的方法(制作php扩展库)

    用PHP调用C扩展整个配置过程在CentOS下   今天终于把C扩展加入到PHP中了,并且可以调用,废话就不说了,看下文.   一.必须先要安装Apache和mysql,这两个的安装过程我就不说了. ...