0

我正在开发一个应用程序,该应用程序具有需要配置商店营业时间的视图。

因此有一个包含一周中所有日期的列表:
- 星期一从 [10:00] 到 [12:00] (-) (+)
- 星期二从 [10:00] 到 [12:00] (-) ( +)
                 从 [14:00] 到 [18:00] (-) (+)
- 星期三 (+)
- 星期四 (+)
- 星期五从 [10:00] 到 [18:00] (-) (+) - 周六 (+)
- 周日 (+)

所以每天可以有多个开放时间。按 (-) 按钮删除该行,按 (+) 按钮添加一行。

我想像邮件中的规则配置一样实现这一点。(还不能提供截图,因为这是我的第一个问题)

我假设这可以像 tableview 一样实现,每天都有一个 UITableView,每一行都是打开时间的间隔。但我不确定。如果是这样,我如何动态调整表格视图的大小以仅显示必要的行?然后我如何重新排列布局,以免重叠?

更好的是一种更简单的方法,或者一个处理类似事情的框架。

非常感谢您的帮助!

4

2 回答 2

0

在我看来,使用 UITableView 肯定是一个好方法。为了管理不同大小的行,一个好的技术是为 UITableViewCell 类创建一个静态方法,该方法在给定单元格应该显示的内容的情况下返回 CGFloat 高度。例如,如果单元格需要显示一些文本,您将创建一个类似于此的方法:

+ (CGFloat)heightForCellWithText:(NSString *)text

请记住,此信息需要通过 UITableViewDelegate 的tableView:heightForRowAtIndexPath方法传递。这种技术的美妙之处在于,您实际上不需要创建 UITableViewCell 实例来确定它的高度——无论实例是否已经分配,​​它都会在需要时计算并传递给 TableView。

希望这能给你一个正确的方向

于 2013-01-11T16:52:22.527 回答
0

有一些苹果委托方法为您提供了使用一些委托方法编辑表格视图的功能。

您也可以删除您的行并在表中添加新行。但请记住,在添加或删除一行时,您必须每次都更新您的数据源。

在这里很难解释所有这些方法。但是有一些示例项目已经实现了您想要的所有这些功能。

在此处检查用于编辑表格查看样式的示例项目示例代码

另一个示例代码是示例项目 2

我希望这会帮助你并解决你的问题。

于 2013-01-11T16:54:35.067 回答