iPhone UITableView 使用方法(一)
UITableView是iPhone中比较常用的,用的比较多的控件,下面我们使用UITableView创建一个简单的表格,效果如下:
如果要表格中增加数据的话,需要增加UITableViewDataSource协议。
如果需要响应用户单击的话,需要增加UITableViewDelegate协议。
1、创建项目:使用模板Single View Application新建一个项目,仅支持iPhone。
2、在ViewController.h中增加UITableViewDataSource和UITableViewDelegate协议,如下:
[cpp]
#import <UIKit/UIKit.h>
@inte易做图ce ViewController : UIViewController<UITableViewDataSource, UITableViewDelegate> {
NSArray * listData;
}
@property ( nonatomic, retain) NSArray *listData;
@end
#import <UIKit/UIKit.h>
@inte易做图ce ViewController : UIViewController<UITableViewDataSource, UITableViewDelegate> {
NSArray * listData;
}
@property ( nonatomic, retain) NSArray *listData;
@end
3、往列表中增加数据,实现UITableViewDataSource协议,如下:
[cpp] view plaincopyprint?//返回总行数
-(NSInteger ) tableView:(UITableView *)tableView
numberOfRowsInSection:(NSInteger )section
{
return [ self.listData count ];
}
// 添加每一行的信息
- (UITableViewCell *) tableView:(UITableView *)tableView
cellForRowAtIndexPath:(NSIndexPath *)indexPath
{
NSString *tag=@"tag";
UITableViewCell *cell=[tableView dequeueReusableCellWithIdentifier:tag];
if (cell==nil ) {
cell=[[[ UITableViewCell alloc ] initWithFrame : CGRectZero
reuseIdentifier:tag] autorelease];
}
NSUInteger row=[indexPath row];
//设置文本
cell.text =[listData objectAtIndex :row];
//选中后的颜色又不发生改变,进行下面的设置
//cell.selectionStyle = UITableViewCellSelectionStyleNone;
//不需要分割线
//tableView.separatorStyle=UITableViewCellSeparatorStyleNone;
return cell;
}
//返回总行数
-(NSInteger ) tableView:(UITableView *)tableView
numberOfRowsInSection:(NSInteger )section
{
return [ self.listData count ];
}
// 添加每一行的信息
- (UITableViewCell *) tableView:(UITableView *)tableView
cellForRowAtIndexPath:(NSIndexPath *)indexPath
{
NSString *tag=@"tag";
UITableViewCell *cell=[tableView dequeueReusableCellWithIdentifier:tag];
if (cell==nil ) {
cell=[[[ UITableViewCell alloc ] initWithFrame : CGRectZero
reuseIdentifier:tag] autorelease];
}
NSUInteger row=[indexPath row];
//设置文本
cell.text =[listData objectAtIndex :row];
//选中后的颜色又不发生改变,进行下面的设置
//cell.selectionStyle = UITableViewCellSelectionStyleNone;
//不需要分割线
//tableView.separatorStyle=UITableViewCellSeparatorStyleNone;
return cell;
}
4、响应用户单击事件,实现UITableViewDelegate协议,如下:
[cpp]
//响应用户单击事件
- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath{
UIAlertView* showSelection;
NSString* message;
message = [[NSString alloc]initWithFormat:@"You chose the : %@",
[self.listData objectAtIndex:indexPath.row]];
showSelection = [[UIAlertView alloc]
initWithTitle:@"Selected"
message:message
delegate:nil
cancelButtonTitle:@"OK"
otherButtonTitles:nil];
[showSelection autorelease];
[showSelection show];
}
//响应用户单击事件
- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath{
UIAlertView* showSelection;
NSString* message;
message = [[NSString alloc]initWithFormat:@"You chose the : %@",
[self.listData objectAtIndex:indexPath.row]];
showSelection = [[UIAlertView alloc]
initWithTitle:@"Selected"
message:message
&n
补充:移动开发 , IOS ,