UITableView里面的UIScrollView
问题描述:
我有一个UITableView以编程方式添加到UIScrollView,这是这样做的,所以我可以水平滚动scrollview完全显示行,但我不希望scrollview垂直滚动,而是,我希望tableview这样做。UITableView里面的UIScrollView
我已经写了所有的代码,但滚动视图是垂直滚动,即使我设置[scrollView setScrollsToTop:NO];方法。
我该如何让tableview垂直滚动而不是scrollview?
[_scrollView setContentSize:CGSizeMake([_scrollableTableView bounds].size.width, [_scrollableTableView bounds].size.height)];
[_scrollView addSubview:_scrollableTableView];
[_scrollView setBounces:NO];
[_scrollView setScrollEnabled:YES];
[_scrollView setDirectionalLockEnabled:YES];
[_scrollView setScrollsToTop:NO];
[_scrollView setShowsVerticalScrollIndicator:NO];
[_scrollView setShowsHorizontalScrollIndicator:NO];
_scrollableTableView = [[UITableView alloc]initWithFrame:CGRectMake(0, 0, 50*([[[_allLiveResults objectAtIndex:0] listOfTitles] count]-3), 25+50*[[[_allLiveResults objectAtIndex:0] listOfParticipants] count]) style:UITableViewStylePlain];
_scrollableTableView.tag = 2;
_scrollableTableView.delegate = self;
_scrollableTableView.dataSource = self;
_scrollableTableView.sectionHeaderHeight = 25;
_scrollableTableView.scrollEnabled = YES;
_scrollableTableView.scrollsToTop = YES;
[_scrollableTableView setSeparatorInset:UIEdgeInsetsZero];
[_scrollableTableView setLayoutMargins:UIEdgeInsetsZero];
[_scrollableTableView setShowsHorizontalScrollIndicator:NO];
[_scrollableTableView setShowsVerticalScrollIndicator:NO];
答
我不知道这是不是你的问题,但也许你想是这样的:
尝试contentSize的高度设置为滚动视图的高度。然后垂直滚动应该被禁用,因为没有东西可以垂直滚动。 scrollView.contentSize = CGSizeMake(scrollView.contentSize.width,scrollView.frame.size.height); –
我已经做了..这没有工作,但问题是,tableView不会向下滚动,所以其他行将出现@Ashwin – user3783005
通过这种方式是什么大小的tableview?是更多的滚动视图大小或视图大小? –