- (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. Poly2Tri介绍[转]

    https://blog.csdn.net/xys206006/article/details/83002326 这是Poly2Tri介绍的翻译博文.原文链接:http://sites-final.u ...

  2. 前端基于jquery的UI框架

    正在做的一个项目选择jquery作为前端js核心库.然后就想选一个基于jquery的ui库,然后悲催的事情发生了. 至于为什么使用jquery,一是因为不想为授权费用,而又不想引起可能法律纠纷:另一方 ...

  3. 仿qq底部的提示标记

    看到一个比較不错的开源项目,分享给大家: <?xml version="1.0" encoding="utf-8"?> <RelativeLa ...

  4. Java反编译代码分析(一)

    浅析如何读懂这种反编译过来的文件,不喜勿喷. 赋值 Node node; Node node1 = _$3.getChildNodes().item(0); node1; node1; JVM INS ...

  5. SearchBySql

    Java: public List<Accountingdisclosure> searchAccountingdisclosuresBySql(String sqlStr)throws ...

  6. 转:Eclipse配色方案

    http://www.cnblogs.com/arci/archive/2011/01/23/1942646.html 参考配色方案: http://www.cs.cmu.edu/~maverick/ ...

  7. HTML常见元素及其属性总结

    HTML视频看完了.视频非常短,主要讲述了有关HTML中经常使用的标记和元素属性的使用.这对理解web开发有非常大的帮助.之前做过的牛腩新闻公布系统中用到了非常短HTML元素,仅仅是跟着视频做,非常多 ...

  8. Java集合遍历时删除

    public static void main(String[] args){ List<Integer> list = new ArrayList<Integer>(); l ...

  9. BitNami

    BitNami 提供wordpress.joomla.drupal.bbpress等开源程序的傻瓜式安装包下载,所有的安装包内置了服务器环境,就是说,不需要在本地 电脑上另外搭建服务器,就可以一次性傻 ...

  10. lvs 隧道模式请求没有回应的解决

    众所周知,lvs共有三种转发机制:NAT,IPTUNNELING与DIRECT ROUTING 我在做隧道模式实验时遇到了一个问题,客户端向虚拟ip(即隧道0的ip)发送请求后,lvs服务器接收到了请 ...