【问题标题】:How to give size to table view to XIB如何将表格视图的大小赋予 XIB
【发布时间】:2023-03-13 17:02:01
【问题描述】:

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

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

【问题讨论】:

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

标签: ios swift iphone swift4 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也可以正常工作
猜你喜欢
  • 2021-06-04
  • 1970-01-01
  • 1970-01-01
  • 2011-09-04
  • 2016-01-08
  • 1970-01-01
  • 1970-01-01
  • 2018-11-18
  • 1970-01-01
相关资源
最近更新 更多