如何做水平滚动tableview

时间:2015-06-03 16:13:20

标签: ios objective-c uitableview

我需要在表格视图中进行水平滚动,然后搜索所有Google,我找不到任何内容,我这样做

CGRect tableFrame = CGRectMake(15, heightView-360, widthView+50, heightView-200);
UITableView *tableView = [[UITableView alloc]initWithFrame:tableFrame style:UITableViewStylePlain];
tableView.layer.cornerRadius=7;
tableView.rowHeight = 40;
tableView.sectionFooterHeight = myData.count;
tableView.sectionHeaderHeight = myData.count;
tableView.scrollEnabled = YES;
tableView.showsVerticalScrollIndicator = YES;
tableView.showsHorizontalScrollIndicator=YES;
tableView.autoresizingMask = (UIViewAutoresizingFlexibleWidth | UIViewAutoresizingFlexibleHeight);
tableView.userInteractionEnabled = YES;
tableView.bounces = YES;
tableView.delegate = self;
tableView.dataSource = self;
[self.view addSubview:tableView];

出了什么问题?为什么不去横向滚动?

4 个答案:

答案 0 :(得分:2)

您要找的是UICollectionView,而不是UITableView。在这里,您可以实现单元格并向任一方向滚动。

在Interface Builder中,当您选择CollectionView时,它有一个名为“滚动方向”的属性 - 将其更改为“水平”

答案 1 :(得分:1)

来自docs

enter image description here

您可以访问与水平滚动相关的属性,因为UITableView是UIScrollView的子类,但它们并不适合在UITableView中使用

答案 2 :(得分:1)

请看一下。这应该可以解决你的问题。

https://github.com/alekseyn/EasyTableView

当我被困时,我这样做了:

CGRect frame = tblView.frame;
tblView.transform = CGAffineTransformRotate(stressTblView.transform, M_PI / 2);
tblView.frame = frame;

答案 3 :(得分:0)

按照以下步骤制作可滚动的水平表视图:

  1. 子类UIView并创建一个包含适当帧的表视图。
  2. 将表格视图旋转-90度(self.tableView.transform = CGAffineTransformMakeRotation(-M_PI_2);)。
  3. 设置自动调整遮罩(self.tableView.autoresizingMask =(UIViewAutoresizingFlexibleWidth | UIViewAutoresizingFlexibleLeftMargin | UIViewAutoresizingFlexibleRightMargin);)。
  4. 创建一个单元格视图并将其旋转90度,并使用该单元格填充表格视图。
  5. implements - (void)handleTapGestureRecognizer:(UITapGestureRecognizer *)tapGesture;委托方法获取抽头单元格的位置并自动滚动到它。
  6. 希望有所帮助!!!!