如何在 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 时水平滚动

滚动时水平集合视图冻结

word 中水平滚动条与垂直滚动条怎样设置与取消??

带有 VFL 的 NSLayoutConstraint 仅在使用 '|' 时水平工作

iPhone :- 单击按钮时自动向下滚动