Я искал способ реализовать следующее:UIScrollView на дне UIScrollView
- Есть один «мастер» Scrollview, который содержит как UIView полноэкранный на верхней и UIScrollView полноэкранное ниже это
- Когда пользователь прокручивает мимо верхнюю UIView, нижняя Scrollview видна и становится ответчиком для прокрутки событий
- Когда пользователь пытается прокрутить вверх от нижней UIScrollView, прикасается перенаправляется таким образом они контролируют «мастер 'scrollView и снова включить UIView.
Чтобы дать представление о том, как это изложено, вот моя текущая реализация:
// Initialise components:
mainScreen = [[UIScreen mainScreen] bounds];
CGFloat screenHeight = mainScreen.size.height-20;
// Scroll View Controller
_scrollControl = [[UIScrollView alloc] initWithFrame:CGRectMake(0, 0, 320, screenHeight)];
_scrollControl.contentSize = CGSizeMake(320, 2*screenHeight); // Twice as big as the screen size for both views to fit
_scrollControl.backgroundColor = [UIColor clearColor];
_scrollControl.delegate = self;
// Top View
_topView = [[UIView alloc] initWithFrame:CGRectMake(0, 0, 320, screenHeight)];
_topView.backgroundColor = [UIColor redColor];
[_scrollControl addSubview:_topView];
// Bottom View
_bottomView = [[UIScrollView alloc] initWithFrame:CGRectMake(0, screenHeight, 320, screenHeight)];
_bottomView.backgroundColor = [UIColor yellowColor];
_bottomView.contentSize = CGSizeMake(320, 2*screenHeight);
_bottomView.delegate = self;
UILabel *imageLabel = [[UILabel alloc] initWithFrame:CGRectMake(40, 40, 120, 700)];
imageLabel.backgroundColor = [UIColor greenColor];
[_bottomView addSubview:imageLabel];
[_scrollControl addSubview:_bottomView];
// Add to main view
[self.view addSubview:_scrollControl];
Я пытался достичь желаемого эффекта, используя методы делегата, однако я не могу остановиться «master» scrollView от прокрутки до того, как он переключится на нижний scrollView.
Спасибо за предложение - пейджинг может помочь уменьшить «переход» Я пытаюсь добиться, но то, что вы предложили это немного отличается от того, что я получаю. - У меня в основном есть просмотр прокрутки, встроенный в scrollview, и оба они прокручиваются по вертикали, и проблема обрабатывается, когда происходит переход между ними, так что нижний scrollView будет управлять и включаться, когда «master» scrollView имеет прокручивается на дно. – Sarreph
UIScrollView автоматически достигает этого. Когда вы дойдете до нижней части детского прокрутки, оно автоматически затем позволяет событиям касания просачиваться в родительский вид прокрутки. То же самое при прокрутке в противоположном направлении. –