iPhone开发学习笔记002——Xib设计UITableViewCell然后动态加载

来源:网络 责任编辑:栏目编辑 发表时间:2013-07-01 05:53 点击:
(注:环境Mac OS X Lion 10.7.3 + Xcode 4.2.1 + iOS SDK 5.0.)
一、新建iOS Application工程,选择Single View Application,不要选中Use Storyboard.假设指定的是product name和class prefix都是one,则完成后自动生成代码视图如下图:

\


该应用默认加载的是oneViewController的view.双击oneViewController.xib,在该xib默认的view上面添加控件UILabel、UIButton和一个UITableView,如下图所示:
\


在oneViewController头文件和*.m文件中定义和声明三个属性label、button、tableViewCell前两个对应xib界面上的label和button,最后一个对应于即将创建的xib文件中的tableViewCell,并且将label和button属性和界面上的控件通过拖拽相互关联,如下图:
oneViewController.h:

\

 oneViewController.m:


\

二、新建根view为UITableViewCell的xib文件Cell.xib:
无法直接生成根view为UITableViewCell的xib文件,可以通过先新建根view为UIView的xib文件,然后将该xib的根view删除,再从Library窗口中拖一个Table View Cell到该xib中做为该xib的根view.如下图:

\

刚生成的时候:

\

将上面的view删除,拖一个table view cell代替,并且在该table view cell上面添加一个label和一个button,如下图:

\

 设置Table View Cell下面的Cell Label和Cell Button的view Tag分别为1和2:

\

 然后选中上面的File's owner,在identify inspector视图Custom Class中选择对应的加载类为oneViewController:

\

 并且从connections inspector下面的Outlets内的UITableViewCell对象tableViewCell与中间视图窗口中的Objects下面的Table View Cell相拖拽连接:(图XXX)

\

 在Attributes inspector中设置Table View Cell的identifier为:CellIdentifier:

\

保存。

三、代码中动态加载Table View Cell XIB:
打开oneViewController.h让oneViewController实现协议UITableViewDataSource,UITableViewDelegate,即:\

 

oneViewController.m中实现下面的接口方法:


- (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section{
    return20;
}

// Row display. Implementers should *always* try to reuse cells by setting each cell's reuseIdentifier and querying for available reusable cells with
dequeueReusableCellWithIdentifier:
// Cell gets various attributes set automatically based on table (separators) and data source (accessory views, editing controls)
- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath{
    staticNSString *CustomCellIdentifier =@"CellIdentifier";
    UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier: CustomCellIdentifier];
    if (cell ==nil) {
     &n

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

    推荐热点

    • Lexical or Preprocessor Issue 'xxx.h
    • ios学习笔记(二)xcode 4.3.2下实现基本交互
    • ios版本的helloworld
    • iphone(object-c) 内存管理(3) 有效的内存管理 前半部分
    • ios学习笔记(一)xcode 4.3.2下创建第一个ios项目
    • UITableView一些方法
    • IOS类似iphone通讯录TableView的完整demo【附源码】
    • [iPhone中级]iPhone团购信息客户端的开发 (二)
    • iphone(object-c)内存管理(1)
    网站首页 - 友情链接 - 网站地图 - TAG标签 - RSS订阅 - 内容搜索
    Copyright © 2008-2015 计算机技术学习交流网. 版权所有

    豫ICP备11007008号-1