【问题标题】:conflict scrolling scrollview and tableview冲突滚动scrollview和tableview
【发布时间】:2016-05-13 08:31:07
【问题描述】:

我有一个包含一些元素(uiimage、webview、...)的滚动视图 在滚动视图的底部添加表格视图(cmets 列表)。问题:虽然tableview是scrollview的一部分,但是scrollview scroll是分开的,tableview scrolling是分开的!

我想在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)}

但不工作。

感谢帮助

【问题讨论】:

    标签: ios objective-c swift uitableview uiscrollview


    【解决方案1】:

    发生这种情况是因为它是在滚动视图中拥有表格视图的行为。这应该会发生。

    解决方案: 销毁scrollView,并实现一个带有标题视图的tableView,希望标题视图是带有uiimage,webview等的视图......而tableView它将是你的cmets .这是实现你想要的最好的方式,如果我理解你真正想要的。

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

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

    【讨论】:

      【解决方案2】:

      当我们滚动 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
              }
          }
      

      谢谢

      【讨论】:

        猜你喜欢
        • 2021-10-15
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2020-04-07
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多