- 浏览: 97044 次
- 性别:
- 来自: 济南
最新评论
-
cillyfly:
想问问 - (NSString *)tableView:(UI ...
IOS之UITableView详解 -
sdfiyon:
不错。。。。。
IOS应用开发版本控制工具之Versions使用 -
吃饱了就饿:
说不定以后能用到
IOS 检测设备晃动 -
吃饱了就饿:
不错啊,很清晰,学习学习
IOS之UILabel显示内容自动换行
一、建立 UITableView UITableView *tabYwKPI = [[UITableView alloc]initWithFrame:CGRectMake(0, 100, 320, 366)]; tabYwKPI.separatorColor = [[UIColor alloc] initWithRed:0.8 green:0.8 blue:0.8 alpha:1]; tabYwKPI.tag=100; tabYwKPI.scrollEnabled = YES; tabYwKPI.dataSource = self; tabYwKPI.delegate = self; tabYwKPI.rowHeight = 60; [self.view addSubview:tabYwKPI]; [tabYwKPIrelease]; 二、UITableView数据重新加载 [tabYwKPI reloadData]; 三、UITableView各Method说明 //Section总数 - (NSArray *)sectionIndexTitlesForTableView:(UITableView *)tableView{ return TitleData; } // Section Titles //每个section显示的标题 - (NSString *)tableView:(UITableView *)tableView titleForHeaderInSection:(NSInteger)section{ return @""; } //指定有多少个分区(Section),默认为1 - (NSInteger)numberOfSectionsInTableView:(UITableView *)tableView { return 4; } //指定每个分区中有多少行,默认为1 - (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section{ } //绘制Cell -(UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath { static NSString *SimpleTableIdentifier = @"SimpleTableIdentifier"; UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier: SimpleTableIdentifier]; if (cell == nil) { cell = [[[UITableViewCell alloc] initWithStyle:UITableViewCellStyleDefault reuseIdentifier: SimpleTableIdentifier] autorelease]; } cell.imageView.image=image;//未选cell时的图片 cell.imageView.highlightedImage=highlightImage;//选中cell后的图片 cell.text=//..... return cell; } //行缩进 -(NSInteger)tableView:(UITableView *)tableView indentationLevelForRowAtIndexPath:(NSIndexPath *)indexPath{ NSUInteger row = [indexPath row]; return row; } //改变行的高度 - (CGFloat)tableView:(UITableView *)tableView heightForRowAtIndexPath:(NSIndexPath *)indexPath{ return 40; } //定位 [TopicsTable setContentOffset:CGPointMake(0, promiseNum * 44 + Chapter * 20)]; //返回当前所选cell NSIndexPath *ip = [NSIndexPath indexPathForRow:row inSection:section]; [TopicsTable selectRowAtIndexPath:ip animated:YES scrollPosition:UITableViewScrollPositionNone]; [tableView setSeparatorStyle:UITableViewCellSelectionStyleNone]; //选中Cell响应事件 - (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath{ [tableView deselectRowAtIndexPath:indexPath animated:YES];//选中后的反显颜色即刻消失 } //判断选中的行(阻止选中第一行) -(NSIndexPath *)tableView:(UITableView *)tableView willSelectRowAtIndexPath:(NSIndexPath *)indexPath { NSUInteger row = [indexPath row]; if (row == 0) return nil; return indexPath; } //划动cell是否出现del按钮 - (BOOL)tableView:(UITableView *)tableView canEditRowAtIndexPath:(NSIndexPath *)indexPath { } //编辑状态 - (void)tableView:(UITableView *)tableView commitEditingStyle:(UITableViewCellEditingStyle)editingStyle forRowAtIndexPath:(NSIndexPath *)indexPath { } [topicsTable setContentSize:CGSizeMake(0,controller.promiseNum * 44)]; //右侧添加一个索引表 - (NSArray *)sectionIndexTitlesForTableView:(UITableView *)tableView{ } //返回Section标题内容 - (NSString *)tableView:(UITableView *)tableView titleForHeaderInSection:(NSInteger)section{ } //自定义划动时del按钮内容 - (NSString *)tableView:(UITableView *)tableView titleForDeleteConfirmationButtonForRowAtIndexPath:(NSIndexPath *)indexPath //跳到指的row or section [tableView scrollToRowAtIndexPath:[NSIndexPath indexPathForRow:0 inSection:0] atScrollPosition:UITableViewScrollPositionBottom animated:NO]; 四、在UITableViewCell上建立UILable多行显示 - (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath { static NSString *CellIdentifier = @"Cell"; UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:CellIdentifier]; if (cell == nil) { cell = [[[UITableViewCell alloc] initWithFrame:CGRectZero reuseIdentifier:CellIdentifier] autorelease]; UILabel *Datalabel = [[UILabel alloc] initWithFrame:CGRectMake(10, 0, 320, 44)]; [Datalabel setTag:100]; Datalabel.autoresizingMask = UIViewAutoresizingFlexibleWidth | UIViewAutoresizingFlexibleHeight; [cell.contentView addSubview:Datalabel]; [Datalabel release]; } UILabel *Datalabel = (UILabel *)[cell.contentView viewWithTag:100]; [Datalabel setFont:[UIFont boldSystemFontOfSize:18]]; Datalabel.text = [data.DataArray objectAtIndex:indexPath.row]; cell.accessoryType = UITableViewCellAccessoryDisclosureIndicator; return cell; } //选中cell时的颜色 typedef enum { UITableViewCellSelectionStyleNone, UITableViewCellSelectionStyleBlue, UITableViewCellSelectionStyleGray } UITableViewCellSelectionStyle //cell右边按钮格式 typedef enum { UITableViewCellAccessoryNone, // don't show any accessory view UITableViewCellAccessoryDisclosureIndicator, // regular chevron. doesn't track UITableViewCellAccessoryDetailDisclosureButton, // blue button w/ chevron. tracks UITableViewCellAccessoryCheckmark // checkmark. doesn't track } UITableViewCellAccessoryType //是否加换行线 typedef enum { UITableViewCellSeparatorStyleNone, UITableViewCellSeparatorStyleSingleLine } UITableViewCellSeparatorStyle//改变换行线颜色 tableView.separatorColor = [UIColor blueColor]; 五、在UITableView标记选中行(多行选中) //选中Cell响应事件 - (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath{ //获取选中的UITableViewCell UITableViewCell *cell = [tableView cellForRowAtIndexPath:indexPath]; //判断UITableViewCell 选中状态 if(cell.accessoryType == UITableViewCellAccessoryNone){ //没被选中,标记 cell.accessoryType = UITableViewCellAccessoryCheckmark; //加入选中行数组中,记录选中记录 [self.selectWys addObject:[self.initCitys objectAtIndex:indexPath.row]]; }else{ //被选中则去除标记 cell.accessoryType = UITableViewCellAccessoryNone; //从选中行数组中移除选中记录 [self.selectWys removeObject:[self.initCitys objectAtIndex:indexPath.row]]; } [tableView deselectRowAtIndexPath:indexPath animated:YES];//选中后的反显颜色即刻消失 } 选中行标记后,由于UITableView中cell每次在UITableView中显示的时候都会调用cellForRowAtIndexPath方法进行重绘,所以在执行cellForRowAtIndexPath时需要判断cell的选中状态,否则会出现cell已经被选中,但是向上或下拖动出视线范围之外后,重新拖动到显示区域显示时选中标记会消失的问题。cellForRowAtIndexPath中加入判断代码如下: -(UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath { static NSString *cellIdetify = @"cell"; UITableViewCell *tvCell = [[[UITableViewCell alloc]initWithFrame:CGRectZero reuseIdentifier:cellIdetify]autorelease]; tvCell.selectionStyle = UITableViewCellSelectionStyleGray; UILabel *lbCity = [[UILabel alloc]initWithFrame:CGRectMake(30, 0, 80, 40)]; [lbCity setBackgroundColor:[UIColor clearColor]]; [lbCity setText:[self.initCitys objectAtIndex:indexPath.row]]; [lbCity setFont:[UIFont systemFontOfSize:16.0f]]; //判断要显示的数据是否被选中 if ([self.selectWys containsObject:[self.initCitys objectAtIndex:indexPath.row]]) { tvCell.accessoryType = UITableViewCellAccessoryCheckmark; } else { tvCell.accessoryType = UITableViewCellAccessoryNone; } [tvCell addSubview:lbCity]; }
评论
1 楼
cillyfly
2015-07-13
想问问
- (NSString *)tableView:(UITableView *)tableView titleForHeaderInSection:(NSInteger)section{
如果sectiontitle的内容过多 如何让他换行呢?
- (NSString *)tableView:(UITableView *)tableView titleForHeaderInSection:(NSInteger)section{
如果sectiontitle的内容过多 如何让他换行呢?
发表评论
-
IOS 基于APNS消息推送原理与实现(JAVA后台)
2013-12-31 10:03 4002Push的原理: Push 的工作机制可以简单的概括为下 ... -
【转】nonatomic, retain,weak,strong用法详解
2013-01-15 14:41 1342http://blog.csdn.net/dong_007_ ... -
【转】iPhone/Mac Objective-C内存管理教程和原理剖析
2013-01-15 11:47 1011文章转自:http://www.coc ... -
IOS应用开发之自动旋转与调整大小
2013-01-10 14:40 1209苹果的产品iPad和iPhone都是支持自动旋转的,因 ... -
ASIHTTPRequest开源类项目导入问题及解决方法
2013-01-06 16:07 1921ASIHTTPRequest 为ASIHTTPRequest开 ... -
关于“ARC forbids explicit message send of release”错误
2013-01-05 16:36 1358如果你在进行release,retain相关操作的 ... -
IOS应用开发版本控制工具之Versions使用
2012-12-25 17:10 23068Versions版本控制工具破解版(Versions.zip) ... -
IOS中XML解析之libxml2
2012-12-20 13:14 2894IOS SDK自带的XML解析库 ... -
IOS设备滑动事件
2012-12-20 13:11 5595只要手指触摸屏幕,滑 ... -
IOS之JSON数据解析
2012-12-18 17:22 3161一、准备工作: 1、将SBJsonClasses 加入项目 ... -
IOS中XML解析之NSXMLParser
2012-12-18 17:21 4790NSXMLParser解析XML数据 用法如下: 一、首先, ... -
IOS手机端应用程序调用Servlet
2012-12-18 17:20 1403NSString *nstrWyKPIUrl =[[NSStr ... -
苹果开发中文站
2012-12-18 15:20 705苹果开发中文站:http://www.cocoachina. ... -
IOS之UILabel显示内容自动换行
2012-12-18 14:45 92241、UILabel内容自动换行 UIFont *fontNa ... -
IOS 检测设备晃动
2012-12-17 14:20 2079IOS 3.0 + 开始支持motion事件,检测设备摇动 ... -
IOS中NSUserDefaults的用法
2012-12-15 16:45 7032NSUserDefaults适合存储轻量级本地数据,比 ... -
IOS手机端应用程序调用WebService
2012-12-15 16:23 11368手机端IOS应用程序调用WebService(JAVA)代码 ...
相关推荐
在iOS开发中UITableView可以说是使用最广泛的控件,我们平时使用的软件中到处都可以看到它的影子,类似于微信、QQ、新浪微博等软件基本上随处都是UITableView。当然它的广泛使用自然离不开它强大的功能,今天这篇...
主要介绍了IOS UITableView和NavigationBar的常用设置详解的相关资料,需要的朋友可以参考下
UITableView 详细讲解
主要介绍了iOS UITableView 与 UITableViewController实例详解的相关资料,非常不错,具有参考借鉴价值,需要的朋友可以参考下
关于左滑删除这块,相信不少朋友都遇到过。下面这篇文章主要给大家介绍了关于iOS如何自定义UITableView实现不同系统下的左滑删除功能的相关资料,文中通过示例代码介绍的非常详细,需要的朋友可以参考下
主要介绍了IOS UITableView颜色设置的实例详解的相关资料,这里提供了几种方法帮助大家掌握这部分内容,需要的朋友可以参考下
UITableView几乎是iOS开发中用处最广的一个控件,当然也是要记相当多东西的一个控件。 创建 首先创建一个新的项目,并添加一个MainViewController的Class文件 打开MainViewController.h文件 @interface ...
PNChart是个界面很漂亮的图表第三方库,UITableView则不用过多介绍了,各位iOS开发者们都知道,下面这篇文章主要给大家介绍了关于iOS中PNChart与UITableView的联动的相关资料,需要的朋友可以参考下
引自:http://www.cocoachina.com/ios/20140922/9710.html 详细介绍请结合此页面 包括删除 添加 上移单元格 分组 设置分组索引
主要介绍了详解iOS开发中UItableview控件的数据刷新功能的实现,代码基于传统的Objective-C,需要的朋友可以参考下
本篇文章主要介绍了iOS中的UITableView的重用机制与加载优化详解,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
主要介绍了详解iOS开发中UITableview cell 顶部空白的多种设置方法的相关资料,需要的朋友可以参考下