【移动应用开发技术】iOS 导航控制器和表视图_第1页
【移动应用开发技术】iOS 导航控制器和表视图_第2页
【移动应用开发技术】iOS 导航控制器和表视图_第3页
【移动应用开发技术】iOS 导航控制器和表视图_第4页
【移动应用开发技术】iOS 导航控制器和表视图_第5页
已阅读5页,还剩5页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

【移动应用开发技术】iOS导航控制器和表视图

导航控制器和表视图密不可分,在实际的应用程序中实现导航控制器,几乎总要实现至少一个表,因为导航控制器的强大之处在于它能够处理复杂的分层数据,在iphone上,连续的表视图是表示分层数据最理想的分层方式。导航控制器使用内置动画在视图之间顺利移动,无需编写历史纪录控制,导航控制器会自动处理Back按钮时间,让用户“岀栈”。UINavigationController是构建分层应用的主要工具,与UITabBarController很类似,但是前者是以栈来实现功能,关于栈,我们并不陌生,遵守先进后出的原则,向栈中添加一个对象为入栈,从栈中删除一个对象叫出栈。UINavigationController是构建分层应用程序的主要工具。本次的应用程序将由一个导航控制器和六个子控制器组成。如何把表视图中的数据写入子表中;.如何把表视图中的数据写入可以读取甚至可以编辑详细数据的内容视图中;.如何通过表清单来从多个值中进行选择;.如何通过编辑模式从表视图中删除行。下面是触摸顶级试图第一行DisclosureButttons时出现的界面(第一个视图右侧的扩展图标被称为是扩展指示器,用于告知用户触摸这一行将切换到另一个表视图),其他几个试图都是如此。

在编辑过程中需注意以下几点:1)列表只显示来自数组的多个行,因此需要声明一个数组实现表视图时需要遵从两个协议UITableViewDelagate和UITableViewDataSource,类需要这两个协议来充当表视图的委托和数据源,然后声明一个数组用于放置将要显示的数据。@interfaceDisclosure_Buttons:

UIViewController<UITableViewDelegate,UITableViewDataSource>{NSArray*listData;}2)方法返回数组计数个数:-(NSInteger)tableView:(UITableView*)tableViewnumberOfRowsInSection:(NSInteger)section{return[listDatacount];}3)方法获取一个可重用单元,如果单元不存在则创建一个新的单元。然后从对应查询的数组中获取对象,将单元的文本设置成控制器标题并返回单元-(UITableViewCell*)tableView:(UITableView*)tableViewcellForRowAtIndexPath:(NSIndexPath*)indexPath{staticNSString*DisclosureCellIdentifier=@"DisclosureCellIdentifier";UITableViewCell*cell=[tableViewdequeueReusableCellWithIdentifier:DisclosureCellIdentifier];if(cell==nil)

{//创建一个新的单元

cell=[[UITableViewCellalloc]initWithStyle:UITableViewCellStyleDefaultreuseIdentifier:DisclosureCellIdentifier];}//对应查询数组中获取的对象,将单元文本设置成控制器标题并返回单元NSUIntegerrow=[indexPathrow];NSString*rowData=[listDataobjectAtIndex:row];

cell.textLabel.text=rowData;cell.accessoryType=UITableViewCellAccessoryDetailDisclosureButton;returncell;}4)tableView:didSelectRowAtIndexPath:方法是用户单击某行后调用的方法,如果在调用时需要触发信息展开,则调用此方法5)tableView:editingStyleForRowAtIndexPath方法是表视图可以查询指定行是否可以进行删除,是否可以将新行插入到指定位置。通过返回UITableViewEditingStyleNone表示不支持插入和删除行。6)从属性表中加载数据-(void)viewDidLoad{NSString*path=[[NSBundlemainBundle]pathForResoure:@"computers"ofType:@"plist"];NSMutableArray*array=[[NSMutableArrayalloc]initWithContentsOfFile:path];self.list=array;

[arrayrelease];

[superviewDidLoad];}7)UITableViewCellEditingStyleNone:不允许被编辑UITableViewCellEditingStyleDelete:允许删除UITableViewCellEditingStyleInsert:允

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论