Есть еще способы, как добиться эффекта.Предполагая, что у вас есть self.view, инициализированный из nib-файла, и это обычный UIView, вы можете поместить этот код в viewDidLoad:
- (void)viewDidLoad
{
CGRect tvFrame = self.view.frame;
tvFrame.origin = CGPointZero;
UITableView* tv = [[UITableView alloc] initWithFrame:self.view.frame];
tv.delegate = self;
tv.dataSource = self;
tv.showsVerticalScrollIndicator = NO;
[self.view addSubview:tv];
CGRect svFrame = CGRectMake(290, 10, 30, 400);
UIScrollView* sv = [[UIScrollView alloc] initWithFrame:svFrame];
sv.contentSize = CGSizeMake(10, 780);
sv.showsVerticalScrollIndicator = NO;
sv.bounces = YES;
CGRect vFrame = CGRectMake(10, 380, 10, 20);
UIView* v = [[UIView alloc] initWithFrame:vFrame];
v.backgroundColor = [UIColor blueColor];
[sv addSubview:v];
[self.view addSubview:sv];
[super viewDidLoad];
}
Это создаст таблицу с узким представлением прокрутки с синим прямоугольником надТаблица.Теперь вы можете прокручивать оба вида прокрутки (таблица также является видом прокрутки) независимо.
Затем вам нужно будет настроить делегатов и получать события прокрутки через UIScrollViewDelegate.Когда один из видов прокрутки начинает перетаскиваться, вам нужно начать настройку смещения другого вида прокрутки.