2016-05-01 70 views
0

我有ViewController,其中有一個UIView視圖和一個TableView 裏面。視圖有很大的高度,所以我想在用戶開始滾動表格時隱藏它 - 所以表格現在正在整個屏幕上。 要做到這一點,我使用這種方法。Pause TableView滾動

func scrollViewWillBeginDragging(scrollView: UIScrollView) { 
     //hide view or decrease it height 
    } 

我隱藏視圖與動畫 - 所以它需要幾分鐘的時間隱藏。問題是 - 當用戶開始滾動表格並且視圖開始變小時 - 表格的頂部單元格中的一些頂部單元格已經不在顯示,因爲它們在頂部。

enter image description here enter image description here

我想暫停滾動 - 使之可以開始視圖高度降低之後。另外 - 我擔心用戶可能會感到奇怪。

回答

2

您需要根據用戶滾動來改變高度以使其高效。

覆蓋另一個委託功能

func scrollViewDidScroll(_ scrollView: UIScrollView) { 
    myView.heightConstraint = myView.originalHeight - scrollView.contentOffset.y; 
} 

contentOffset財產給你x的電流量,Y從原點滾動視圖滾動。

1

你可以做的是,你可以給你的tableView整個屏幕,並以任何你想要的高度進行另一個視圖,並使其成爲你的tableView的標題視圖。所以現在視圖將滾動爲您的tableView卷軸。這是你想要的?

[tableView setHeaderView:<your-custom-header-view>];