2011-12-19 55 views
4

我想要一個UITableView的單元格寬於320點。用戶應該能夠側向滾動以便能夠查看UITableViewCell的不同部分。這是UITableView可能的行爲,還是應該去嘗試實現平鋪UIScrollView?iPhone如何實現「Wide」UITableViewCell?

我試着在UIScrollView中包裝一個UITableView,結果很糟糕 - 它們爭奪滾動手勢,大部分時間滾動視圖獲勝,阻止了表的垂直移動。

任何輸入讚賞!

謝謝!

更新:我試着提出的解決方案,它正確滾動,但tableview仍然只有320像素寬。 tableView的寬度鏈接到窗口邊界?

+0

我認爲如果你將禁用UIScrollView反彈,使contentize高度和框架高度等於可見矩形高度(tableview框架高度),它不會垂直滾動,只有tableview會。請將您的代碼發佈到滾動視圖中包裝tableView的地方。 – 2011-12-19 16:52:18

+2

當用戶向右移動時,您希望CELL向右滾動還是整個表格? – 2011-12-19 16:54:12

+0

我使用的是故事板,代碼只是UITableView在UIScrollView中。 – 2011-12-30 05:30:45

回答

1

使用滾動視圖包裝表視圖是正確的方法。

的UIScrollView與

  • 顯示水平滾動條
  • 滾動啓用
  • 自動調整爲全屏

內部的,一個UITableView

  • 顯示垂直滾動條
  • 滾動啓用

然後我設置了表視圖的框架,與w,是與所有列的表視圖的計算寬度,無論你的寬度和kTableScrollViewHeight是的固定高度都表視圖和滾動看來,我的情況下,例如367點(屏幕零下狀態,導航欄和TabBar):

tv.frame = CGRectMake(0, 0, w, kTableScrollViewHeight); 

和滾動視圖的內容大小

scrollView.contentSize = CGSizeMake(w, kTableScrollViewHeight); 

如果你想滾動到頂部的行爲,當用戶點擊狀態欄,你可能需要設置

scrollView.scrollsToTop = NO; 

,因爲否則的滾動視圖會從桌子上取走水龍頭。

+0

UITableView是UIScrollView的子類。 – 2011-12-19 17:11:38

+0

你想說什麼?當然它是一個子類。 – k1th 2011-12-19 20:24:31

+0

那你爲什麼要把它放在另一個滾動視圖中,如果你可以改變表視圖​​的屬性? – 2011-12-19 20:27:04