2011-12-19 57 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