[解決済み] Cocoa:フレームとバウンドはどう違うの?
2022-02-19 20:43:59
質問内容
UIView
とそのサブクラスはすべて、プロパティ
frame
と
bounds
. 何が違うの?
どのように解決するのですか?
その 境界 の UIView は 長方形 は、自身の座標系(0,0)を基準とした位置(x,y)と大きさ(width,height)で表現されます。
は フレーム の UIView は 長方形 は、それが含まれるスーパービューからの相対的な位置 (x,y) とサイズ (width,height) として表現されます。
そこで、100x100 (幅x高さ) のサイズで、そのスーパービューの 25,25 (x,y) に配置されるビューを想像してください。 次のコードは、このビューの境界とフレームを出力します。
// This method is in the view controller of the superview
- (void)viewDidLoad {
[super viewDidLoad];
NSLog(@"bounds.origin.x: %f", label.bounds.origin.x);
NSLog(@"bounds.origin.y: %f", label.bounds.origin.y);
NSLog(@"bounds.size.width: %f", label.bounds.size.width);
NSLog(@"bounds.size.height: %f", label.bounds.size.height);
NSLog(@"frame.origin.x: %f", label.frame.origin.x);
NSLog(@"frame.origin.y: %f", label.frame.origin.y);
NSLog(@"frame.size.width: %f", label.frame.size.width);
NSLog(@"frame.size.height: %f", label.frame.size.height);
}
そして、このコードの出力は
bounds.origin.x: 0
bounds.origin.y: 0
bounds.size.width: 100
bounds.size.height: 100
frame.origin.x: 25
frame.origin.y: 25
frame.size.width: 100
frame.size.height: 100
つまり、どちらの場合も、バウンドとフレームのどちらを見ていても、ビューの幅と高さは同じであることがわかります。 異なるのは、ビューの x,y 位置です。 境界の場合、xとyの座標は0,0になり、これらの座標はビュー自体に対する相対的なものです。 しかし、フレームのx,y座標は、親ビュー内のビューの位置(先ほど25,25と言いました)に対する相対的なものです。
また 大演出 は、UIViewsをカバーしています。 フレームとバウンドの違いを説明するだけでなく、視覚的な例も示しているので、スライド1〜20を参照してください。
関連
-
[解決済み] Cocoa:フレームとバウンドはどう違うの?
-
[解決済み] iOSまたはmacOSで、インターネット接続が有効かどうかを確認するにはどうすればよいですか?
-
[解決済み] Cocoa Autolayout: コンテンツの抱擁 vs コンテンツの圧縮抵抗の優先順位
-
[解決済み] IBOutletsはARCのもとで強くなるべきか、弱くなるべきか?
-
[解決済み] メソッド名と行番号を出力し、NSLogを条件付きで無効にする方法は?
-
[解決済み] UIViewの角丸とドロップシャドウ?
-
[解決済み] objectForKeyとvalueForKeyの違い?
-
[解決済み] UIViewのフレーム、バウンズ、センター、オリジン、いつ何を使うか?
-
[解決済み] CGFloatとfloatを使うことの違いは何ですか?
-
[解決済み】UIViewのフレーム、バウンド、センター
最新
-
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 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み] Swift のプロトコル: メソッドがスーパークラスのメソッドをオーバーライドしない。
-
[解決済み] Cocoa:フレームとバウンドはどう違うの?
-
[解決済み】Core Data vs SQLite 3 [終了しました。]
-
[解決済み】実行時に「Interface Builderファイル内の不明なクラス<MyClass>」というエラーが発生する。
-
[解決済み] UIViewのフレーム、バウンズ、センター、オリジン、いつ何を使うか?
-
[解決済み] iOS8では、[UIScreen mainScreen].bounds.size は方向依存になるのでしょうか?
-
[解決済み] NSUserDefaultsにNSDateを格納する最適な方法は何ですか?
-
[解決済み] CFStringRefをNSStringに変換する方法は?
-
[解決済み】UIViewのフレーム、バウンド、センター
-
[解決済み] NSTextFieldにテキストを設定する方法を教えてください。