2009-11-04 124 views
1

我正在構建一個iPhone應用程序,並且像大多數我試圖用UIPageControl實現UIScrollView,但是我遇到了一個非常古怪的行爲,我認爲這可能是一個錯誤。希望你之前見過這個,因爲這會讓我瘋狂。UIPageControl渲染與UIScrollView怪癖

基本上,頁面控制工作正常,一切都掛鉤,並在所有帳戶正常工作除了UIPageControl內的某些位置的UIView,UIPageControl將停止呈現。

我只是把廈門國際銀行窗口的截圖,以幫助說明......下面是工作完全正常放置:

http://www.jasconi.us/prob1.png

的UIPageControl被放置在UIScrollView的身體上面。偉大的作品,一切都是可見的和工作。

接下來的兩個不起作用:

http://www.jasconi.us/prob2.png http://www.jasconi.us/prob3.png

第一種是簡單地放置滾動視圖的下方。根本不渲染。

第二個放置在滾動視圖上方,技術上不在其內部。也不渲染。

這到底是怎麼回事?我試過使用

[[self view] bringSubviewToFront:pageControl]; 

...無濟於事。

任何想法?

回答

2

好的我找到了答案,這是凱文培根的六度。

這實際上不是一個軟件錯誤,而是一個XIB怪癖,由於某種原因,在與自動調整大小和固定的默認設置組合的頁面控制的較低位置似乎拋棄控制太空。

如果關閉所有自動縮放和自動調整大小和自動錨定以及所有其他垃圾,則控件將完全按照您的預期顯示。當它放置在ScrollView上方時,它的出現是可靠的,這很奇怪。

聳肩

希望這有助於未來的iPhone啓動。

+0

你能解釋一下你改變了什麼嗎?我有這個相同的問題 - 出現在IB,但從來沒有在模擬器。我已經嘗試過所有縮放,大小調整和錨點組合。 任何幫助將不勝感激:-) – 2010-06-19 20:58:21

+0

看起來像我的問題是把控制在白色背景!似乎選中的點是白色的,其他點是白色的,並且顏色較低,因此在白色背景下,它們都不可見! – 2010-06-19 21:01:15

+0

哈哈,我的朋友很棒。兩個默認的自動大小掩碼是左側和頂部。我把它們關閉了,它開始出現......好的東西我的應用程序只是肖像,如果我在做風景,我覺得我可能需要其中的一個或多個。 – casey 2011-06-30 04:08:16

0

您是否確認numberOfPages不是0?

如果你設置了一個斷點,你能看到pageControl不是零嗎?

+0

頁面在代碼中設置,並且始終大於0,它不是零,因爲我可以在代碼中引用它並且處理它中的值。我只是不能*看到*它。 – 2009-11-05 01:27:26

0

這聽起來像是一個真正的無腦,但我抓住了它。

默認情況下,UIPageControl預計在黑色背景上。 IE:點是淺灰色,當前頁面是白色。

我用它自己的UIPageControl沒有滾動視圖改變圖形的時間範圍,我與渲染drawRect:

長話短說,圖形背景爲白色,所以頁面控制器的工作,我真不敢沒有看到它。解決方案是將圖形本身放在子視圖中,並使包含頁面控件的父級具有黑色背景。

0

即使在嘗試每個人發佈的答案之後,我仍然遇到了完全相同的問題。我的問題結束了多一點「DOH」:

我在一個模式FormSheet的底部使用UIPageControl,但是,我忘了將視圖的大小設置爲xib中的表單表單。這導致我的頁面控制不在屏幕上,也不可見。

道德:在基本視圖的xib中設置視圖大小(完整,窗體,頁面等)。