私はドロップダウン "モード"について何か疑問に思っていますか?これには、「スケールする」、「アスペクトに合わせる」などが含まれます。私は今までそれを変更する必要はありませんでしたが、それでも私はそれが何のために使用できるのか不思議です。誰かが説明できますか?Interface Builderで "Scale to fill"、 "Aspect fit"などを提供する "Mode"プロパティとは何ですか?
答えて
View Programming Guideは、あなたが尋ねていることの詳細に入ります。 「コンテンツモード」というセクションまでスクロールすると、探しているものが見つかります。
は、基本的にアップルによると:は「各ビューは、ビューは、ビューのジオメトリの変化に応答して、その内容をリサイクルする方法を制御コンテンツのモードがあります[...] contentModeプロパティの値が決定しますビットマップを新しい境界に合わせてスケーリングするか、単にビューの1つの角または端に固定するかを指定します。
http://vocaro.com/trevor/blog/2009/10/12/resize-a-uiimage-the-right-way/
非常によくあなたの基本的なアイデアを与える必要があります。
ビューのcontent mode propertyは、その内容がどのようにレイアウトされるべきかを示します。 Interface Builderでは、Attributes Inspectorでさまざまなモードを選択できます。
のは、様々なモードがどのように機能するかを見るために2つの画像ビューを使用してみましょう。
画像の高さと幅はUIImageView
のサイズに一致するように延伸された充填するスケール。
アスペクト画像の最も長い側が(高さまたは幅のいずれか)のビューに一致するように延伸さ
を取り付けます。これにより、イメージ全体を表示しながら高さや幅を歪ませずに、イメージをできるだけ大きくします。 (そのサイズが明確になるように、私は青にUIImageView
背景を設定する。)
態様は、画像をビューに一致するように延伸されるの
最短側(高さまたは幅のいずれか)を充填します。 「アスペクトフィット」と同様に、画像の比率は元のアスペクト比から歪まない。
再描画
再描画は独自のスケーリングとサイズ変更を行う必要があるカスタムビューのためだけです。私たちはカスタムビューを使用していないので、Redrawを使用しないでください。ここではUIImageView
はScale to Fillと同じ結果を示していますが、背後ではもっと多くの作業を行っています。
コンテンツモードは、ビューの内容を再利用するための良いですが、あなたが特にカスタムビューを再描画したいときにも
、 documentation氏は述べていますスケーリングおよびサイズ変更操作中に発生します。ビューのコンテンツモードをこの値に設定すると、ジオメトリの変更に応じてビューのUIViewContentModeRedraw
値にコンテンツモードを設定することができます。再描画についてdrawRect:
メソッドが強制的に呼び出されます。可能であれば、この値を使用しないでください。標準のシステムビューでは使用しないでください。
センター
画像がビューの中心にされているが、画像の長さと幅は、延伸されていません。
トップ
画像の上端は、図の上部に水平に中央に配置され、画像の長さと幅は、延伸されていません。
ボトム
画像の下端は、図の下部に水平にセンタリングされ、画像の長さと幅は、延伸されていません。
左
画像の左端は、図の左側に垂直にセンタリングされ、画像の長さと幅は、延伸されていません。
右
画像の右端は、図の右側に垂直にセンタリングされ、画像の長さと幅は、延伸されていません。
左上
画像の左上隅は、図の左上隅に配置されます。画像の長さと幅は伸ばされません。
右上
画像の右上には、ビューの右上に配置されます。画像の長さと幅は伸ばされません。
左下
画像の左下隅は、図の左下隅に配置されています。画像の長さと幅は伸ばされません。
右下
画像の右下隅には、ビューの右下に配置されます。画像の長さと幅は伸ばされません。
ノート
(我々の場合、画像内)内容は、ビューと同じサイズである場合には(私たちの場合は
UIImageView
)、その後、コンテンツのモードを変更しても顕著な違いをしないでしょう。、コンテンツモードを設定するように設定するには、プログラムで使用すると、次のようにします。
imageView.contentMode = UIViewContentMode.ScaleToFill imageView.contentMode = UIViewContentMode.ScaleAspectFit imageView.contentMode = UIViewContentMode.ScaleAspectFill imageView.contentMode = UIViewContentMode.Redraw imageView.contentMode = UIViewContentMode.Center imageView.contentMode = UIViewContentMode.Top imageView.contentMode = UIViewContentMode.Bottom imageView.contentMode = UIViewContentMode.Left imageView.contentMode = UIViewContentMode.Right imageView.contentMode = UIViewContentMode.TopLeft imageView.contentMode = UIViewContentMode.TopRight imageView.contentMode = UIViewContentMode.BottomLeft imageView.contentMode = UIViewContentMode.BottomRight
詳細な説明。私がここに見ているすべての例は 'UIImageView'についてですが、AppleはUIViewにそのプロパティを公開しています。それが混乱の原因です。 – Krumelur
@Krumelur、私は私の答えを終え、あなたの質問とコメントを読んでいた後、私は[同じ質問](http://stackoverflow.com/questions/32152138/setting-content-mode-for-something-besides- uiimageview-in-ios)である。いくつかの良い説明[ここ](http://stackoverflow.com/questions/12827710/what-type-of-contents-uiviewcontentmode-mode-refers-to)があります。 – Suragch
すばらしい説明。すべての視覚的な例を見ることはとても役に立ちます。 – Stonetip
- 1. AutoLayout:UIImageViewとAspect Fitコンテンツモード
- 2. UIImageView aspect fit and center
- 3. Interface Builderのサイズインスペクタでフレームとレイアウトの違いは何ですか?
- 4. は、Interface Builderで
- 5. 静的なプロパティのみを提供するクラスの名前は何ですか?
- 6. Interface Builderオブジェクトのプロパティはいつ設定できますか?
- 7. Interface Builderのこのテキストスタイルは何ですか?
- 8. XcodeのInterface Builderでは、コンセントとプロパティは同じではなく、アクションはイベントハンドラと同じですか?
- 9. ARCとInterface Builder
- 10. 「Third Generation Scale」とは何ですか?
- 11. Interface Builderでのバインド
- 12. eCpmとは何ですか?fill rate rpm
- 13. ノードエクスプレスでスタティックファイルを提供するときの正しいスクリプトパスは何ですか?
- 14. ABI(Application Binary Interface)とは何ですか?
- 15. Interface Builderでこれらの小さな色のキューブとは何かIDインスペクタ
- 16. Interface BuilderとPhotoshopで同じRGB値が異なるのはなぜですか?
- 17. アプリケーションサーバーが提供するjarファイルとは何ですか?
- 18. Interface Builderが開かない
- 19. コードとInterface Builder Iphone
- 20. Spring SecurityでAuthenticationTokenを提供するコンポーネントは何ですか?
- 21. Interface BuilderでUIViewを構築する
- 22. Interface Builderで画像を追加する
- 23. Interface Builderでサブビューをナビゲートする方法
- 24. ツールバーをInterface Builderでオフにする
- 25. Interface Builderで定数を使用する
- 26. Interface Builderの(MVCの)モデルですか?
- 27. Interface Builderを使用してUIBarButtonItemsをUIViewController.toolbarItemsプロパティに追加するにはどうすればよいですか?
- 28. sbtビルドファイルで "提供された>デフォルト"とは何ですか?
- 29. 他のプロパティからの変更をInterface Builderのプロパティに反映する方法
- 30. ModeShapeはJackRabbitが提供しないものは何ですか?
をだから、唯一のUIImageViewsに適用されますか?それがすべてのUIViewで利用できるのはなぜですか? – Krumelur
実際にはUIViewから派生しています。公式文書をチェックしてください。 http://developer.apple.com/library/ios/#documentation/uikit/reference/UIView_Class/UIView/UIView.html#//apple_ref/occ/instp/UIView/contentMode – Bourne
ええ、私はそれをすべて読んで、私は知っていますそれはUIViewから派生しているが、私はモードを変更するときに何の影響も見たことがない。したがって、私の質問:私はすべてUIImageViewを扱っていないときに効果を見ますか? – Krumelur