如何将表格视图的大小赋予 XIB

Posted

技术标签:

【中文标题】如何将表格视图的大小赋予 XIB【英文标题】:How to give size to table view to XIB 【发布时间】:2021-02-25 12:02:29 【问题描述】:

我是 ios 新手,正在练习 XIB 我已经为一个单元创建了一个 XIB

现在,当我从这里调整它的大小时,我会自动更改它在 tableview 中的行为,我想给这个 XIB 提供 100% 的 tableview。我实际上想将此XIB的宽度设置为tableview

【问题讨论】:

宽度由表格视图自动设置。你不需要做任何事情。 分享你的代码,无法分辨你做错了什么! 使用自动布局和大小类应该足以解决这个问题 yes with is auto.... 但如果拖动此 XIB 大小,则与此 XIB 关联的表格单元格的大小会自动更改其行为 我什么都没做......我只是用它......没有对设计做任何改变 【参考方案1】:

您需要在 UITableViewDelegate 的 heightForRowAt(_:) 方法中设置大小。

为了在界面生成器中构建 UI,您可以将角拖到所需的大小。

【讨论】:

我要设置宽度 当它被拖动时,宽度确实保持不变【参考方案2】:

如果您的约束设置正确,则用于在 XIB 中布局单元格的大小不会影响表格视图中的最终使用。

例如,使用这种布局:

我可以像这样拉伸框架:

或者这个:

或者这个:

或者这个:

当我运行应用程序时,它会总是如下所示:

【讨论】:

是的,这是一个有约束的问题....我很穷 @NoorAhmedNatali - 好的,然后按照我展示的限制条件进行操作,这应该可以解决您的问题。【参考方案3】:

试试

func tableView(_ tableView: UITableView, heightForRowAt indexPath: IndexPath) -> CGFloat 
        return tableView.frame.height

【讨论】:

我想改变宽度 tableview 中的单元格应该和tableview 一样宽。但我认为您可以以某种方式更改单元格的填充,甚至更好的解决方案是从 tableView 更改为 collectionView,因为 collectionView 单元格很容易调整大小。 谢谢兄弟...我得到了答案...实际上我在我的 XIB 中创建了一个 CAlayer...所以这是第一次它与 XIB 框架交谈...! @NoorAhmedNatali,我也在做同样的事情,你是如何使用 CALayer 修复它的? 没有CALayer也可以正常工作

以上是关于如何将表格视图的大小赋予 XIB的主要内容,如果未能解决你的问题,请参考以下文章

如何将单独的 xib 单元格注册到多个表格视图?

将 Xib 的大小调整为 swift 4 的屏幕大小

来自自定义 Xib 的表格视图中的动态单元格大小 [重复]

如何在表格视图单元格中添加 xib 文件?

将 XIB 文件自动调整为屏幕大小

如何在同一个xib中放置自定义单元格和表格视图?