【问题标题】:xCode UIView with UITableView [closed]xCode UIView 与 UITableView [关闭]
【发布时间】:2024-01-17 23:40:01
【问题描述】:

我正在尝试制作一个应用程序,该应用程序的日历占可见屏幕的 2/3 左右,然后在其下方是与所选日期相对应的事件。

基本上它看起来像这样:Calendar App

我应该使用 UIView 作为日历,然后使用 UITableView 作为相应信息吗?

另外,我希望当用户滚动浏览 tableView 中的事件(不仅仅是 table view 中的信息)时滚动整个页面。我是否需要将整个页面包装在一个滚动视图中才能完成此操作?

【问题讨论】:

    标签: xcode uitableview swift uiview xcode6


    【解决方案1】:

    您不需要 UIScrollView。当表格视图滚动到某个点时,您可以简单地隐藏日历(带有动画)。

    另一个更简单的解决方案是将您的日历放在第一个表格视图单元格中,这样它就会随着您的事件滚动。所以这个只需要一个填满整个屏幕的 UITableView。

    【讨论】:

    • 您认为我不使用 UITableView 并制作出现在日历 UIView 下的事件并将 CalendarView 和出现在它下方的事件视图包装在 UIScrollView 中如何? @christophr
    • 没关系,但是这样会更复杂,而且会消耗更多内存(即,您当天有 100 个事件)。 UITableView 仅在必要时将其每个单元格加载到内存中。
    • 但是如果使用 UITableView,我是否每次有人点击新的一天(包括整个日历)时都必须重新加载表格?
    • 您可以将日历放在不同的部分(第 1 部分),然后将您的事件放在另一个部分(第 2 部分)。如果有人点击新的一天,您只需重新加载事件的部分。 reloadSections(_:withRowAnimation:)