UIScrollViewのコンテンツの可視レクトの取得
2023-11-20 10:47:42
質問
表示されているビューのコンテンツのうち、実際に画面に表示されている矩形(CGRect)を調べるにはどうしたらよいでしょうか。
myScrollView.bounds
上のコードはズームがないときは動作しますが、ズームを許可するとすぐに、1以外のズームスケールでは壊れてしまいます。
明確にするために、私はスクロールビューのコンテンツの可視領域を含むCGRectを、コンテンツに対して相対的に欲しいのです。(たとえば、ズーム スケール 2 の場合、rect のサイズはスクロール ビューのサイズの半分になり、ズーム スケール 0.5 の場合、それは 2 倍になります)。
どのように解決するのですか?
私自身の質問に答えること、ほとんどはJim Doveyの回答に感謝します。
CGRect visibleRect;
visibleRect.origin = scrollView.contentOffset;
visibleRect.size = scrollView.bounds.size;
float theScale = 1.0 / scale;
visibleRect.origin.x *= theScale;
visibleRect.origin.y *= theScale;
visibleRect.size.width *= theScale;
visibleRect.size.height *= theScale;
主な違いは、visibleRect のサイズが
scrollView.bounds.size
よりも、むしろ
scrollView.contentSize
ではなく、コンテンツ ビューのサイズである isless()
の用途がよくわからなかったので、それが大きくなるたびにコードが壊れてしまいます。
関連
-
[解決済み] アトミック属性と非アトミック属性の違いは何ですか?
-
[解決済み] キーボードがあるときに、UITextFieldを編集開始時に上に移動させるには?
-
[解決済み] error: Writeable atomic property cannot pair with synthesized setter/getter and the user defined setter/getter.
-
[解決済み] 別のUIViewの下にあるUIViewとのインタラクションを許可する
-
[解決済み] NSDictionaryにboolean値を追加するにはどうすればよいですか?
-
[解決済み] NSNumberのインクリメント方法
-
[解決済み] Objective-CでQueueを作成し、使用するにはどうすればよいですか?
-
[解決済み] 数字の後に "f "をつける
-
[解決済み] Swiftの変数はアトミックか?
-
[解決済み] writeToFile:atomically:はデータを上書きするのか?
最新
-
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 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み] ARCで__autoreleasing ownership修飾子を記述する必要があるのは、どのような場合ですか?
-
[解決済み] カレントスレッドがメインスレッドであるかどうかをチェックする
-
[解決済み] Swiftでクラスをプロトコルに準拠させるには?
-
[解決済み] objective-cでNSURLの一部を取得する
-
[解決済み] ブロックベースのAPIメソッドでnonnullとnullableのObjective-Cキーワードを使用する方法
-
[解決済み] retainCountはいつ使うのか?
-
[解決済み] UIButtonsの背景色を変更することはできますか?
-
[解決済み] Xcode リンカエラー: file too small for architecture x86_64
-
[解決済み] NSIntegerをint型に変換するには?
-
[解決済み] Xcodeバージョン(CFBundleShortVersionString)とビルド(CFBundleVersion)の違いについて