2012-09-07 24 views
0

我有一個視圖控制器上的兩個UITableViews(視圖控制器是他們的代表)。其中一個將取決於scrollViewWillEndDragging:withVelocity:targetContentOffset :(我想做一些自定義分頁)。另一位已經pagingEnabled屬性設置爲yes,當我嘗試滾動它的第一次的XCode給我警告UIScrollViewDelegate scrollViewWillEndDragging:withVelocity:targetContentOffset:warning

2012-09-07 16:46:39.672 test[17393:707] Stop offset can not be modified for paging scroll views 

即使該方法的代碼是目前:

-(void)scrollViewWillEndDragging:(UIScrollView *)scrollView withVelocity:(CGPoint)velocity targetContentOffset:(inout CGPoint *)targetContentOffset 
{ 
    return; 
} 

當我刪除方法scrollViewWillEndDragging:withVelocity:targetContentOffset:似乎一切都好。我是否需要嘗試創建另一個委託(沒有這種方法)並將其與分頁代理一起構建爲UITableView,還是我應該不擔心?

+0

如果您取消退貨,會發生什麼情況;? – Hackmodford

+0

一樣,有回報;或沒有它不會改變任何東西 – patryk

回答

5

您在控制檯中看到此警告的原因是因爲當滾動視圖啓用分頁時,方法scrollViewWillEndDragging:withVelocity:targetContentOffset:不起作用。該文件指出以下內容。

當滾動視圖的pagingEnabled屬性的值爲YES時,不調用此方法。

換句話說,Xcode給你一個警告,但是,正如@tiguero所示,最好在每個委託方法中檢查哪個表視圖(滾動視圖)正在發送委託消息。

至於警告,您可以忽略此警告,因爲您的控制器是兩個表視圖的委託,其中一個已啓用分頁。

0

我對你想在這裏實現的目標有點困惑。儘管如此,如果你有相同的視圖控制器作爲兩個UITableView的代理,我推薦實現這些委託方法,並通過檢查你的委託方法參數中傳遞的scrollView變量來檢查你正在處理的scrollView。

+0

是的,在scrollViewWillEndDragging:withVelocity:targetContentOffset:有一個檢查,從第一個參數的scrollView是否是一個特定的scrollView,該方法對另一個(有分頁啓用) – patryk

相關問題