2012-03-14 36 views
0

UIView的(相同的),我想有一個UIScrollView包含在UIScrollView頁面重複每次向右或向左,(從服務器動態)每次加載不同的數據UIView多對UIScrollView的

有沒有一種方法可以在IB中完成?如果是這樣,怎麼樣?

感謝

回答

1

你不能用Interface Builder來做到這一點。你必須以編程方式進行。這是簡單的方法來做到這一點。

如果您滑動的每個頁面具有相同的佈局但數據不同,則可以在Interface Builder中創建該視圖的外觀。你將需要使用滾動視圖的委託,所以你可以有機會獲得:

- (void)scrollViewDidEndDecelerating:(UIScrollView *)scrollView 

你需要在這裏做的是 1)確定當前頁面

CGPoint offsetPoint = scrollView.contentOffset; 
float fractionalPage = offsetPoint.x/scrollView.frame.size.width; 
int page = lround(fractionalPage); 

2)確定哪些方向(左或右)我通過使用這樣做一個int scrollViewPosition;可變

3)拆下​​視圖(比方說我們移動到右側),其在兩個位置向左

3)添加下一個視圖(右側的下一個視圖)。

4)填充視圖

有一些事情,這將有助於表現在這裏。 1)重複使用視圖。當您從滾動視圖中移除視圖時,請使用新數據重新填充視圖並將其重新添加到視圖中。

+0

你有關於重用視圖更詳細的教程嗎? – Baub 2012-03-15 16:25:50

+0

你知道嗎,或者你需要一些代碼示例? – Jaybit 2012-03-18 22:39:44

+0

如果您可以提供代碼示例,那將是美妙的! – Baub 2012-03-19 01:11:14

1

我會說這是不可能的使用界面生成器。

手動做這樣的滾動視圖不是很容易的任務。 我認爲最簡單的解決方案是使用UITableView旋轉到Pi/2(90度)。

raywenderlich.com上有非常有用的教程。這裏是Part 1Part 2。您可以從第2部分開始,因爲它們只是在第1部分中構建垂直UITableView。

0

您將無法使用IB實現這種行爲。

在代碼中用UIScrollView做你想做的事情並不困難。儘管你需要了解基礎知識。在Apples開發者頁面上有幾個關於UIScrollViews的WWDC視頻,所以你可能想檢查一下這些視頻,他們會指出你正確的方向。