我目前有一個0123ar是由Navigation bar
,其次是UIView
有兩個UIButtons
添加爲子視圖。然後在底部有UITableView
,從容器底部開始UIView
。使UIView滾動與UITableView,但銷頂部的視圖
目前,當用戶滾動UITableView
時,它會落後於UIView
和UIButtons
。實際上我想要發生的是UIView
和UIButtons
隨表格視圖向上移動,但只有它們的高度值在本例中爲58像素。流程將是這樣的...
1)表格卷軸和UIView
隨它移動前58個像素。
2)用戶繼續滾動表格,但UIView
「引腳」本身只是在navigation bar
下的視圖。
3)當用戶向下滾動表格時,UIView
被拾起並被拖回到視圖中。我相信新的Facebook應用程序在時間軸上做了類似的事情。
我不想將UIView
設置爲表格的TableHeaderView
,因爲我也有一個拉到刷新,然後位於按鈕上方,看起來很糟糕。我嘗試過玩桌子底層scrollview
的contentOffset
屬性,但碰到一堵磚牆。
任何意見,從哪裏開始將不勝感激。
感謝
編輯:我變得有點更進一步,使用此代碼來移動的UIView的框架。
-(void) scrollViewDidScroll:(UIScrollView *)scrollView
{
NSLog (@"Content Offset: %f", self.tableView.contentOffset.y);
NSLog (@"Button Frame: %f", self.btnBackground.frame.origin.y);
if (self.tableView.contentOffset.y > 0)
{
CGRect newFrame = self.btnBackground.frame;
newFrame.origin.x = 0;
newFrame.origin.y = -self.tableView.contentOffset.y;
[self.btnBackground setFrame: newFrame];
}
}
現在的問題是,scrollViewDidScroll委託方法不被解僱的速度不夠快,如果表視圖滾動快。結果是UIView在快速滾動時並沒有完全恢復到原來的位置。
嘿,我現在正試圖解決類似的問題。你有沒有想過要做什麼? @paulmorris – Thomas 2015-05-17 04:59:42
相關問題:http://stackoverflow.com/questions/25374090/move-a-view-when-scrolling-in-uitableview – 2015-08-21 03:35:21
嘿,我也來過類似的情況。設計師希望佈局的行爲與Android中的CoordinatorLayout完全相同。順便說一句,你覺得它? – 2016-11-09 10:58:42