冲突滚动scrollview和tableview

时间:2016-02-03 22:27:12

标签: ios objective-c swift uitableview uiscrollview

我有一个包含一些元素的滚动视图(uiimage,webview,...) 在scrollview的buttom中添加tableview(评论列表)。问题:虽然tableview是scrollview的一部分,但是scrollview滚动分隔和tableview滚动分开!

enter image description here

我想在scrollview结束时启动tableview scrollview滚动tableview和tableview滚动禁用。 我用它代码:

夫特:

override func intrinsicContentSize() -> CGSize {
    self.layoutIfNeeded()
    return CGSizeMake(UIViewNoIntrinsicMetric, contentSize.height)
}

目标C:

-(CGSize)intrinsicContentSize{
[self layoutIfNeeded];
return CGSizeMake(UIViewNoIntrinsicMetric, contentSize.height)}

但不起作用。

感谢您的帮助

2 个答案:

答案 0 :(得分:1)

这是因为它是在滚动视图中具有表视图的行为。那应该会发生。

解决方案:销毁scrollView,并实现带有标题视图的tableView,希望标题视图将是带有uiimage,webview等的视图...而tableView它将是你的评论。这是实现你想要的最佳方式,也就是说,如果我理解你真正想要的东西。

向表格视图示例添加标题:

self.tableView.tableHeaderView = topView // where top view is the view wish contains your uimage, buttons etc...

答案 1 :(得分:0)

滚动tableview时避免反弹ScrollView。我添加了以下代码行。它对我有用。

  self.scrollView.delegate = self
     scrollView.contentSize = CGSize(width: self.view.frame.width, height: 500)
     scrollView.showsVerticalScrollIndicator = true
     scrollView.tag = 1

   func scrollViewDidEndDecelerating(_ scrollView: UIScrollView) {
        if scrollView.tag != 1 {
            self.scrollView.bounces = false
        }
    }

由于