iOS UITableView基本属性函数 用法

iOS UITableView基本属性函数 用法,第1张

概述iOS UITableView基本属性 函数 用法

下面是内存溢出 jb51.cc 通过网络收集整理的代码片段。

内存溢出小编现在分享给大家,也给大家做个参考。

UItableVIEw//滚动到当前行        [self tableVIEwScrollCurrentIndexPath];1..h文件里添加协议@interface HwjVIEwController : UIVIEwController<UItableVIEwDataSource,UItableVIEwDelegate>2.声明变量@interface HwjVIEwController (){    //声明UItableVIEw视图    UItableVIEw *_tableVIEw;    //数据源数组    NSMutableArray *_dataArray;}3.tableVIEw基本设置- (voID)creattableVIEw{    //创建数据源数组   来提供数据    _dataArray = [[NSMutableArray alloc]init];    //给数据源数组添加数据    for (int i = 0; i<5; i++) {        Nsstring *name = [Nsstring stringWithFormat:@"第%d行",i];        [_dataArray addobject:name];    }    //创建tableVIEw视图    _tableVIEw = [[UItableVIEw alloc]initWithFrame:CGRectMake(0,320,480) style:UItableVIEwStylePlain];    //设置代理    _tableVIEw.delegate = self;    //设置数据源  提供数据的对象    _tableVIEw.dataSource = self;    //对tableVIEw进行设置    //设置分割线颜色    _tableVIEw.separatorcolor = [UIcolor redcolor];    //设置分割线类型    //UItableVIEwCellSeparatorStyleNone没有分割线    //UItableVIEwCellSeparatorStyleSingleline 单线    //UItableVIEwCellSeparatorStyleSinglelineEtched 没有线    _tableVIEw.separatorStyle = UItableVIEwCellSeparatorStyleSingleline;    //设置头视图   只有高度有效    UIImageVIEw *headerVIEw = [[UIImageVIEw alloc]initWithFrame:CGRectMake(10,10,200,200)];    //头视图高度有影响    headerVIEw.image = [UIImage imagenamed:@"huancun.jpg"];     //设置头视图    _tableVIEw.tableheaderVIEw = headerVIEw;    //设置尾视图    UIImageVIEw *FooterVIEw = [[UIImageVIEw alloc]initWithFrame:CGRectMake(0,100)];    FooterVIEw.image = [UIImage imagenamed:@"huancun.jpg"];    //设置尾视图    _tableVIEw.tableFooterVIEw = FooterVIEw;    [self.vIEw addSubvIEw:_tableVIEw];}4.代理基本设置#pragma mark - 创建cell- (UItableVIEwCell *)tableVIEw:(UItableVIEw *)tableVIEw cellForRowAtIndexPath:(NSIndexPath *)indexPath{    //cell复用标志    static Nsstring *cellID = @"cellID";    //从复用队列获取是否有cellID标志对应的可复用的cell    UItableVIEwCell *cell = [tableVIEw dequeueReusableCellWithIDentifIEr:cellID];    if (cell == nil) {        //创建cell        cell = [[[UItableVIEwCell alloc] initWithStyle:UItableVIEwCellStyleSubTitle reuseIDentifIEr:cellID] autorelease];        //cell上有一个contentVIEw ,cell 上的内容都粘到了contentVIEw上 所有我们要想在cell 上粘贴自己的内容必须要在contentVIEw 上粘贴        UILabel *label = [[UILabel alloc] initWithFrame:CGRectMake(290,cell.contentVIEw.bounds.size.height/2,15,15)];        label.tag = 1001;//设置tag 值        [cell.contentVIEw addSubvIEw:label];        [label release];        //把一个label 粘贴到contentVIEw上            }    NSLog(@"contentVIEw:%@",cell.contentVIEw);    UILabel *label = (UILabel *)[cell.contentVIEw vIEwWithTag:1001];    label.text = [Nsstring stringWithFormat:@"%d",indexPath.row];//显示哪一行            //indexPath:保存的是第几分区的第几行    //分区:indexPath.section  行:indexPath.row    //对cell 内容进行修改    cell.textLabel.text = [Nsstring stringWithFormat:@"第%c分区",indexPath.section+'A'];        //获取数据源的数据    //1.先得到分区数据 一个一维数组//    NSMutableArray *arr = _dataArray[indexPath.section];//    cell.detailTextLabel.text = [arr objectAtIndex:indexPath.row];    cell.detailTextLabel.text = _dataArray[indexPath.section][indexPath.row];    //设置cell的左侧图片    cell.imageVIEw.image = [UIImage imagenamed:@"11.jpeg"];    /*     //没有选中效果     UItableVIEwCellSelectionStyleNone,//下面几个都是灰色风格的     UItableVIEwCellSelectionStyleBlue,UItableVIEwCellSelectionStyleGray,UItableVIEwCellSelectionStyleDefault     */    //选中之后都是灰的    //设置cell 的选中风格    cell.selectionStyle = UItableVIEwCellSelectionStyleDefault;        //设置选中背景视图    UIVIEw *redVIEw = [[UIVIEw alloc] initWithFrame:CGRectMake(100,44)];    //坐标大小没有影响    redVIEw.backgroundcolor = [UIcolor redcolor];    cell.selectedBackgroundVIEw = redVIEw;    [redVIEw release];    //设置背景颜色    cell.backgroundcolor = [UIcolor graycolor];    //设置背景图片    UIImageVIEw *imageVIEw = [[UIImageVIEw alloc] initWithFrame:CGRectMake(0,50)];    //table_cell_bg比较小  我们可以自己实现拉伸    imageVIEw.image = [[UIImage imagenamed:@"table_cell_bg"] stretchableImageWithleftCapWIDth:5 topCapHeight:5];    //stretchableImageWithleftCapWIDth拉伸图片    //距离左侧5像素 不拉伸 从第6像素开始拉伸    //距离顶部5像素 不拉伸 从第6像素开始拉伸    //应用气泡聊天        cell.backgroundVIEw = imageVIEw;    [imageVIEw release];        return cell;}//设置分区的个数- (NSInteger)numberOfSectionsIntableVIEw:(UItableVIEw *)tableVIEw{    //返回1代表1个分区    return 1;}//设置行数- (NSInteger)tableVIEw:(UItableVIEw *)tableVIEw numberOfRowsInSection:(NSInteger)section{	//返回1代表1行    return 1;}//设置指定分区的头标标题- (Nsstring *)tableVIEw:(UItableVIEw *)tableVIEw TitleForheaderInSection:(NSInteger)section{    Nsstring *nss = @“头标题";	return nss;}//设置指定分区的脚标标题- (Nsstring *)tableVIEw:(UItableVIEw *)tableVIEw TitleForFooterInSection:(NSInteger)section{    Nsstring *nss = @"脚标题";	return nss;}//设置cell 的行高- (CGfloat)tableVIEw:(UItableVIEw *)tableVIEw heightForRowAtIndexPath:(NSIndexPath *)indexPath{    //默认行高44    return 50;}//选中指定行 调用//已经选中- (voID)tableVIEw:(UItableVIEw *)tableVIEw dIDSelectRowAtIndexPath:(NSIndexPath *)indexPath{   NSLog(@"第%d行选中",indexPath.row);}//取消选中的时候调用//从选中状态到非选中状态//反选- (voID)tableVIEw:(UItableVIEw *)tableVIEw dIDdeselectRowAtIndexPath:(NSIndexPath *)indexPath{    NSLog(@"第%d行取消选中/反选",indexPath.row);}	1	- (voID)vIEwDIDLoad  	2	{  	3	    [super vIEwDIDLoad];  	4	    //初始化数据  	5	    NSArray *[email protected][@"张铁林",@"张国立",@"张国荣",@"张艺谋",@"张惠妹"];  	6	    NSArray *[email protected][@"李小龙",@"李小路"];  	7	    NSArray *[email protected][@"王刚"];  	8	    [email protected]{@"老张家":array1_, @"老李家":array2_, @"老王家":array3_};  	9	  	10	      	11	    UItableVIEw *mytableVIEw_=[[UItableVIEw alloc] initWithFrame:CGRectMake(0, 0, 320, 460) style:UItableVIEwStylePlain];  	12	    mytableVIEw_.delegate=self;  	13	    mytableVIEw_.dataSource=self;  	14	    //改变换行线颜色lyttzx.com  	15	    mytableVIEw_.separatorcolor = [UIcolor bluecolor];  	16	    //设定header的高度,  	17	    mytableVIEw_.sectionheaderHeight=50;  	18	    //设定footer的高度,  	19	    mytableVIEw_.sectionFooterHeight=100;  	20	    //设定行高  	21	    mytableVIEw_.rowHeight=100;  	22	    //设定cell分行线的样式,默认为UItableVIEwCellSeparatorStyleSingleline  	23	    [mytableVIEw_ setSeparatorStyle:UItableVIEwCellSeparatorStyleSingleline];  	24	    //设定cell分行线颜色  	25	    [mytableVIEw_ setSeparatorcolor:[UIcolor redcolor]];  	26	    //编辑tableVIEw  	27	    mytableVIEw_.editing=NO;  	28	  	29	    [self.vIEw addSubvIEw:mytableVIEw_];  	30	      	31	    //跳到指的row or section  	32	    [mytableVIEw_ scrollToRowAtIndexPath:[NSIndexPath indexPathForRow:2 inSection:2]  	33	                     atScrollposition:UItableVIEwScrollpositionBottom animated:NO];  	34	  	35	}  	36	  	37	  	38	  	39	//指定有多少个分区(Section),默认为1  	40	- (NSInteger)numberOfSectionsIntableVIEw:(UItableVIEw *)tableVIEw {  	41	    return [[self.myDic allKeys] count];  	42	}  	43	  	44	  	45	//每个section底部标题高度(实现这个代理方法后前面 sectionheaderHeight 设定的高度无效)  	46	-(CGfloat)tableVIEw:(UItableVIEw *)tableVIEw heightForheaderInSection:(NSInteger)section{  	47	    return 20;  	48	}  	49	  	50	//每个section头部标题高度(实现这个代理方法后前面 sectionFooterHeight 设定的高度无效)  	51	-(CGfloat)tableVIEw:(UItableVIEw *)tableVIEw heightForFooterInSection:(NSInteger)section{  	52	    return 20;  	53	}  	54	  	55	//每个section头部的标题-header  	56	- (Nsstring *)tableVIEw:(UItableVIEw *)tableVIEw TitleForheaderInSection:(NSInteger)section{  	57	    return [[self.myDic allKeys] objectAtIndex:section];  	58	}  	59	  	60	//每个section底部的标题-Footer  	61	- (Nsstring *)tableVIEw:(UItableVIEw *)tableVIEw TitleForFooterInSection:(NSInteger)section{  	62	    return nil;  	63	}  	64	  	65	//用以定制自定义的section头部视图-header  	66	-(UIVIEw *)tableVIEw:(UItableVIEw *)tableVIEw vIEwForheaderInSection:(NSInteger)section{  	67	    return nil;  	68	}  	69	  	70	//用以定制自定义的section底部视图-Footer  	71	-(UIVIEw *)tableVIEw:(UItableVIEw *)tableVIEw vIEwForFooterInSection:(NSInteger)section{  	72	    UIImageVIEw *imageVIEw_=[[UIImageVIEw alloc]initWithFrame:CGRectMake(0, 20)];  	73	    imageVIEw_.image=[UIImage imagenamed:@"1000.png"];  	74	    return [imageVIEw_ autorelease];  	75	}  	76	  	77	  	78	//指定每个分区中有多少行,默认为1  	79	- (NSInteger)tableVIEw:(UItableVIEw *)tableVIEw numberOfRowsInSection:(NSInteger)section{  	80	    return [[self.myDic objectForKey:[[self.myDic allKeys]objectAtIndex:section]] count];  	81	}  	82	  	83	//改变行的高度(实现主个代理方法后 rowHeight 设定的高度无效)  	84	- (CGfloat)tableVIEw:(UItableVIEw *)tableVIEw heightForRowAtIndexPath:(NSIndexPath *)indexPath{  	85	    return 100;  	86	}  	87	  	88	  	89	//绘制Cell  	90	-(UItableVIEwCell *)tableVIEw:(UItableVIEw *)tableVIEw cellForRowAtIndexPath:(NSIndexPath *)indexPath {  	91	    static Nsstring *SimpletableIDentifIEr = @"SimpletableIDentifIEr";  	92	      	93	    UItableVIEwCell *cell = [tableVIEw dequeueReusableCellWithIDentifIEr:  	94	                             SimpletableIDentifIEr];  	95	      	96	    if (cell == nil) {  	97	        cell = [[[UItableVIEwCell alloc] initWithStyle:UItableVIEwCellStyleDefault  	98	                                       reuseIDentifIEr: SimpletableIDentifIEr] autorelease];  	99	     //设定附加视图  	100	        [cell setAccessoryType:UItableVIEwCellAccessoryDetaildisclosurebutton];  	101	//        UItableVIEwCellAccessoryNone,                   // 没有标示  	102	//        UItableVIEwCellAccessorydisclosureIndicator,    // 下一层标示  	103	//        UItableVIEwCellAccessoryDetaildisclosurebutton, // 详情button  	104	//        UItableVIEwCellAccessorycheckmark               // 勾选标记  	105	          	106	     //设定选中cell时的cell的背影颜色  	107	        cell.selectionStyle=UItableVIEwCellSelectionStyleBlue;     //选中时蓝色效果  	108	//        cell.selectionStyle=UItableVIEwCellSelectionStyleNone; //选中时没有颜色效果  	109	//        cell.selectionStyle=UItableVIEwCellSelectionStyleGray;  //选中时灰色效果  	110	//          	111	//        //自定义选中cell时的背景颜色  	112	//        UIVIEw *selectedVIEw = [[UIVIEw alloc] initWithFrame:cell.contentVIEw.frame];  	113	//        selectedVIEw.backgroundcolor = [UIcolor orangecolor];  	114	//        cell.selectedBackgroundVIEw = selectedVIEw;  	115	//        [selectedVIEw release];  	116	  	117	          	118	//        cell.selectionStyle=UItableVIEwCellAccessoryNone; //行不能被选中  	119	  	120	    }  	121	      	122	    //这是设置没选中之前的背景颜色  	123	    cell.contentVIEw.backgroundcolor = [UIcolor clearcolor];  	124	    cell.imageVIEw.image=[UIImage imagenamed:@"1001.jpg"];//未选cell时的图片  	125	    cell.imageVIEw.highlightedImage=[UIImage imagenamed:@"1002.jpg"];//选中cell后的图片  	126	    cell.textLabel.text=[[self.myDic objectForKey:[[self.myDic allKeys]objectAtIndex:indexPath.section]]objectAtIndex:indexPath.row];  	127	    return cell;  	128	}  	129	  	130	  	131	//行缩进  	132	-(NSInteger)tableVIEw:(UItableVIEw *)tableVIEw indentationLevelForRowAtIndexPath:(NSIndexPath *)indexPath{  	133	    NSUInteger row = [indexPath row];  	134	    return row;  	135	}  	136	  	137	//选中Cell响应事件  	138	- (voID)tableVIEw:(UItableVIEw *)tableVIEw dIDSelectRowAtIndexPath:(NSIndexPath *)indexPath{  	139	    [tableVIEw deselectRowAtIndexPath:indexPath animated:YES];//选中后的反显颜色即刻消失  	140	      	141	    //得到当前选中的cell  	142	    UItableVIEwCell *cell=[tableVIEw cellForRowAtIndexPath:indexPath];  	143	    NSLog(@"cell=%@",cell);  	144	}  	145	  	146	//行将显示的时候调用,预加载行  	147	-(voID)tableVIEw:(UItableVIEw *)tableVIEw willdisplayCell:(UItableVIEwCell *)cell forRowAtIndexPath:(NSIndexPath *)indexPath  	148	{  	149	    NSLog(@"将要显示的行是\n cell=%@  \n indexpath=%@",cell,indexPath);  	150	}  	151	  	152	//选中之前执行,判断选中的行(阻止选中第一行)  	153	-(NSIndexPath *)tableVIEw:(UItableVIEw *)tableVIEw willSelectRowAtIndexPath:(NSIndexPath *)indexPath  	154	{  	155	    NSUInteger row = [indexPath row];  	156	    if (row == 0)  	157	        return nil;  	158	    return indexPath;  	159	}  	160	  	161	  	162	  	163	//编辑状态,点击删除时调用  	164	- (voID)tableVIEw:(UItableVIEw *)tableVIEw commitEditingStyle:(UItableVIEwCellEditingStyle)editingStyle  	165	forRowAtIndexPath:(NSIndexPath *)indexPath  	166	{  	167	      	168	}  	169	  	170	//cell右边按钮格式为UItableVIEwCellAccessoryDetaildisclosurebutton时,点击按扭时调用的方法  	171	-(voID)tableVIEw:(UItableVIEw *)tableVIEw accessorybuttonTappedForRowWithIndexPath:(NSIndexPath *)indexPath{  	172	    NSLog(@"当前点击的详情button \n indexpath=%@",indexPath);  	173	}  	174	  	175	//右侧添加一个索引表  	176	- (NSArray *)sectionIndexTitlesFortableVIEw:(UItableVIEw *)tableVIEw{  	177	    return [self.myDic allKeys];  	178	}  	179	  	180	//划动cell是否出现del按钮  	181	- (BOol)tableVIEw:(UItableVIEw *)tableVIEw canEditRowAtIndexPath:(NSIndexPath *)indexPath {  	182	    return YES;  	183	}  	184	  	185	//设定横向滑动时是否出现删除按扭,(阻止第一行出现)  	186	-(UItableVIEwCellEditingStyle)tableVIEw:(UItableVIEw *)tableVIEw editingStyleForRowAtIndexPath:(NSIndexPath *)indexPath  	187	{  	188	    if (indexPath.row==0) {  	189	        return UItableVIEwCellEditingStyleNone;  	190	    }  	191	    else{  	192	        return UItableVIEwCellEditingStyleDelete;  	193	    }  	194	    return UItableVIEwCellEditingStyleDelete;  	195	}  	196	  	197	//自定义划动时delete按钮内容  	198	- (Nsstring *)tableVIEw:(UItableVIEw *)tableVIEw  	199	TitleForDeleteConfirmationbuttonForRowAtIndexPath:(NSIndexPath *)indexPath{  	200	    return @"删除这行";  	201	、、删除cell 时的动画效果	202	 [self.tableVIEw deleteRowsAtIndexPaths:[NSArray arrayWithObject:indexPath] withRowAnimation:UItableVIEwRowAnimationFade];	203	          	204	}  	205	  	206	//开始移动row时执行  	207	-(voID)tableVIEw:(UItableVIEw *)tableVIEw moveRowAtIndexPath:(NSIndexPath *)sourceIndexPath toIndexPath:(NSIndexPath*)destinationIndexPath  	208	{  	209	    NSLog(@"sourceIndexPath=%@",sourceIndexPath);  	210	    NSLog(@"sourceIndexPath=%@",destinationIndexPath);  	211	}  	212	  	213	//滑动可以编辑时执行  	214	-(voID)tableVIEw:(UItableVIEw *)tableVIEw willBeginEditingRowAtIndexPath:(NSIndexPath *)indexPath  	215	{  	216	    NSLog(@"willBeginEditingRowAtIndexPath");  	217	}  	218	  	219	//将取消选中时执行, 也就是上次先中的行  	220	-(NSIndexPath *)tableVIEw:(UItableVIEw *)tableVIEw willdeselectRowAtIndexPath:(NSIndexPath *)indexPath  	221	{  	222	    NSLog(@"上次选中的行是  \n indexpath=%@",indexPath);  	223	    return indexPath;  	224	}  	225	  	226	  	227	//让行可以移动  	228	-(BOol)tableVIEw:(UItableVIEw *)tableVIEw canMoveRowAtIndexPath:(NSIndexPath *)indexPath  	229	{  	230	    return NO;  	231	}  	232	  	233	//移动row时执行  	234	-(NSIndexPath *)tableVIEw:(UItableVIEw *)tableVIEw targetIndexPathForMoveFromrowAtIndexPath:(NSIndexPath *)sourceIndexPath toproposedindexPath:(NSIndexPath *)proposedDestinationIndexPath  	235	{  	236	    NSLog(@"targetIndexPathForMoveFromrowAtIndexPath");  	237	    //用于限制只在当前section下面才可以移动  	238	    if(sourceIndexPath.section != proposedDestinationIndexPath.section){  	239	        return sourceIndexPath;  	240	    }  	241	    return proposedDestinationIndexPath;  	242	}  	243	//设置索引栏字体颜色 _tableVIEw.sectionIndexcolor = [UIcolor redcolor];

以上是内存溢出(jb51.cc)为你收集整理的全部代码内容,希望文章能够帮你解决所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

总结

以上是内存溢出为你收集整理的iOS UITableView基本属性 函数 用法全部内容,希望文章能够帮你解决iOS UITableView基本属性 函数 用法所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/web/1106133.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-28
下一篇 2022-05-28

发表评论

登录后才能评论

评论列表(0条)

保存