在一个 UIViewController 中托管不同的 UITableViewController,例如具有多个视图的日历应用程序

Posted

技术标签:

【中文标题】在一个 UIViewController 中托管不同的 UITableViewController,例如具有多个视图的日历应用程序【英文标题】:Host different UITableViewControllers in one UIViewController like a Calendar App with multiple views 【发布时间】:2018-06-25 01:00:23 【问题描述】:

我有一个应用程序,它有两个单独的时间表视图,一个是事件的列表视图,另一个是 UICollectionView,它在月视图中显示为日历。我想创建一个在 TitleView 中具有 UISegmentControl 的新视图,允许用户在 List 和 Month 视图之间切换。与其使用菜单导航到两个不同的视图,不如将它们选择并托管在一个视图中。如何在 ios 10 或更高版本中构建它?

【问题讨论】:

【参考方案1】:

取UIViewControlle,添加UISegmentControl和UICollectionView。 在 UICollectionView 中创建两个自定义的 UIcollectionviewcell,一个用于 Listview,一个用于 Month 视图,如下图所示。

现在,根据分段控件的选择,使用 getcell 函数中所需的单元格更改集合视图中的数据。使用 collectionview.reaload() 函数在段选择更改事件上重新加载数据。

【讨论】:

感谢您的回复,但您可能误读了我对集合视图的使用。让我澄清一下......假设有两个 UITableViewControllers 是应用程序的两个独立区域。我想创建一个允许用户在这两个 UITableViewControllers 之间切换的视图。

以上是关于在一个 UIViewController 中托管不同的 UITableViewController,例如具有多个视图的日历应用程序的主要内容,如果未能解决你的问题,请参考以下文章

如何使用托管上下文自定义初始化 Interface Builder 的 UIViewController

将 NSManagedObject 传递给 UIViewController

滑动删除不适用于从左到右滑动

无缘无故从获取的结果中删除托管对象

UIViewcontroller 在 uinavigationcontroller 堆栈中不可见

如何在不使用 Segue 的情况下在单独的 UIViewController 中选择实例变量