UITableView 界面小实例

最近一是很忙,没时间写东西,今天抽时间来总结一下这几天学到的东西

首先看看,程序现在的样子:

基本完成这些,还有一个webview就不截图了

 

记录一下要点,首先自定义tableview,这个是按照iphone3开发基础教程上面的内容改的,基本思路是,定义一个

UITableViewCell的子类,然后在子类里面进行布局,最后在用到这个tableview的

- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath这个函数中创建

CustomCell *cell = (CustomCell *)[tableView dequeueReusableCellWithIdentifier:CustomCellIdentifier];

这里我设置了cell选中和未选中的背景图片,代码如下:

[cell setSelectedBackgroundView:[[UIImageView alloc] initWithImage:[UIImage imageNamed:@"tabcellbkon.png"]]]; //设置选中后的背景,同前一个方法。

UIView *tabview = [[UIView alloc] initWithFrame:cell.frame];

UIImageView *tableImageView = [[UIImageView alloc] initWithFrame:cell.frame];

tableImageView.image = [UIImage imageNamed:@"tabcellbk.png"];

[tabview addSubview:tableImageView];

cell.backgroundView = tabview;

[tableImageView release];

[tabview release];

别的就没啥东西了。在看看别的。这里要说说第一张最上面的那个tab按钮,这个做的有点困惑,我用的系统的

navigationController,不是自定义,刚开始不知道,创建了按钮就是放不上去,结果网上搜,别人能出来,后来仔细一下才发现,估计是apple做了一下限制,只能如下这样创建:

UIButton *btn1 = [[UIButton alloc] initWithFrame:CGRectMake(16, 2.0f, kNavButtonWide, kNavButtonHeight)];

[btn1 setTitle:@"最新更新" forState:UIControlStateNormal];

[btn1 setTag:1];

btn1.titleLabel.font = [UIFont systemFontOfSize: 14.0];

[btn1 addTarget:self action:@selector(button_clicked_tag:) forControlEvents:UIControlEventTouchUpInside];

[titleview addSubview:btn1];

[btn1 release];
然后不能设置button选中和未选中的图片。即不能像下面这样:
UIButton *btn = [UIButton buttonWithType:UIButtonTypeCustom];
[btn setFrame:CGRectMake(offset + i*kNavButtonWide, 5.0f, kNavButtonWide, kNavButtonHeight)];
[btn setBackgroundImage:[UIImage imageNamed:@"navbarbuttonbk.png"] forState:UIControlStateNormal];
[btn setBackgroundImage:[UIImage imageNamed:@"navbarbuttonSelect.png"] forState:UIControlStateSelected];

说说tab的原理,首先创建了一个uiview,作为titleview,然后在上面放了一张背景图片,也就是蓝色的那一条,接着放3个button上去,写上字,然后在创建一个uiimageview代表selectview,然后在按钮的响应函数做动画处理和页面切换,就这么简单。
第2个页面9宫格页面是找来网上别人写的例子实现的。这个不详细说明了,也是用tableview做的,只不过我这里记录一下tabview去掉边线的方法
//设置标示图分割行的颜色为空,为了去掉分割线
self.tableview.separatorColor = [UIColor clearColor];
tableview设置背景,我在之前的文章有介绍,所以就不说了,设置界面弄了很长时间,主要是做设置推送时间那块。那块添加了一个选择器,然后打开选择器会自动定位到之前选定的时间,还做了一个时间判断,就是选择的开始时间,不能大于结束时间。这块代码比较多,整理之后在发。
先发这写吧,想到了在加

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/296025.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

linux下简单的备份的脚本 2 【转】

转自:http://blog.chinaunix.net/xmlrpc.php?rblog/article&uid26807463&id4577034 之前写过 linux下简单的备份的脚本 , 最开始一直用着, 后来觉得有必要改进下它了, 不管是从操作方式上还是工作方式上。有这样的想法是…

linux 文档属于apache,Apache 安装和使用文档

Apache 安装和使用文档更新时间:2009年11月26日 00:34:37 作者:Apache安装和使用文档一、准备工作:1台PC机,安装linux操作系统 参考文档linux安装.docx2 gcc的安装 参考文档gcc的安装.zip3 apache的安装包httpd-2.0.63.tar.gz二…

在数学世界,都有这些美妙的数学公式......

全世界只有3.14 % 的人关注了爆炸吧知识什么是数学?华罗庚说:宇宙之大,粒子之微,火箭之速,化工之巧,地球之变,生物之谜,日用之繁,无处不用数学......回首往昔&#xff0c…

.NET 生态系统的蜕变之 .NET 6云原生

云原生的英文名是cloud native,native 就是土著的意思,也就是土著对当地的环境是非常适应的,在云的环境和传统的数据中心是非常不同的,云原生就是要用的云的技术来构建应用, 利用云的技术来降低种端服务的风险和提高可…

Hibernate 持久化状态、HQL语句大全(转)

Hibernate 持久化状态在Hibernate中,最核心的概念就是对PO的状态管理。一个PO有三种状态: 1、未被持久化的VO 此时就是一个内存对象VO,由JVM管理生命周期 2、已被持久化的PO,并且在Session生命周期内 此时映射数据库数据&…

如何让两个安装程序setup共享同一个component—— installing shared files(version:installshield develop8.0)...

如何让两个安装程序(setup.exe),共享同一个component?  要实现的效果是,两个程序共享同一个dll,当两个程序中有一个被卸载掉时,这个dll仍存在,不随着第一个卸载而从系统中删除&…

世界十大无法科学解释灵异事件(进来发表自己看发)

1、法老咒语(世界最大灵异事件) 2、葡萄牙灵异事件(在网上引起了极大的轰动) 3、伦敦塔闹鬼(超著名) 4、20世纪上海滩灵异事件(孟小冬照片灵异事件) 5、鬼脸(墙壁上出…

宝塔linux面板假设nextcloud,宝塔面板部署NextCloud(14.0.3)逐一解决后台安全及设置警告...

刚刚把NextCloud更新到14.0.3,后台又出现了一堆警告,也是够烦的。之前写过 宝塔面板部署NextCloud逐一解决后台安全及设置警告,那个是基于Nextcloud 13.x的,所以就再补充记录一下解决如下的警告。Use of the the built in php mai…

ASP.NET Core启动地址配置方法及优先级顺序

前言默认情况下,ASP.NET Core使用下列2个启动地址:http://localhost:5000 https://localhost:5001同时,我们也可以通过配置或代码方式修改启动地址。那么,这几种修改方式都是什么?谁最后起作用呢?设置方法1.applicatio…

那些喜欢少妇的男生......

1 听说你喜欢少妇?▼2 没错!就是它!▼3 你还缺男朋友吗?▼4 还能怎么样?(via:臭人脸上的鼻涕)▼5 特效还能这样玩?▼6 哈哈哈哈哈(via:Guide&…

Openfire3.10beta版源码在eclipse上部署编译

一、源码下载 最近由于需求,需进行openfire的插件开发,于是需将openfire的源码进行部署,目前最新的openfire稳定版本是3.9.3,官方下载地址是http://www.igniterealtime.org/downloads/index.jsp,下载页面如图&#xff…

怎样理解Linux的文件系统

怎样理解Linux的文件系统Linux所有文件都从root开始,用/代表, 并且延伸到子目录。DOS/Windows有不同的分区同时目录都存于分区上。Linux则通过加载的方式把所有分区都放置在root下制定的目录里。windows下最接近于root的是c:。一句话总结:Windows下&…

POJ 1850 Code(组合数学)

题目链接 这个题目的组合解法,太巧妙了。长度为n的方案数总和为C(26,n),我竟没有发现。。然后长度和字符串相等的时候的情况,第一位默认,以后默认为前一位1,这样才能保证递增特性。 网上还有DP解法,智商拙计…

(10) 需求征集 -- 权限管理

权限管理,都碰到过哪些需求?我们汇总看看,能汇总出多少需求来?将权限管理、工作流管理做到我能力的极致,一个人只能做好那么很少的几件事情。转载于:https://blog.51cto.com/jirigala/787926

c语言中英文的作用,C语言中英文对照.doc

C语言中英文对照一File(文件) Load 加载 F3 Pick(选择) Alt-F3New 新文件Save 存盘 F2 Write To 写文件Directory 目录Change Dir 改变目录OS Shell 暂时退出Quit 退出 Alt-x二Edit 编辑 Line n Col n Insert Indent Tab Fill Unindent * D;FILE1.CLine n 光标处在文件的第n行C…

首次公开!人教版1-9年级绝密编写:被重点中小学永久收录的数学教案和试题...

全世界只有3.14 % 的人关注了爆炸吧知识在中国的教育历史上,不少人都会有感慨:“我是读着人教版教材长大的”。(人教版即由人民教育出版社出版。)的确,由毛泽东主席亲笔题写社名的人民教育出版社,自1950年1…

如何通过 C# 自动捕获一个文件的变更?

咨询区 PaulB:请问在 C# 中如何实现当一个磁盘文件的变更,让我的程序马上能感知到?回答区 Dirk Vollmar:在 C# 中有一个 FileSystemWatcher 类,它专门用来做文件的变更感知,大概有如下四类通知事件&#xf…

新随笔

2012年2月27日 岁数大了,特别愁得慌。 转载于:https://www.cnblogs.com/laozhang/archive/2012/02/27/2369771.html

Rails 开发小贴士积累

Model (ActiveRecord) 中 Boolean 类型的属性,在做是否存在的校验的时候,不能使用 presence: true ,而是要使用 inclusion: { in: [true, false] }。否则,当值为 false 的时候,会校验失败。 ClienSideValidations 对 Boolean 类型…

安装分布式文件系统MooseFS

示意图#4种角色共有的安装步骤yum install gcc zlib zlib-devel fuse fuse-devel fuse-libs libpcap libpcap-devel net-tools useradd mfs -s /sbin/nologin cd /download/ tar xf moosefs-2.0.80.tar.gz cd moosefs-2.0.80 ./configure \ --prefix/usr/local/mfs \ --with-de…