2010-09-16 49 views
0

我在Apple的開發人員文檔中找到了一個尋呼UIScrollView的例子,這正是我想要的應用程序。我有一個帶有「幫助」按鈕的主視圖,我想呈現一個視圖,用戶可以通過頁面查看所有幫助主題。樣品是:如何從Apple的例子中實際實現分頁​​UIScrollView?

https://developer.apple.com/library/ios/#documentation/WindowsViews/Conceptual/UIScrollView_pg/ScrollViewPagingMode/ScrollViewPagingMode.html%23//apple_ref/doc/uid/TP40008179-CH3-SW1

它像宣傳的那樣,但是,因爲有這麼多的蘋果的例子,他們就在AppDelegate各種代碼。我有我自己的AppDelegate,但後來我有一個NavigationControllerRootView有它的「幫助」按鈕。我似乎無法得到集成到我自己的示例代碼,並使其工作。我很確定我不能把他們的代碼放在他們自己的AppDelegate中,但是如何設置它卻無法解決我的問題。

有人能指點我一個例子,他們在做我在說什麼嗎?

編輯:我能夠創建一個新的項目,並把它通過移動所有AppDelegate方法爲UIViewController,模板提供和創造一個新的ContentPageUIViewController來保存內容,如蘋果公司的工作。它可以從一個頁面滾動到另一個頁面,所以我認爲我可以將此代碼插入到我的其他項目中。

我用等效viewDidLoad取代applicationDidFinishLaunching和擺脫了AppDelegate東西處理window和這樣的。然後我改變了Apple的initWithPageNumber:方法來引用我的幫助頁面,而不是僅僅創建它們通用視圖的實例。

- (id)initWithPageNumber:(int)page { 
    NSLog(@"--initWithPageNumber:ContentPage"); 
    if (self = [super initWithNibName:[NSString stringWithFormat:@"HelpPage%d", page] bundle:nil]) { 
     pageNumber = page; 
    } 
    return self; 
} 

感謝您的幫助 - 有時只有有人告訴您可以繼續前進!

+0

我在我面前有PageControl示例項目。看起來很簡單。什麼*確切*是你的問題在這裏? – 2010-09-16 04:45:29

+0

@Shaggy,我會在早上發佈我的代碼,但我很困惑如何從另一個視圖實現scrollview而不是appdelegate。到目前爲止,我所做的是將所有appdelegate代碼放入UIViewController子類中,並將applicationDidFinishLaunching更改爲viewDidLoad。我最終以空白的視角。我可能與我的筆尖有問題,但仔細檢查了這些樣品。 – Steve 2010-09-16 05:26:03

回答

1

在示例代碼中,applicationDidFinishLaunching:方法樹立UIScrollView(和UIPageControl,但讓我們忽略現在),然後「負載」的前兩頁。 「加載」頁面包括將該頁面的視圖控制器加載到內存中並對其進行緩存。然後它將該控制器的視圖作爲UIScrollView偏移量的子視圖,並根據「頁碼」是什麼進行顯示。你應該能夠在你的viewDidLoad中做到這一切。

如果顯示視圖控制器的視圖時顯示空白視圖,那麼您尚未將子視圖正確添加到UIScrollView。取決於你改變了什麼,這可能是(a)沒有正確地獲得x偏移量,(b)沒有正確設置幀,或者(c)沒有正確地將它添加爲子視圖。

如果您發佈了一些自己的代碼,我們可能會發現一些問題。