2011-04-11 51 views
0

我在這裏有點Iphone noob,所以請和我一起裸照。在網絡上搜索答案後,我終於決定提出這個問題。根據分組表視圖的高度動態設置UIView大小

設置:我有一個嵌套在其中的滾動視圖的UIView。在滾動視圖中,我有一個標籤,uiimage和一個tableview(分組)。標籤,uiimage和tableveiw由webservice填充。分組表格視圖中的最後一部分包含的文本永遠不會相同,並且可能長達5個字符到250+。此外,這個視圖是從一個基本的tableview中推出的(所以它有一個導航欄,如果這很重要的話)。

預計:uview的高度應根據tableview的高度進行擴展。然後我將能夠設置滾動視圖以適應我需要能夠滾動的高度。

問題:我不太清楚如何解決這個問題。我真的只知道如何將高度改變爲固定值,幾乎在任何情況下都無法正常工作。

我是否正確使用UIScrollView?我是否需要調整UIView的大小?任何幫助表示讚賞。謝謝。

回答

0

原來我不得不以編程方式創建一個UIView,並將其設置爲UITableView的標題。它現在完美。 :)

0

您不必修改您的UIView幀大小,它必須是屏幕的大小。 UIScrollView的框架尺寸也必須相同,它代表其實際顯示的視圖部分。

什麼必須改變是UIScrollView的contentSize,它定義的高度和寬度爲在其內部的數據;)

可以使用每個內部元件的高度計算它,並通過添加正確的餘量。 因此,你可以有一個320 * 600的UIScrollView內容大小,它可以讓你自動向下滾動。

實際上,您必須獨立於最終幀大小顯示您的內容。如果您的內容爲500 * 500,只需在UIScrollView中顯示即可。然後告訴它它的內容大小,如果需要它會自動設置滾動的可能性。

+0

謝謝。我設置了scrollview的contentSize,但我不太確定如何獲得我需要的高度。不過,我認爲爲了使scrollview工作,UIView框架的大小必須大於scrollview的大小。這是不是真的? – Trevor 2011-04-11 13:19:52

+0

不,這不是真的,你的UIScrollView可以和UIView一樣大。而UIScrollView是一個UIView,所以如果整個屏幕必須是可滾動的,你可以直接使用一個UIScrollView,它並不嵌套在UIView中;) – Geoffroy 2011-04-11 14:00:39

+0

我像你說的那樣刪除了最初的UIView。現在,uitableview(設置爲480的高度)被截斷,這是有道理的,因爲高度設置爲480.如果我將高度設置爲可以說800,它會更進一步,但滾動視圖不會延伸得足夠遠羅納爾多,也很想。顯然,爲UITableView設置一個定義的高度並不是我想要的,因爲我不知道在最後一節中將保留多少文本。我需要將tableview擴展到所需的最大長度,並且scrollview應該得到補償。我不知道如何動態地設置其中的任何一個。你的幫助是真正的讚賞。 – Trevor 2011-04-11 22:44:53

相關問題