在我的iOS 4通用应用程序中,我需要在应用程序的开头显示一个类似于表单的页面。根据我收到的xml,我可能需要询问用户他们的姓名,性别,日期的出生。我不知道到底会收到什么。我将创建一些逻辑如何解释服务器发送的“UI提示”。
问题是如何在我的UITableView中反映这一点,我可以创建一个自定义单元格,并从我的普通UITableView中为每个问题发送一些参数,哪种UI控件以及它应该显示哪种布局?
方案:
我_may_
会收到6个问题,其中3个是选择类型的问题,例如是/否(我更喜欢使用表格查看标记,这里没有选择器或分段)其他三个问题是名称,姓氏和性别问题实际上是separete问题,我想将它们视为单独的问题,但是将它们作为一个问题显示给用户并在一个单元格中显示它们3个水平的小字段。
这是一个很好的方法还是可以制作一个完全动态的自定义单元格并通过接收参数来创建自己?另外,我不想最终得到一个凌乱的自定义单元格代码。或者我可以创建3-4种不同类型的自定义单元格,并能够混合并水平显示它们。像一个网格?
有什么建议吗?
答案 0 :(得分:1)
这个问题有多种方法,它完全取决于你对哪一个感到满意。但是,我建议你为每种类型的问题继承UITableViewCell
。
要使用哪个UITableViewCell? :强>
首选方法是为每个问题设置不同的UITableViewCell
子类。
只有一个 ultradynamic 单元格可能会让您遇到使用reuseIdentifier的麻烦,因为它不会被正确重复使用,因为视图上会有不同的控件
这是一个有类似问题需要解决的问题:
2 different types of custom UITableViewCells in UITableView(使用此方法可以避免可能出现的reuseIdentifier
问题
不同的目标问题(iPhone / iPad):
您的另一个重要要求是,您在iPhone和iPad上运行,因此在UITableViewCell
内,您应该确定您正在运行的设备并进行自定义初始化。
Determine device (iPhone, iPod Touch) with iPhone SDK
这样做可以避免为iPad创建另一组UITableViewCell
。你想在代码中至少拥有这么多动态。
管理不同的问题类型:
对于不同的问题类型,我建议你设置一个typedef枚举,它非常灵活,可以在你的应用程序中使用(因为它的类型安全),并且一旦你的需求发生变化就很容易更新。
HTH
答案 1 :(得分:0)
这个问题有多种方法,它完全取决于你对哪一个感到满意。但是,我建议你为每种类型的问题继承UITableViewCell。
使用哪个UITableViewCell? :
首选方法是为每个问题设置不同的UITableViewCell子类。
只有一个超级动态单元可能会让你遇到使用reuseIdentifier的麻烦,因为它不会被正确重复使用,因为视图上会有不同的控件。
这是一个有类似问题需要解决的问题:
UITableView中的两种不同类型的自定义UITableViewCells(使用此方法可以避免可能出现的reuseIdentifier问题
不同的目标问题(iPhone / iPad):
您的另一个重要要求是,您在iPhone和iPad上运行,因此在您的UITableViewCell中,您应该确定您正在运行的设备并进行自定义初始化。
使用iPhone SDK确定设备(iPhone,iPod Touch)
这样做可以避免为iPad创建另一组UITableViewCells。你想在代码中至少拥有这么多动态。
管理不同的问题类型:
对于diff