【问题标题】:Scroll View and Tableview programmatically alignment滚动视图和表格视图以编程方式对齐
【发布时间】:2016-08-19 09:13:51
【问题描述】:

我正在实现一个UIScrollView,它包含一些用户数据。我正在从我的服务器下载其他数据。下载后,我的UIScrollViewcontentSize 应该是原始大小 + 单元格数乘以它们的高度。

所有UIViews 都对齐并以编程方式设置。

UITableView 是最低的,应该始终拉伸到屏幕底部。

在我的 viewDidLayoutSubviews 我设置了以下内容

    groupsCountLbl.frame = CGRectMake(groupsLbl.frame.maxX + 5,
    seperatorLbl.frame.maxY + 15 , 40, 20)
    groupsCountLbl.sizeToFit()

    table.frame = CGRectMake(0, groupsCountLbl.frame.maxY + 10,
    bounds.width, bounds.height - groupsCountLbl.frame.maxY + 10)

    scrollView.contentSize = CGSizeMake(bounds.width, bounds.height
     + self.table.frame.height)
    scrollView.scrollEnabled = true

它看起来像这样,而不是填充整个视图:

【问题讨论】:

  • 你的应用支持自动布局吗?
  • 是的,它支持自动布局。例如单元格与 autoLayout 对齐

标签: ios uitableview uiscrollview cgrectmake


【解决方案1】:

尝试将您的 UIScrollView 边界设置为超级视图

NSLayoutConstraint.constraintsWithVisualFormat(
  "V:|-[scrollview]-|",
  options: [],
  metrics: nil,
  views: ["scrollview": scrollview])

NSLayoutConstraint.constraintsWithVisualFormat(
  "H:|-[scrollview]-|",
  options: [],
  metrics: nil,
  views: ["scrollview": scrollview])

如果您有问题,请在评论中告诉我

【讨论】:

  • 这到底是做什么的?从未使用过 NSLayoutConstraints。另外:我需要在情节提要中打开自动布局吗?我正在使用自动布局来对齐 cell.contentView。
  • 如果您有可能在 xib 中设置滚动视图约束,您可以避免我的代码并设置顶部、底部、尾随和相对于 superview 的 0...基本上我认为您的问题是你的滚动视图的框架应该等于超级视图的边界
  • 现在我将 scrollView 和 contentView 设置为相同的大小(0,0,0,0),尽管我测试了它们的高度是否相等,但我仍然遇到了问题。我在我的 ServerRequest 中调用表视图的大小调整方法。
  • 我现在正在尝试使用此处其他用户推荐的 tableView 和 tableViewHeader 来实现一个全新的概念。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2013-05-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2016-07-17
相关资源
最近更新 更多