iPhone如何实现“宽”UITableViewCell?

时间:2011-12-19 16:46:46

标签: iphone objective-c ios uitableview uiscrollview

我想要一个UITableView,其单元格大于320磅。用户应该能够侧向滚动以便能够查看UITableViewCell的不同部分。使用UITableView可以实现这种行为,还是应该尝试实现平铺UIScrollView?

我尝试在UIScrollView中包装UITableView,结果非常糟糕 - 他们竞争滚动手势,大多数时候滚动视图获胜,防止表被垂直遍历。

感谢任何输入!

谢谢!

更新:我尝试了所提出的解决方案并且滚动得当,但是tableview仍然只有320像素宽。 tableView的宽度是否链接到窗口边界?

1 个答案:

答案 0 :(得分:1)

使用滚动视图包装表视图是正确的方法。

UIScrollView with

  • 显示水平滚动条
  • 启用滚动
  • 自动调整为全屏

在其中,一个UITableView

  • 显示垂直滚动条
  • 启用滚动

然后我设置表视图的框架,w,是表视图的计算宽度,包括所有列,无论宽度如何,kTableScrollViewHeight是表视图和滚动视图,在我的例子中,例如367点(屏幕减去状态,导航栏和标签栏):

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

和滚动视图的内容大小

scrollView.contentSize = CGSizeMake(w, kTableScrollViewHeight);

如果您想要在用户点按状态栏时滚动到顶部的行为,您可能需要设置

scrollView.scrollsToTop = NO;

因为否则滚动视图将从表格视图中删除点击。