2010-10-04 25 views
3

我看過顯示UIScrollView的WWDC-104視頻照片。 我也下載了示例代碼。 在我的應用程序的結構如下,在photoscroller應用程序(iPhone的WWDC-104照片應用程序)時,使用presentModalviewController調用uiscrollview圖像時右移

(根類)A類---> B類-----------> PhotoViewController(含滾動型)

我打電話通過在類B中使用presentModalViewController方法來創建PhotoViewController類。

但是每次滑動時,新圖像都會在視圖上向右移動。 圖像左側可見黑色垂直條,每次滑動都會變寬。 因此,在6至8張圖像後,視圖變爲全黑。

我還沒有寫任何其他的代碼。剛剛複製了這些類。

爲什麼在PhotoViewController類不是要加載的第一個類時發生這種情況? 是否有任何需要爲ScrollView設置的屬性? 在這個視圖層次結構中是否有任何錯誤?

另外如何從特定圖像開始(從第10張圖像加載)?

任何幫助/建議將不勝感激。

編輯:

alt text

第一水平刷卡後,

alt text

第二個水平刷卡後,

alt text

+0

我最近在弄這個代碼,所以我可以回答你。 我不知道理解你的問題。您在您的應用程序加載PhotoViewController類,當你刷卡到另一個圖像你有一個黑色的條?你能向我們展示一張圖片嗎^^? – Vinzius 2010-10-04 11:28:50

+0

嗨,我已添加圖像。問題是,當PhotoViewController不是第一類,第一個圖像加載正確。滑動的第二張圖片看起來像是其X座標已移動。對於第三個圖像,X座標進一步移位。但是我沒有改變代碼中的任何東西,當PhotoViewController加載到第一類時,相同的代碼很好用。可能是什麼問題? – 2010-10-05 03:26:16

回答

4

當您在應用程序中使用它時,是不是由UINavigationController推送的PhotoViewController?

這就是問題所在,NavigationController修改了ScrollView的框架,一旦視圖出現,由PhotoViewController創建的偏移和擴展寬度不再存在。

解決此問題的最簡單方法是將PhotoViewController的視圖設置爲常規UIView,並將ScrollView添加爲此UIView的子視圖。然後NavigationController將修改此視圖的框架,但不會觸及子視圖。

UIView * intermediateView = [[UIView alloc] initWithFrame:pagingScrollViewFrame]; 
[intermediateView addSubview:pagingScrollView]; 
self.view = intermediateView; 

看一看這個問題的更多信息: Photos app-like gap between pages in UIScrollView with pagingEnabled

+0

而不是使用addSubview推動控制器解決了這個問題。不過,我現在無法檢測到UITouch事件.. – 2010-12-21 11:27:32

0

這聽起來像你可能沒有考慮到圖像間的邊距。你也複製他們的資源文件嗎?如果我沒有記錯,他們的scrollview會在頁面外延伸一段時間,以便在圖像之間留出空白。

+0

是的..圖像之間的邊距是這樣的,但它是以編程方式完成的,代碼就在那裏。問題是相同的應用程序運行完美時,我的第一個類是PhotoViewController,但當我從其他按鈕點擊時,它會發生此問題。 – 2010-10-05 03:00:38

相關問題