2017-08-23 48 views
0

我有一個UITableView一個UIScrollView啓用滾動時的UITableView滾動中的UIScrollView

表視圖中的樣子:

private(set) lazy var tableView: UITableView = { 
    let tableView = UITableView(frame: CGRect.zero, style: .plain) 
    tableView.separatorStyle = .none 
    tableView.showsVerticalScrollIndicator = false 
    tableView.rowHeight = 70 
    tableView.backgroundColor = .blue 
    tableView.bounces = false 
    tableView.alwaysBounceVertical = false 
    tableView.isScrollEnabled = false 
    return tableView 
}() 

正如你看到的我已經禁用了滾動表視圖,因爲我想它將與UIScrollView內的其餘視圖一起滾動。我想,雖然實現的,是使的tableView的滾動時UIScrollView已經達到了一定的偏差,因此我有在scrollViewDidScroll委託方法:

func scrollViewDidScroll(_ scrollView: UIScrollView) { 
    if scrollView.contentOffset.y >= 160 { 
     self.view.tableView.isScrollEnabled = true 
    } 
} 

上述工作部分。啓用了滾動功能的UITableView不會滾動,除非我將手指從屏幕上擡起並再次開始滾動。

任何想法如何獲得所需的行爲?

回答

0

重要:您不應該在UIS​​crollView對象中嵌入UIWebView或UITableView對象。如果這樣做,可能會導致意外的行爲,因爲兩個對象的觸摸事件可能混淆並被錯誤地處理。 enter image description here

+0

它記錄在蘋果文件中。所以你需要避免這樣做。 –