2012-12-07 159 views
0

我已經實現了具有動態內容的滾動視圖:多個子視圖顯示玩家名下的玩家的照片。流程如下: 1.在主窗口上選擇一名玩家。 2.用戶啓動另一個視圖來添加新玩家。 3.當用戶返回主菜單時,滾動視圖會完全刷新,以便新玩家的照片和名稱也顯示出來。自動滾動到滾動視圖中的子視圖

此時,滾動視圖仍然應該有先前選中的播放器進行對焦,而是從一開始就顯示它。 所以問題是:是否有一種方法可以自動滾動到滾動視圖中的特定位置,因此屏幕仍然讓選定的播放器處於焦點?

回答

1

很簡單,創建一個CGPoint和一個BOOL,您可以在視圖更改後保留並在您最初離開該頁面時設置它們。然後在viewDidAppear,你可以檢查BOOLYES與用途:

[myScrollView setContentOffset:myCGPoint animated:YES]; 

或者,如果你想滾動視圖顯示已經滾動到正確的位置,做同樣的事情,除了在viewWillAppear與動畫標誌設置到NO

1

是的,有兩種:

(1) scrollRectToVisible:animated: 
(2) setContentOffset:animated: 

你可以閱讀有關在UIScrollView Class Reference這兩種方法。無論哪種方式,您可以使用實例變量在用戶滾動時存儲內容偏移量或可見矩形,然後使用上面列出的方法之一在更新玩家數據時恢復滾動視圖位置。

根據你在做什麼,你可能會發現UITableView更容易實現,因爲它是非常可定製的「開箱即用」,它有很多方法來幫助管理一個列表(包括我上面提到的那些, 和更多)。如果你有興趣,看看UITableView Class Reference