私はUIView
iPhoneのSpringboardのようなものを持っています。UIScrollView
とを使用して作成しましたUIButtons
。上記のスクロールビューで水平スクロールを無効にしたい。縦スクロールだけしたい。どうすればこれを達成できますか?
質問する
117547 次
15 に答える
126
contentSize
のプロパティを設定する必要がありUIScrollView
ます。たとえばUIScrollView
、幅が 320 ピクセル (画面の幅) の場合、次のようにすることができます。
CGSize scrollableSize = CGSizeMake(320, myScrollableHeight);
[myScrollView setContentSize:scrollableSize];
はUIScrollView
、すでにすべてを水平方向に表示できるため、垂直方向にのみスクロールします。
于 2009-06-30T16:31:27.040 に答える
11
iOS7以降
self.automaticallyAdjustsScrollViewInsets = NO;
//そして、3 ページのページ スクローラーを作成します
self.pageView = [[UIScrollView alloc] initWithFrame:CGRectMake(0, 0, self.view.frame.size.width, self.view.frame.size.height)];
[self.pageView setContentSize:CGSizeMake(self.view.frame.size.width*3, self.view.frame.size.height)];
[self.pageView setShowsVerticalScrollIndicator:NO];
[self.pageView setPagingEnabled:YES];
[self.view addSubview:self.pageView];
于 2014-01-22T10:45:30.590 に答える
9
私の場合、Swift 4.2 では以下を使用できます。
垂直スクロールを無効にします。
func scrollViewDidScroll(_ scrollView: UIScrollView) {
scrollView.contentOffset.y = 0.0
}
水平スクロールを無効にします。
func scrollViewDidScroll(_ scrollView: UIScrollView) {
scrollView.contentOffset.x = 0.0
}
于 2019-06-18T14:24:34.153 に答える
0
このスレッドや他のスレッドでさまざまな提案を試してみましたが、しばらくの間これに苦労しました。
ただし、別のスレッド (場所がわからない) で、誰かが UIScrollView で負の制約を使用するとうまくいくと提案しました。
そのため、一貫性のない結果でさまざまな制約の組み合わせを試しました。最終的に私にとってうまくいったのは、スクロールビューに -32 の先頭と末尾の制約を追加し、幅が 320 (および中央) の (非表示の) テキストビューを追加することでした。
于 2015-06-18T15:26:36.747 に答える
-1
UIScrollView を 1 つのセルのみを持つ UITableView に置き換えると、正常に機能しました。
于 2015-05-20T11:31:47.087 に答える