在我的 iphone 应用程序中,我想使用 2 个滚动视图,它们里面有一些图像。好吧,我的问题是,当我在第一个滚动视图上垂直滚动时,我想探索它的内容,但是当我水平滚动时,我想移动到第二个滚动视图。我希望我解释清楚。
好吧,我尝试使用 3 个滚动视图,其中第一个位于背景上,其他位于第一个滚动视图上,但我只能一次控制背景滚动视图或其他滚动视图。
有没有办法控制第一个水平和其他垂直。对不起我的英语,希望它有意义。
在我的 iphone 应用程序中,我想使用 2 个滚动视图,它们里面有一些图像。好吧,我的问题是,当我在第一个滚动视图上垂直滚动时,我想探索它的内容,但是当我水平滚动时,我想移动到第二个滚动视图。我希望我解释清楚。
好吧,我尝试使用 3 个滚动视图,其中第一个位于背景上,其他位于第一个滚动视图上,但我只能一次控制背景滚动视图或其他滚动视图。
有没有办法控制第一个水平和其他垂直。对不起我的英语,希望它有意义。
我有两个建议。
1) Scrollviews 可以水平和垂直滚动——所以如果你有垂直方向的内容和水平方向的内容,你不需要其中的两个。你可以用一个。
2)如果由于某种原因您确实需要 2,那么您可以通过子类化检测水平滑动UIScrollView
并切换到另一个。
请记住,aUIScrollView
将向任何超出其 contentSize 的方向滚动。因此,在第一种情况(1)中,您需要做的就是获取滚动视图 2(水平滚动视图)内部的视图,并将该视图放在滚动视图中滚动视图的左侧或右侧,当用户使用时滚动他们将看到该视图,当然也可以在那里垂直滚动。
如果您使用方法 2 - 确保第一个滚动视图的内容大小至少比内容大小宽几个像素,以便您可以检测到水平滑动,然后调用 coe 切换到您的另一个滚动视图。如果您不子类UIScrollview
化以获得滑动,您可能不会获得该事件。所以这样做会增加该视图的宽度,然后查找小于滚动视图左边缘的值并切换到另一个滚动视图。您可以反向执行相同的操作以返回上一个滚动视图。
我希望这会有所帮助 - 抱歉目前没有代码,但我确实有在 iOS 和 OSX 上工作的代码可以做到这一点。
UIScrollView
您可以通过两者if statement
的 Set 委托来区分两者UIScrollView
然后比较您scrollView
的delegate
方法。delegate
您可以根据您的要求更改您的方法 -
- (void)scrollViewDidEndDragging:(UIScrollView *)scrollView willDecelerate:(BOOL)decelerate
{
if(firstScrollView == scrollView)
{
//Do your work for firstScrollView
}
if(secondScrollView == scrollView)
{
//Do your work for secondScrollView
}
}
尝试在代表方法中做
- (void)scrollViewDidEndDragging:(UIScrollView *)scrollView willDecelerate:(BOOL)decelerate
-(void)scrollViewDidEndDecelerating:(UIScrollView *)scrollView
设置一些条件,例如
if(myScroll1)
{
//scroll vatical.
}
if(myScroll2)
{
//scroll horizontal.
}
这不是完整的代码这是一个想法祝你好运..