在UIScrollView之间切换

时间:2014-04-14 15:43:23

标签: ios objective-c uiscrollview

我在另一个UIScrollView中嵌入了一个UIScrollView。

当用户滚动到某个偏移量时,我想从第一个切换到另一个。

我可以使用等效的[textfield becomefirstresponder]吗?而不是设置我的scrollview.scrollEnabled = NO,然后将其设置回YES。

由于

2 个答案:

答案 0 :(得分:0)

一种策略是检测何时想要切换滚动视图,然后在屏幕外设置其中一个并在另一个上设置动画。例如,当前正在使用scrollViewAscrollViewB是offScreen。当您需要在屏幕上切换scrollViewB并在屏幕外scrollViewA切换时,请使用UIAnimationscrollingEnabled结合使用。

- (void)timeToSwitchScrollViews
{
    [UIView animateWithDuration:5 animations: ^{
        self.scrollViewA.frame = CGRectMake(/* somewhere off screen */);
        self.scrollViewB.frame = CGRectMake(/* somewhere on  screen */);
    }
    completion: ^(BOOL finished) {
        /* wait untill last minute to turn of user interaction */
        self.scrollViewA.scrollingEnabled = NO;
    }      
}

答案 1 :(得分:0)

我找到了一个非常简单的答案。 我只是通过更改子视图的索引来从一个滚动视图切换到另一个滚动视图

[self.view insertSubview:self.scrollViewA atIndex:0];

[self.view insertSubview:self.scrollViewB atIndex:0];