自定义 XIB 中的静态 UITableView 或 UICollectionView?
Posted
技术标签:
【中文标题】自定义 XIB 中的静态 UITableView 或 UICollectionView?【英文标题】:Static UITableView or UICollectionView in custom XIB? 【发布时间】:2016-08-30 23:29:01 【问题描述】:如果您使用 UITableViewControllers,您可以使用 Storyboard 在 UITableViews 中定义静态单元格。但是,使用 UITableViews 甚至 UICollectionViews 似乎都不可能。
目标是定义一个覆盖在现有 UIView 上的滑出菜单。现有的 UIView 不应像大多数实现那样移动。
选项(似乎都不理想):
使用 UITableView,但以编程方式定义所有菜单选项,而不是使用 Storyboard。
使用 UIScrollView 模拟 UITableView 功能。
还有更好的选择吗?如果没有,使用 UIScrollView 有什么问题吗?
【问题讨论】:
【参考方案1】:在表格视图控制器中,只需选择表格视图,然后从设置窗格中选择静态单元格,如下图所示:
然后在表格视图的子树中选择 section-1 并选择所需的行数:
然后选择你想要自定义的行单元格,你就可以拥有你的静态 uitableView
希望对你有帮助
【讨论】:
在xib文件的容器视图中添加一个合适的视图,按照同样的步骤,就可以了 如问题中所述,使用 uitableview 时没有静态单元格选项。您必须使用 uitableviewcontroller 才能看到该选项。【参考方案2】:静态表格视图单元仅在使用情节提要时可用。但是,如果您没有在整个 UI 中使用故事板,您仍然可以将它们用于单个屏幕而不是屏幕集合。
为此,您可以创建一个带有单个视图控制器的 UIStoryboard 文件,该文件的文件所有者设置为您的自定义视图控制器子类。将 VC 的标识符设置为某个值。当您想要显示它时,获取故事板,然后通过从您的故事板创建 VC 来实例化您的视图控制器子类。
UIStoryboard *tableViewStoryboard = [UIStoryboard storyboardWithName:@"your storyboard" bundle:nil];
CustomViewController = [tableViewStoryboard instantiateViewControllerWithIdentifier:@"custom identifier"];
您可以像往常一样在您的应用中展示此 VC。
这是开始使用情节提要的好方法,无需将整个应用转换为使用它们。
【讨论】:
以上是关于自定义 XIB 中的静态 UITableView 或 UICollectionView?的主要内容,如果未能解决你的问题,请参考以下文章
UITableView 和自定义 UITableViewCell 使用 .xib
如何在 .xib 文件中使用自定义 UITableView 和 UITableViewCell?
用于 UITableView 的自定义 XIB 单元格在滚动时卡住/卡住