如何在 iPhone SDK 中单击按钮时水平滚动 ScrollView
Posted
技术标签:
【中文标题】如何在 iPhone SDK 中单击按钮时水平滚动 ScrollView【英文标题】:How to horizontally scroll the ScrollView on the click of the button in iPhone SDK 【发布时间】:2011-01-03 13:14:27 【问题描述】:我正在制作一个具有滚动视图的 iPhone 应用程序。
我在滚动视图的左侧和右侧都有一个按钮。单击这两个按钮时,滚动视图应在各自的水平方向上滚动。
我应该怎么做才能在单击这些按钮时滚动滚动视图?
【问题讨论】:
【参考方案1】:- (void)scrollRectToVisible:(CGRect)rect animated:(BOOL)animated
【讨论】:
【参考方案2】:给定一个名为 scrollView
的滚动视图,调用
NSInteger page = ..// determine page
CGPoint off = CGPointMake(page*scrollView.frame.size.width,0);
[scrollView setContentOffset:off animated:YES];
你可以通过计算确定当前页面
NSInteger page = scrollView.contentOffset.x/scrollView.frame.size.width;
然后在设置新的偏移量之前翻页page++;
。
【讨论】:
【参考方案3】:示例代码:
float width = scrollView.frame.size.width;
float height = scrollView.frame.size.height;
float newPosition = scrollView.contentOffset.x+width; // or -
// probably check if position is negative
CGRect toVisible = CGRectMake(newPosition, 0, width, height);
[scrollView scrollRectToVisible:toVisible animated:YES];
【讨论】:
以上是关于如何在 iPhone SDK 中单击按钮时水平滚动 ScrollView的主要内容,如果未能解决你的问题,请参考以下文章
Scrollview 内的 Scrollview 时水平滚动