[解決済み] UIScrollViewのスクロールをプログラムで強制終了するには?
2023-05-07 12:44:46
質問
注 で指定された回答 は私には機能しません。
私はUIScrollView(テーブルビューではなく、単なるカスタムもの)を持っており、ユーザーが特定のアクションを取るとき、私はビュー内の任意のスクロール(ドラッグまたは減速)を殺したいと思っています。私は、例えば、これを行うことを試みました。
[scrollView scrollRectToVisible:CGRectInset([scrollView bounds], 10, 10) animated:NO];
は、すでに可視であることが知られている矩形が与えられると、スクロールはちょうどその位置で停止するという理論に基づいていますが、これは何の効果もないことが判明しました。I は である矩形を指定すると、スクロールが停止します。 の外側 の外側にあり、ビューのcontentSizeの内側にある矩形を与えると、スクロールが停止します。これは、期待どおりにビューを停止するようですが...また、他の場所にジャンプする原因となります。私はおそらく、余白で少し遊んで、これが合理的に問題なく動作するようにすることができますが、誰か、動作中のスクロールビューを停止させるきれいな方法を知っていますか?
ありがとうございます。
どのように解決するのですか?
あなたの元のソリューションで少し遊んでみましたが、これはうまくいくようです。ほとんどできていたと思いますが、使用した rect をオフセットしすぎていて、元の rect に戻るように rect をまっすぐスクロールできることを忘れていたのだと思います。
あらゆるスクロール操作に対する一般化された解決策はこれです。
- (void)killScroll
{
CGPoint offset = scrollView.contentOffset;
offset.x -= 1.0;
offset.y -= 1.0;
[scrollView setContentOffset:offset animated:NO];
offset.x += 1.0;
offset.y += 1.0;
[scrollView setContentOffset:offset animated:NO];
}
[編集] iOS 4.3 (およびそれ以前) では、これも動作するようです。
- (void)killScroll
{
CGPoint offset = scrollView.contentOffset;
[scrollView setContentOffset:offset animated:NO];
}
関連
-
[解決済み] キーボードがあるときに、UITextFieldを編集開始時に上に移動させるには?
-
[解決済み] Autolayout を使用して UIScrollview に制約を設定するにはどうすればよいですか?
-
[解決済み] TabBarのタブビューにプログラムで切り替える?
-
[解決済み] NSDictionaryをNSDataに、またはNSDataをNSDictionaryに変換するにはどうすればよいですか?
-
[解決済み] iPhoneでMonoTouchは禁止になったのか?[クローズド]
-
[解決済み] CALayer setNeedsDisplayInRect:] の暗黙のアニメーションを無効にする。
-
[解決済み] UIImageViewのコーナー半径の設定がうまくいかない
-
[解決済み] Objective-Cのプロトコルでプロパティを含むものはどう扱えばいいのか?
-
[解決済み] AppDelegate.mで画面上に現在表示されているUIViewControllerを取得する。
-
[解決済み] カメラロールに画像を保存する方法を教えてください。
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み] アプリのプッシュ通知設定をリセットする
-
[解決済み] レビュー待ちの状態でバイナリを拒否する(バイナリ拒否ボタンが見つからない)
-
[解決済み] iPhone/iPadのディスクの空き容量を確認する方法を教えてください。
-
[解決済み] UISearchDisplayController/UISearchBarでNSFetchedResultsController(CoreData)をフィルタリングする方法
-
[解決済み] UIImageのアスペクト比と幅を維持したリサイズ
-
[解決済み] CALayer setNeedsDisplayInRect:] の暗黙のアニメーションを無効にする。
-
[解決済み] 円形のカスタムUIViewの描き方 - iPhoneアプリ
-
[解決済み] カメラロールに画像を保存する方法を教えてください。
-
[解決済み] UILabelがラベルサイズに合うようにテキストを自動縮小しない
-
[解決済み] UITableViewのセクションヘッダーのデフォルトの高さ