大橙子网站建设,新征程启航

为企业提供网站建设、域名注册、服务器等服务

ios开发入门-tableview简单使用(一)-创新互联

本章目标: 了解ios tableView (tableView 和android 中的 listView是一个性质的 ) 的结构,样式,和简单使用

创新互联建站是专业的池州网站建设公司,池州接单;提供网站设计制作、成都做网站,网页设计,网站设计,建网站,PHP网站建设等专业做网站服务;采用PHP框架,可快速的进行池州网站开发网页制作和功能扩展;专业做搜索引擎喜爱的网站,专业的做网站团队,希望更多企业前来合作!

在手机应用程序中我们常常看到 集合列表内容, 它们是怎么实现的呢,这一章我们 来分解分解。

在iphone 中, tableView 主要分为两个样式 ,如下

  •  Plain:这是普通的列表风格
  •  Grouped :这是分块风格。

两种样式 如图 :

ios开发入门- tableview 简单使用(一)ios开发入门- tableview 简单使用(一)

 这一章我们先做一个简单列表

下面我们开始 做一个基本的列表风格 demo

1: 创建一个 Single View Application 模板的ios 应用程序 项目信息部分如下图:

ios开发入门- tableview 简单使用(一)

点击 next 选择保存位置,创建好后

如果你的命名和上图中的命名是一致的话。application会包含一个 TableViewVieiwController.xib 文件, 打开此 xib 文件。 为我们的视图文件添加一个UiTableView组件。 如下图

ios开发入门- tableview 简单使用(一)

添加UitableView 我们还需要给 Uitableview添加委托喝数据源呢, 按住Ctrl键 点击 上图中的 Objects-》View -》TableView 会弹出一个小框框,我们需要把 TableView组件下面的Outlets 下的 dataSource(数据源)和 delegate(委托) 于我们的控制器建立连接 , 按住ctrl 把dataSource(数据源)和 delegate(委托) 后面的 小圆圈,拖到File‘s Owner 上面去 ,建立完成后 如下图

ios开发入门- tableview 简单使用(一)

 接下来 我们来编写我们的 控制器

打开 TableViewViewController.h 为我们的UiTableView组件添加协议,表示这表视图的委托喝数据源 。和一个NsArray数据集合用于存放表视图要显示的数据。

代码如下 :

#import

@interface TableViewViewController : UIViewController

@property(nonatomic,retain) NSArray *listData;
@end

其中蓝色部分是我们添加的代码。

保存文件,把代码切换到TableViewViewController.m 类中。

1: 在开头部分的@implementation TableViewViewController 下面添加

@synthesize listData;   此方法会为我们自动生成 get set 方法 。

2: 在 - (void)viewDidLoad 方法中,初始化listData集合,代码如下:

- (void)viewDidUnload
{
   [super viewDidUnload];
   NSArray *array=[[NSArray alloc]initWithObjects:@"广州",@"深圳",@"梅州",@"东莞",@"潮汕",@"肇庆",@"四会",@"佛山",@"湛江",@"江门",@"阳江",@"珠海", nil];
   self.listData=array;
   [array release];
}

上面代码中 我们需要自己销毁 array 因为我们没有使用 自动内存管理计数器。

3:因为我们没有使用自动内存管理计数器,所以我们还需要 销毁 listData 集合。所以还需要 下面代码

- (void)dealloc
{
   self.listData=nil;
   [super dealloc];
}
- (void)viewDidLoad
{
   [self.listData release];
   [super viewDidLoad];

}

其中 dealloc 方法 需要我们自己写出来,xcode 并没有为我们生成出来。

4: 视图控制器最核心的方法 ,就是这里面, 就是为表视图实现委托和数据源了。 先看代码 。

#pragma mark-
#pragma mark Table View Data Source Methods
//返回总行数
-(NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section
{
   NSLog(@"count is %d",[self.listData count]);
   return [self.listData count];
}

//为每一行赋值
static NSString *SimpleTableIdentifier=@"SimpleTableIdentifier";
-(UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
{
   UITableViewCell *cell=[tableView dequeueReusableCellWithIdentifier:SimpleTableIdentifier];
   if(cell==nil){//如果行元素为空的话 则新建一行
       cell=[[UITableViewCell alloc]initWithStyle:UITableViewCellStyleDefault reuseIdentifier:SimpleTableIdentifier];
   }
   //取得当前行
   NSUInteger row=[indexPath row];
   cell.textLabel.text=[listData objectAtIndex:row]; //设置每一行要显示的值
   return cell;
}

上面代码中我们定义了一个静态的字符串常量,用此字符串来表示表单元的键,把上面的代码添加到TableViewViewController.m 文件的 尾部 ,是 @end 上面喔 。

至此 我们完成了一个简单的视图列表 ,赶快保存,运行 看看效果吧。

效果图:

ios开发入门- tableview 简单使用(一)

我们再来 给 表视图 添加点元素,让视图更多元话,首先先给 表视图添加一个 图片。 在ios下面 给 表视图的行左侧 添加一个图片非常简单,因为ios 已经为我们想好了 。看代码 (蓝色部分):

//为每一行赋值
static NSString *SimpleTableIdentifier=@"SimpleTableIdentifier";
-(UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
{
   UITableViewCell *cell=[tableView dequeueReusableCellWithIdentifier:SimpleTableIdentifier];
   if(cell==nil){//如果行元素为空的话 则新建一行
       cell=[[UITableViewCell alloc]initWithStyle:UITableViewCellStyleDefault reuseIdentifier:SimpleTableIdentifier];
   }
   //取得当前行
   NSUInteger row=[indexPath row];
   cell.p_w_picpathView.p_w_picpath=[UIImage p_w_picpathNamed:@"city.png"];
   cell.textLabel.text=[listData objectAtIndex:row]; //设置每一行要显示的值
   return cell;
}

 一行代码 就搞定了。方便吧, 在ios的 表视图 中 ,每个单元都有一个ImageView 属性,每个p_w_picpathView又包含了Image属性和一个HighlightedImage属性, HighlightedImage的属性是 选中时候 显示的p_w_picpath 感兴趣的同学赶快去试试吧。

UiImage使用的是文件名的缓存机制,所以它不会每次调用都重新加载,而是使用已经加载的版本。

这一章 先到这里了,下一章我们来看看 表格视图的单元样式。 欢迎大家拍砖

本章代码下载地址 :

https://blog.51cto.com/ext/down_att.php?aid=36008&code=4727

另外有需要云服务器可以了解下创新互联scvps.cn,海内外云服务器15元起步,三天无理由+7*72小时售后在线,公司持有idc许可证,提供“云服务器、裸金属服务器、高防服务器、香港服务器、美国服务器、虚拟主机、免备案服务器”等云主机租用服务以及企业上云的综合解决方案,具有“安全稳定、简单易用、服务可用性高、性价比高”等特点与优势,专为企业上云打造定制,能够满足用户丰富、多元化的应用场景需求。


网站栏目:ios开发入门-tableview简单使用(一)-创新互联
网站URL:http://dzwzjz.com/article/ccohod.html
在线咨询
服务热线
服务热线:028-86922220
TOP