【问题标题】:Static UITableView or UICollectionView in custom XIB?自定义 XIB 中的静态 UITableView 或 UICollectionView?
【发布时间】:2016-08-30 23:29:01
【问题描述】:

如果您使用 UITableViewControllers,您可以使用 Storyboard 在 UITableViews 中定义静态单元格。但是,使用 UITableViews 甚至 UICollectionViews 似乎都不可能。

目标是定义一个覆盖在现有 UIView 上的滑出菜单。现有的 UIView 不应像大多数实现那样移动。

选项(似乎都不理想):

  • 使用 UITableView,但以编程方式定义所有菜单选项,而不是使用 Storyboard。

  • 使用 UIScrollView 模拟 UITableView 功能。

还有更好的选择吗?如果没有,使用 UIScrollView 有什么问题吗?

【问题讨论】:

    标签: ios uitableview uiview 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。

    这是开始使用情节提要的好方法,无需将整个应用转换为使用它们。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-02-13
      • 1970-01-01
      • 1970-01-01
      • 2023-04-02
      • 2013-07-12
      • 2015-07-07
      相关资源
      最近更新 更多