2013-01-08 95 views
0

我們有一個iPhone應用程序,現在正在開發它作爲通用的應用程序。我們希望使用相同的視圖,包括桌面視圖。在左側,我們使用的tableview用於導航,可以動態擴展並在右側,我們的viewControllers與iPhone基本相同。UITableview改變填充動態

由於設計和用戶體驗我們不想拉伸它們以填充右側的整個視圖,我們希望它們以左側和右側的填充爲中心。這個填充應該是動態的,因爲如果左側的菜單展開,填充應該減少。

我們試圖通過覆蓋單元格的setframe方法來實現,但它有點尷尬,在類似的東西之前嘗試過你的某個人?

TIA

+0

使應用程序在iPad上可用,但在大多數情況下添加填充而不是使用額外的空間。除此之外,你是否使用自動佈局? (因爲它會影響我的回答) – DBD

+0

在這一點上,我們依賴於客戶:/ ..不,我們不能,因爲我們必須支持iOS 5.1 –

回答

0

裏面的頂層我UIViewControllerUIView我想創建一個填充視圖。 將它放在superview的整個寬度上,根據需要進行增長/收縮並將其固定在左側和右側。

在填充視圖內部,創建您的內容視圖。儘可能讓視圖變寬,不要重新調整水平尺寸,也不要將其固定在左側或右側。將其放在填充視圖的中心。

現在,如果你說...將填充視圖向右移動並通過更改框架上的origin.x和size.width縮小它,內部內容視圖將保持固定大小並居中填充視圖。這也將使您在屏幕左側或右側的菜單中滑動。

編輯基於評論: 如果你的內部內容視圖是表格,但你想在最右側的滾動條。 。

改變內心內容視圖的frame.size.heightUITableView你表視圖的contentSize.height值相匹配這將使表一樣大的內容關閉垂直滾動(注意:你必須更新的高度你的表查看任何時間修改內容的高度。)

相反有你的填充簡單UIView的,使它成爲一個UIScrollView

現在你的表視圖是一個靜態的高度,並且不滾動,沒有滾動條。填充視圖現在控制滾動,這意味着您可以通過觸摸填充以及hav來滾動填充視圖右側邊緣的滾動條。

+0

好方法,但在這種情況下,滾動條將被固定在tableView如果居中且菜單在左側未展開。我們的目標是滾動條始終停留在同一地點的右側。 –

+0

Thx,我們會試試:)。 –