xcode 4.3.2 storyboard绘制UITableView为理解storyboard使用

来源:网络 责任编辑:栏目编辑 发表时间:2013-07-01 10:25 点击:

1.Xcode新建single view application

2.删除storyboard里的默认viewcontroller

3.拖入table view controller,拖入一个table view cell
[选中刚刚拖入的table view cell
 3.1 修改Table View Cell属性中的Identifier为:myCell,此后此标志需要在myTableViewController.m中用于程序控制,来引用本单元格,并设置数据其中
 3.2 目前table view的Content参数还是缺省的Dynamic Prototypes,设置了static cells会出错,待考究,有知道的朋友请留言告知下谢谢,我也是刚玩iOS开发_ _
可以设置table view的Style参数为Grouped
]

4.菜单:editor->embed in->navigation controller

*5 此步骤也可以不做:拖入tab bar controller到storyboard
*5.1 删除tab bar controller下的两个view controller
*5.2 按住cntrol键,从tab bar controller拉线到navigation controller,弹出对话框中选中“Relationship->viewControllers”
*5.3 选中tab bar controller,设置属性:选中is Initial View Controller,让tab bar controller成为初始化的view controller

6 新建File,Cocoa Touch->Objective-C class
设置Class:myTableViewController
设置Subclass of: UITableViewController
//myTableViewController继承UITableViewController

7 编辑myTableViewController.h
将类:myTableViewController定义完整如下:

@interface myTableViewController : UITableViewController
{
    NSMutableArray *lists; //新增,用于定义表格中显示的内容
}

@property(nonatomic,strong) NSMutableArray *lists; //新增


8 修改myTableViewController.m
@implementation myTableViewController

@synthesize lists; //新增加

- (void)viewDidLoad
{
    [super viewDidLoad];
    //下面新增:定义lists数据 
    self.title = @"Lists";
    lists = [[NSMutableArray alloc] initWithCapacity:20];
    [lists addObject:@"test1"];
    [lists addObject:@"test2"];
    [lists addObject:@"test3"];
    [lists addObject:@"test4"];
    [lists addObject:@"test5"];

}

//下面三个函数新建myTableViewControll文件后,已经生成
- (NSInteger)numberOfSectionsInTableView:(UITableView *)tableView
{
    //删除此行 #warning警告行
    // Return the number of sections.
    return 1;
}

- (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section
{
    //删除此行#warning Incomplete method implementation.
    // Return the number of rows in the section.
    return [self.lists count];
}


//下面这个函数,用于实现表格中数据的显示
- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
{
    static NSString *CellIdentifier = @"myCell"; //修改此标志,storyboard中设置此标志,不能写错,否则表格中不会显示lists数据。
    UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:CellIdentifier];
   
    // Configure the cell...
    //增加下面的cell配置,让在标志为“myCell"的单元格中显示list数据
    NSInteger row = [indexPath row];
    cell.textLabel.text = [self.lists objectAtIndex:row];
    return cell;
}

另外一种方法,navigation controller后面挂接普通的view controller容器,容器里拖入table view 和table view cell。

这种方法:新建view controller容器对应的controller.h 和.m文件,.h文件中的类需要继承UITableViewController的datasource 和 delegate, 在.m文件中,需要实现第一中方法中的后面三种方法即可。

numberOfSectionsInTableView()

numberOfRowsInSection()

cellForRowAtIndexPath()

 


摘自 gaoxuefeng的专栏

    相关新闻>>

      发表评论
      请自觉遵守互联网相关的政策法规,严禁发布色情、暴力、反动的言论。
      用户名: 验证码:点击我更换图片
      最新评论 更多>>

      推荐热点

      • Windows Phone 项目实战之我的微盘(下)
      • Windows Phone 实用开发技巧(26):对DataTemplate中的元素播放
      • Windows Phone 实用开发技巧(25):Windows Phone读取本地数据
      • Windows Phone 实用开发技巧(27):创建透明Tile
      • Windows Phone 知识锦(12月版)
      • Windows Phone实用开发技巧(31):密码加密
      • Windows Phone 项目实战之我的微盘(上)
      • WP7实例篇之土豆搜索器(2)
      • [翻译]WP7 QuickStart-第七篇-布局
      网站首页 - 友情链接 - 网站地图 - TAG标签 - RSS订阅 - 内容搜索
      Copyright © 2008-2015 计算机技术学习交流网. 版权所有

      豫ICP备11007008号-1