如何在 iOS 中为表格视图和滚动视图设置偏移量,以便两者一起滚动
Posted
技术标签:
【中文标题】如何在 iOS 中为表格视图和滚动视图设置偏移量,以便两者一起滚动【英文标题】:How can I set offset for table view and scroll view in iOS, so that both scroll together 【发布时间】:2014-04-12 08:30:20 【问题描述】:我想创建带有标题和数据的数据表。 标题和数据应水平滚动。 标题不应垂直滚动(即标题位置将被固定)。 并且数据部分应该像标题滚动一样水平滚动,如果数据更多也应该垂直滚动,但不影响标题。
首先我创建了 UIView,在标题部分我创建了 ScrollView,而对于剩余数据我使用了 TableView。我正在尝试设置偏移量,但它不起作用。
如果有其他方法请告诉我
【问题讨论】:
你用 xib 或代码创建你的 tableview ???? 好的,你希望你的标题可以修复垂直滚动????并在水平位置滚动??? @ParvendraSingh 没错…… 检查我的答案它对我有用..非常好 ***.com/questions/5581116/… 参考此链接 【参考方案1】:如果你想在水平方向滚动你的tableview然后在你的table view xib中做一些改变......
1- 根据您的列设置表格视图宽度..
2-检查方向锁定启用
3- 并检查反弹 在你的 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;
【讨论】:
这可以帮助您双向滚动@Madhuri 是的,我知道,但我想要的是滚动视图和表格视图都一起滚动 @madhuri 已经在 tableview 中添加了滚动视图 .. 不需要创建滚动视图然后在滚动视图上添加 tableview 请看一下我发布的图片...你告诉我的解决方案对于水平视图是正确的。但我也需要垂直滚动数据而不影响标题位置 @Madhuri 看看这个***.com/questions/22221897/…【参考方案2】:您可以向表格视图的每个单元格添加滚动视图。在您能够垂直滚动每个单元格之后。
类似这样的:
- (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;
【讨论】:
【参考方案3】:UITableView 是 UIScrollview 的子类,因此不建议在 tableview 中添加滚动视图。
我建议你分别使用滚动视图和表格视图,然后将表格视图的框架设置为 (0, scrollview.frame.origin.y+scrollview.frame.size.height,width,height)。
所以现在您可以独立处理水平和垂直滚动了。
【讨论】:
以上是关于如何在 iOS 中为表格视图和滚动视图设置偏移量,以便两者一起滚动的主要内容,如果未能解决你的问题,请参考以下文章
使用 UIScrollView 和 PageControl 定义滚动量