如何在iOS中为表视图和滚动视图设置偏移量,以便两者一起滚动

时间:2014-04-12 08:30:21

标签: ios objective-c uitableview uiview uiscrollview

enter image description here

我想创建包含标题和数据的数据表。 标题和数据应水平滚动。 标题不应垂直滚动(即标题位置将固定)。 数据部分应该作为标题滚动水平滚动,如果数据更多,它也应该垂直滚动,但不影响标题。

首先我创建了UIView,因为对于标题部分我创建了ScrollView,对于剩余的数据,我使用了TableView。我试图设置偏移但它不起作用。

如果有其他方式,请告诉我

3 个答案:

答案 0 :(得分:1)

如果您想在水平方向上滚动您的桌面视图,请在表格视图中进行一些更改xib ......

1-设置tableview宽度根据你的coloumn ..

2-检查方向锁定启用

3-并检查Bounces 在你的xib ..

然后为iPhone和iPad写下这行代码....

    [tableViewq setContentInset:UIEdgeInsetsMake(0,0,0,500)];

此处您只需根据滚动

更改值500

这样你的表水平滚动

这是您查询的解决方案.... 做这样的事情

     -(UIView *)tableView:(UITableView *)tableView viewForHeaderInSection:(NSInteger)section
      {

          UIView *hView = [[UIView alloc] initWithFrame:CGRectZero] ;

          UILabel *hLabel=[[UILabel alloc] init] ;
          hLabel.backgroundColor = [UIColor grayColor];
          hLabel.textColor = [UIColor whiteColor];
         [hView addSubview:hLabel];

          UILabel *hlb1=[[UILabel alloc]init];
          hlb1.backgroundColor=[UIColor grayColor];
          hlb1.text=@"Name"; 
          hlb1.tag=100;
         [hLabel addSubview:hlb1];

        if(IS_IPAD)
           {
              hLabel.frame=CGRectMake(0,0,width Of Table View,Height of Header);
           }

        if(IS_IPHONE)
          {
               hLabel.frame=CGRectMake(0,0,width Of Table View,Height of Header);
           }
       return hView;
     }

答案 1 :(得分:0)

您可以向表格视图的每个单元格添加滚动视图。之后,您可以垂直滚动每个单元格。

这样的事情:

- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
{
    UITableViewCell *cell = [[UITableViewCell alloc] initWithStyle:UITableViewCellStyleDefault reuseIdentifier:@"mycell"];;
    if(!cell) {
        UIScrollView *scrollView = [[UIScrollView alloc] initWithFrame:cell.bounds];
        [cell addSubview:scrollView];
        [scrollView setContentSize:CGSizeMake(cell.frame.size.width * 2, cell.frame.size.height)];
    }
    return cell;
}

答案 2 :(得分:0)

UITableView是UIScrollview的子类,因此不建议在tableview中添加scrollview。

我建议你分别使用scrollview和tableview,然后将tableview的框架设置为(0,scrollview.frame.origin.y + scrollview.frame.size.height,width,height)。

所以现在你可以独立处理水平和垂直滚动。