- (void)viewDidLoad
{
[super viewDidLoad];
NSArray *data=@[@"标题一",@"标题二",@"标题三",@"标题四"]; CGRect leftRect,rowRect;
CGRectDivide(self.view.bounds, &rowRect, &leftRect, , CGRectMinYEdge);
UIView *redView=[[UIView alloc] initWithFrame:rowRect];
redView.backgroundColor=[UIColor redColor];
[self.view addSubview:redView];
[redView release]; CGSize size=CGSizeMake(, );//图片的大小 CGFloat width=rowRect.size.width/data.count;//按钮的宽度和高度
CGFloat heigh=rowRect.size.height; CGFloat imagew=(width-size.width)*0.5f;
CGFloat imageh=(heigh-size.height)*0.5f;
for (int i=; i<data.count; i+=) {

CGRect btnRect=CGRectMake(i*width, 0, width, heigh);


leftRect=UIEdgeInsetsInsetRect(btnRect, UIEdgeInsetsMake(imageh-10,imagew, imageh+10, imagew));//设置图片剧中


UIImageView *imgview=[[UIImageViewalloc] initWithFrame:leftRect];


imgview.image=[UIImage imageNamed:@"icon_weibo"];





leftRect=UIEdgeInsetsInsetRect(btnRect, UIEdgeInsetsMake(btnRect.size.height-25, imagew, 5, imagew-10));


UILabel *lb=[[UILabelalloc] initWithFrame:leftRect];


lb.backgroundColor=[UIColorclearColor];


lb.text=data[i];


[redView addSubview:lb];


[lb release];



leftRect=UIEdgeInsetsInsetRect(btnRect, UIEdgeInsetsMake(5, imagew, 5, imagew));


UIButton *btn=[[UIButtonalloc] initWithFrame:leftRect];


[btn addTarget:selfaction:@selector(click) forControlEvents:UIControlEventTouchUpInside];


[redView addSubview:btn];


    }

    // Do any additional setup after loading the view, typically from a nib.
} -(void)click{
NSLog(@"-->click");
}

ios中布局(推荐一)的更多相关文章

  1. 【IOS界面布局】横竖屏切换和控件自适应(推荐)

    [IOS界面布局]横竖屏切换和控件自适应(推荐) 分类: [MAC/IOS下开发]2013-11-06 15:14 8798人阅读 评论(0) 收藏 举报 横竖屏切换 自适应 第一种:通过人为的办法改 ...

  2. iOS中xib与storyboard原理,与Android界面布局的异同

    用文本标记语言来进行布局,用的最多的应该是HTML语言.HTML能够理解为有一组特殊标记的XML语言. 一.iOS中xib与storyboard显示原理 在iOS中基本的布置界面的方式有3种:代码.x ...

  3. fir.im Weekly - 94 个 iOS 开发资源推荐

    距离 2016 年还有 17 个日夜,而你和回家只隔了一张 12306 验证码的距离,祝大家抢票顺利.本期 fir.im Weekly 收集了一些优秀的 GitHub 源码.开发工具和动画特效,希望对 ...

  4. Android 和iOS 中关于View 的一点知识

    View的概念和方法十分重要,这里将对Android 和iOS中出现的,关于视图的一些知识点进行总结,预计文章会比较长,要许多时间慢慢补充. 先转载一部分资料,感谢原作者! 原链接为:http://b ...

  5. IOS中调用系统的电话、短信、邮件、浏览功能

    iOS开发系列--通讯录.蓝牙.内购.GameCenter.iCloud.Passbook系统服务开发汇总 2015-01-13 09:16 by KenshinCui, 26990 阅读, 35 评 ...

  6. iOS中的地图和定位

    文章摘自http://www.cnblogs.com/kenshincui/p/4125570.html#location  如有侵权,请联系删除. 概览 现在很多社交.电商.团购应用都引入了地图和定 ...

  7. 谈谈iOS中的屏幕方向

    众所周知,iOS中提供了[UIDevice currentDevice].orientation与[UIApplication sharedApplication].statusBarOrientat ...

  8. iOS中常见 Crash 及解决方案

    来源:枫影JustinYan 链接:http://justinyan.me/post/1609 一.访问了一个已经被释放的对象 在不使用 ARC 的时候,内存要自己管理,这时重复或过早释放都有可能导致 ...

  9. Cordoval在iOS中的运用整理

    一:关于Cordoval理论知识 1:PhoneGap是手机平台上流行的一款中间件.它构建在各种手机平台所提供的WebView(浏览器内核)组件的基础之上,使用javascript语言对应用开发者提供 ...

随机推荐

  1. 用VS自带的打包程序打包Web程序,安装时安装中断

    出现这种问题,可能是你的IIS的兼容性问题: 把IIS兼容性安装好,再试试,应该可以了.

  2. OC-字符串中大小写字母转换

    一般语言中的大小写转换都会提供的有默认的函数,不过闲来无事,简单的模仿实现了一下: 系统中默认的大小写转换: NSString *name=@"博客园-FlyElephant"; ...

  3. Reverse Words in a String leetcode java

    题目: Given an input string, reverse the string word by word. For example, Given s = "the sky is ...

  4. 性能测试vs负载测试vs压力测试

    下面我们主要介绍性能测试.负载测试和压力测试. 效率作为ISO 9126内部和外部质量的重要质量属性之一,其含义是在规定条件下,相对于所用的资源的数量,软件产品可提供适当性能的能力.资源可能包括其他软 ...

  5. Kafka:ZK+Kafka+Spark Streaming集群环境搭建(二十四)Structured Streaming:Encoder

    一般情况下我们在使用Dataset<Row>进行groupByKey时,你会发现这个方法最后一个参数需要一个encoder,那么这些encoder如何定义呢? 一般数据类型 static ...

  6. GIT 如何从另一分支合并特定的文件

    是否遇到过这种情景: 您在一个分支上工作,发现该分支上的某些文件实现的功能已经在其他分支上实现了 但因为这两个分支实现不同的功能,因此不能进行简单的合并工作,但您又不想重复其他已经完成的工作 以下操作 ...

  7. [Node.js] process.nextTick for converting sync to async

    For example we have a function to check the filesize: const fs = require('fs'); function fileSize (f ...

  8. SharpDX之Direct2D教程I——简单示例和Color(颜色)

    研究Direct2D已经有一段时间了,也写了一个系列的文章 Direct2D ,是基于Windows API Code Pack 1.1.在前文 Direct2D教程VIII——几何(Geometry ...

  9. Mybatis 自定义SqlSessionFactoryBean扫描通配符typeAliasesPackage

    typeAliasesPackage 默认只能扫描某一个路径下,或以逗号等分割的 几个路径下的内容,不支持通配符和正则,采用重写的方式解决 package com.xxxx.xxx.util.comm ...

  10. Elasticsearch - 理解字段分析过程(_analyze与_explain)

    我们经常会遇到问题.为什么指定的文档没有被搜索到.许多情况下, 这都归因于映射的定义和分析例程配置存在问题. 针对分析过程的调试,ElasticSearch提供了专用的REST API. _analy ...