iOS:实现表格填充和选择操作

功能:创建一个列表,用数组填充表格,并支持选择列表行

//
//  main.m
//  Hello
//
//  Created by lishujun on 14-8-28.
//  Copyright (c) 2014年 lishujun. All rights reserved.
//

#import <UIKit/UIKit.h>

// 视图控制器对象
@interface HelloWorldViewController : UIViewController<UITableViewDataSource, UITableViewDelegate>
{
    NSArray *array;
    UITableView *tableView;
    //不用@property声明,就不能用self进行引用? 有什么差异,我得弄清楚
}
@end

@implementation HelloWorldViewController

-(HelloWorldViewController *) init
{
    array = [[NSArray alloc]initWithObjects:@"oops", @"hello", @"world", nil];
    return self;
}

-(void) loadView
{
    // 创建视图对象
    UIView *contentView = [[UIView alloc]initWithFrame:[[UIScreen mainScreen] applicationFrame]];
    contentView.backgroundColor = [UIColor lightGrayColor];
    self.view = contentView;

    // 创建tableView
    tableView = [[UITableView alloc]initWithFrame:[[UIScreen mainScreen] applicationFrame]];
    [tableView setDataSource:self];
    [tableView setDelegate:self];

    // tableView加入到内容视图
    [contentView addSubview:tableView];
}

// --------DataSource接口必须实现的方法,用于填充表格-----------
-(NSInteger) numberOfSectionsInTableView:(UITableView *)tableView
{
    return 1; //设定列表分区个数
}

-(NSInteger) tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section
{
    return [array count]; //设定列表长度
}

-(UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
{
    // 生成列表单元(尽可能复用已有单元)
    static NSString *simpleTableIdentifer = @"SimpleTableIdentifer";

    UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:simpleTableIdentifer];
    if (cell == nil) {
        cell = [[UITableViewCell alloc]initWithStyle:UITableViewCellStyleDefault reuseIdentifier:simpleTableIdentifer];
    }
    cell.textLabel.text = array[indexPath.row];
    return cell;
}

// ----------实现Delegate接口的方法,用于操作---------------

-(NSIndexPath *)tableView:(UITableView *)tableView willSelectRowAtIndexPath:(NSIndexPath *)indexPath
{
    // 行选中之前的事件,下面代码实现是实现取消第一行的选择,即不允许选择
    if(indexPath.row == 0)
    {
        return nil;
    }
    else
    {
        return indexPath;
    }
}

-(void) tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath
{
    //行选中事件
    NSString *rowValue = array[indexPath.row];
    [tableView deselectRowAtIndexPath:indexPath animated:YES]; //取消选中状态
    NSLog(@"%@", rowValue);

}
@end

// 委托对象
@interface HelloWorldAppDelegate : NSObject <UIApplicationDelegate>
{
    IBOutlet UIWindow *window;
}

@property (nonatomic, retain) UIWindow *window;
@end

@implementation HelloWorldAppDelegate
@synthesize window;

-(void) applicationDidFinishLaunching:(UIApplication *)application
{
    self.window = [[UIWindow alloc] initWithFrame:[[UIScreen mainScreen]bounds]];
    HelloWorldViewController *viewController = [[HelloWorldViewController alloc]init];
    self.window.rootViewController = viewController;
    [self.window makeKeyAndVisible];
}

@end

// 程序入口
int main(int argc, char * argv[])
{
    @autoreleasepool {
        return UIApplicationMain(argc, argv, nil, @"HelloWorldAppDelegate");
    }
}
时间: 2024-11-06 21:58:08

iOS:实现表格填充和选择操作的相关文章

IOS 取消表格单元格 TableViewCell 去掉高亮状态 点击Cell取消选择状态

以下是两种实现效果 1. 自定义cell 继承UITableViewCell 重写 -(void)setSelected:(BOOL)selected animated:(BOOL)animated { } -(void)setHighlighted:(BOOL)highlighted animated:(BOOL)animated { } 里面不写任何东西 注意重写的时候一定要有带animated 方法,不然还是无效 2.点击单元格 取消选中单元格 //  点击单元格的时候取消选中单元格 -(

javascript 对表格元素的快捷操作

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content=

jquery实现的表格添加或者删除行操作

jquery实现的表格添加或者删除行操作:对于表格的使用应该是非常的熟悉了,下面是一段非常强大的代码,能够实现表格行的添加删除甚至可以对单元格进行编辑,下面就分享一下次代码,希望能够对大家有所帮助,代码如下: <!DOCTYPE html> <html> <head> <meta charset=" utf-8"> <meta name="author" content="http://www.soft

表格的增删改操作

<!DOCTYPE html> <html> <head lang="en"> <meta charset="UTF-8"> <title>表格的增删改操作</title> <script type="text/javascript"> function createTable() { var body = document.getElementById(&quo

使用文档对象在页面上创建学生信息表。 信息表包括学号、姓名、性别、电子邮件、联系电话、个人主页和联系地址, 信息表内容通过表单输入,提交前先使用正则表达式进行验证,联系地址不能超过20个字符, 每输入一名学生的信息,提交后,表格增加一行,表格不能被选择、复制。

<!DOCTYPE html><html>    <head>        <meta charset="UTF-8">        <title></title>    </head>    <!--        描述:使用文档对象在页面上创建学生信息表.        信息表包括学号.姓名.性别.电子邮件.联系电话.个人主页和联系地址,        信息表内容通过表单输入,提交前先使用

easyui学习笔记2—在行内进行表格的增删改操作【转载】

第一篇笔记中记录了如何实现表格的增删改,那个是点击之后跳出来一个对话框然后进行的,这里是在表格本身上进行的操作,也很简单,但是这里发现一个版本问题,也可以说是兼容性问题. 1.首先我们看引用的js和css代码 <link rel="stylesheet" href="jquery-easyui-1.3.5/themes/default/easyui.css" /> <link rel="stylesheet" href=&quo

iOS中表格(UITableView)嵌套表格的简单实现

iOS中表格(UITableView)嵌套表格的简单实现 首先说一下思路:我们在一个控制器里面定义2个tableview,一个作为被嵌套的rootTable,一个作为嵌套的表格tableView1,那我们要实现UITableViewDelegate,UITableViewDataSource,的代理的时候,该怎么区分呢?其实很简单,有两种方法,一个是给定义的2个tableview设置tag值,另一个是直接写出来tableView == rootTable时实现他得代理,否则就实现tableVie

使用JXL对Excel表格进行简单的操作

前段时间由于项目的需求,要求使用JXL,做完之后做下记录,方便以后查看! 首先我们要先下载JXL的JAR包:http://download.csdn.net/detail/u013352832/7777047 将JXL.JAR 包导入到项目中即可直接只用! 直接上代码 使用JXL来操作Excel表格,我们应该首先判断一下Excel表格是否存在 1 File file = new File(user.getZkfp()); 2 // 判断zkfp.xls文件是否存在,不存在则创建zkfp.xls文

根据选择的Checkbox动态在表格中列出选择的值

根据选择的Checkbox动态在表格中列出选择的值 <style> p,div,body,td,input,checkbox,button{font-size:9pt;} </style> <script language="vbScript"> function vbtrim(str) vbtrim=trim(str) end function function vbisnumeric(iVar) vbisnumeric=not isnumeric