读书频道 > 网站 > 网页设计 > iPhone开发基础教程
8.5.2 向表视图单元添加子视图(2)
12-07-11    叶孤城
收藏    我要投稿   

本文所属图书 > iPhone开发基础教程

本书由业界名家撰写,英文原版问世以后迅速登上Amazon计算机图书排行榜榜首并持续至今,总排名一度达到20名左右,创造了销售奇迹。而且,本书获得了读者的一致好评,已经被奉为经典。书中从到Apple网站注册账号,...立即去当当网订购

在这里,viewDidLoad方法创建了一系列字典。每个字典都包含表中一行的名称和颜色信息。某一行中的名称在字典的Name键下,颜色在Color键下。我们把所有的字典放到了同一个数组里,这就是此表的数据。

让我们着重看一下tableView:cellForRowWithIndexPath:,此方法中真正添加了新内容。代码的前两行像前面介绍过的一样,先创建一个标识符,然后,如果表提供了出列的表视图单元,则要求表将该单元退出队列。

如果表没有任何可以重用的单元,就必须创建一个新的单元。创建新单元时,还需要创建和添加将要用到的子视图,以实现每单元两行的表。让我们更仔细地研究一下代码。首先,创建一个单元,其实这跟前面一样,除非不使用表视图进行计算,而是手动指定单元的大小。




接下来需要创建4个UILabel,并把它们添加到表视图单元。表视图单元已经有了一个名为contentView的UIView子视图,用于对它的所有子视图进行分组,就像第4章中我们对UIView中的两个开关进行分组一样。因此,我们不用把标签作为子视图直接添加到表视图单元,而是添加到contentView。



其中两个标签包含静态文本。NameLabel标签包含Name:文本,colorLabel标签包含Color:文本。这些是不需要更改的静态标签。另两个标签用于显示指定行的数据。记住,稍后我们需要检索这些字段,所以要为这两个字段分配值。例如,把常量kNameValueTag分配给nameValue的tag字段:

稍后,我们将使用该标记从单元中检索正确的标签。

创建新单元之后,使用传入的indexPath参数确定表正在请求单元的哪一行,然后使用该行的值为请求的行获取正确的字典。记住,该字典有两个键/值对,一个是名称,一个是颜色。

还记得我们前面设置的标记吗?在这里,我们使用那些标记检索需要设置值的标签。




检索到标签以后,只需将标签文本设置为从表示此行的字典里获取的一个值。


编译并运行应用程序,你会得到带有两行数据的行,如图8-13所示。向表视图添加视图比单独使用标准的表视图单元具有更大的灵活性,不过,通过编程创建、定位和添加所有的子视图是一项单调乏味的工作。如果我们能在Interface Builder中设计表视图单元就好了,不是吗?
点击复制链接 与好友分享!回本站首页
分享到: 更多
您对本文章有什么意见或着疑问吗?请到论坛讨论您的关注和建议是我们前行的参考和动力  
上一篇:1.3 功能
下一篇:1.5 小结
相关文章
图文推荐
JavaScript网页动画设
1.9 响应式
1.8 登陆页式
1.7 主题式
排行
热门
文章
下载
读书

关于我们 | 联系我们 | 广告服务 | 投资合作 | 版权申明 | 在线帮助 | 网站地图 | 作品发布 | Vip技术培训
版权所有: 红黑联盟--致力于做最好的IT技术学习网站