2013-01-14 60 views
0

在我看來,我使用的UITableView由屏幕上半部分的UITableViewController控制。剩餘的屏幕用於包含由主UIViewController控制的視圖的UIScrollView。UIScrollView的框架隨機變化

當我在UITableViewController中執行下拉以刷新時(由於某種原因,如果表項數量小於或大於初始加載值,主UIViewController框架中的UIScrollView被更改爲屏幕大小。 ..

本質上,它打破我的傳呼,除非我重新設置了滾動回intialized大小...

我不知道爲什麼發生這種情況的UIScrollView的不是在的UITableViewController使用。這是唯一的滾動視圖在UITableViewController中使用的是UITableView的處理下拉刷新...

有誰知道爲什麼主應用的UIScrollView的contentSize會在UITableViewController類不能被訪問的時候被隨機地改變嗎?

謝謝

回答

1

剛剛在這裏試過了,我無法複製你的經驗。我猜你有一個意外的或不一致的視圖/控制器層次結構?查看錶格的控制器並滾動視圖的公共超級視圖。有什麼可疑的?請記住:視圖控制器管理視圖的組。容器視圖控制器管理其他視圖控制器並且具有特殊規則(參見:The View Controller Programming Guide,特別是-addChildViewController:等)。

我建議打開一個空白項目,並試圖以最簡單的形式重新創建問題。如果它神奇地固定下來,有什麼不同?如果它仍然給你帶來麻煩,給我們一個鏈接,所以我們可以看到你有什麼事情的細節。

+0

我猜這可能是一個問題。除了在我的項目中初始化Viewcontroller的實例變量之外,我沒有對容器視圖做任何特殊的事情來管理這些控制器。我還需要做些什麼才能正確設置它?我現在只是添加了addChildViewController,但它沒有效果。 – Alan

+0

請閱讀上述鏈接文檔中的「創建自定義容器視圖控制器」一節以開始。您可能還想觀看WWDC 2011會議102「實現UIViewController遏制」。但是這並不像一個簡單的錯誤 - 可能有一些微妙的錯誤。所以我仍然建議製作一個新的「最簡單的」實現(也許所有三個視圖由單個根視圖控制器管理?),以確保這是可重複的,並且是由您的想法造成的。 – jemmons