1 ページだけであっても常にバウンスさせるにはUIScrollView、次の行を追加します。
[self.scrollView setAlwaysBounceHorizontal:YES];
contentSizeもちろん、の縮小に関する私のコメントに加えて。
編集:
OK、最初に達成したいことを説明しましょう。ユーザーが のページ間を楽しそうにスクロールしているUIScrollViewと、突然、 をUIScrollView現在のページ (最初のページである場合もそうでない場合もあります) に固定する必要があります。
私たちUIScrollViewのページはレイアウトされており、各ページは単一UIViewまたはそのサブクラスで表されます(サブビュー自体を持つ場合があります):

ここで、説明したタスクを実行するためのコードを次に示します。
CGFloat pageWidth = _scrollView.bounds.size.width;
int currentPage = (_scrollView.contentOffset.x / pageWidth);
[_scrollView setContentSize:CGSizeMake(pageWidth, _scrollView.contentSize.height)];
// move each page to the left:
for (UIView* page in _scrollView.subviews) {
[page setFrame:CGRectOffset(page.frame, -currentPage * pageWidth, 0)];
}
注:複雑なビュー階層がある場合は、すべてのページとUIView同じ境界サイズを持つでラップするだけです。残りは読者の演習として残します(私はいつもxDと言いたかったです)_scrollView.contentSize