【问题标题】:Tableview inner ScrollviewTableview 内部 Scrollview
【发布时间】:2014-07-25 18:01:10
【问题描述】:

我开始为 iOS 开发。我这几天有困难,如下:

我的UIViewController 有一个UIScrollView,在那个UIScrollView 中我还有其他控件,顺序如下:

  • ImageView
  • ImageView
  • TableView
  • Label
  • TextView

我的UITableView 的行可能会有所不同。 我需要我的UITableView 的大小显示所有包含在 entatanto 的行,我想滚动 UITableView 被抓住,并且只有滚动 UIScrollView 才有效。

已停用 UIScrollView 我的 UITableView 但表格视图未显示所有行。

【问题讨论】:

  • 你可以分享项目的一部分或部分代码吗?
  • 您能否发布一些代码,无论您到目前为止尝试了什么,您能否重新表述您的问题,以便清楚地解释您的预期输出?
  • 对不起朋友,我是新论坛,我不能发图片。但我愿意尝试让我的问题更清楚。
  • 我总结了我想要的是 tableview 显示他们所有的行。我禁用了“启用滚动”,因为我想要滚动视图滚动。

标签: ios uitableview uiscrollview


【解决方案1】:
    var frame = tableView.frame
    var oldHeight = frame.height
    frame.size.height = cells*cellHeight //cells should be assigned to the number
                                         //of cells you have, and cell height to
                                         //the height of each, usually 44 pts
    tableView.frame = frame
    var scrollFrame = scrollView.contentSize
    scrollFrame.height = scrollFrame.height - oldHeight + tableView.frame.height
    scrollView.contentSize = scrollFrame

有时,如果启用自动布局,.contentSize 将不起作用,这取决于您使用它的方式/位置。

否则,tableView 应该分配给您的表格,scrollView 分配给您的scrollView,以及如上所述的单元格/单元格高度。

【讨论】:

  • 朋友你好。谢谢你的帮助。请让我知道我应该把你的代码放在哪里。在 viewDidLoad 方法中?
  • 你应该在你加载你的tableView的内容之后放置它。如果那是在 viewDidLoad 方法中,那应该可以工作。
  • 朋友 Trumpeter201 在下面回答更多细节谢谢!
  • 亲爱的朋友,我不明白。你能告诉我更多关于实施的细节吗?
  • 把它放在你的 viewDidLoad 方法中。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多