Interface Bulderを使用してUIImageView
を作成しました。次に、そのサブビューとしてラベルをその中に配置します。コードでは次のように入力できます:[myUIImageView addSubview:myUILabel];
しかし、私はIBの助けを借りてそれを行うことができますか? UIView
の解決策を見つけましたが、UIImageView
に似たものが見つかりません。
Appleのみが知っている理由により、インターフェイスビルダーでUIImageViewにサブビューを追加することはできません。 Subviewをプログラムで追加できると言ってもいいですが、自動サイズ変更マスクとサブビューの配置を設定するオーバーヘッドはすべてコードで処理する必要があり、面倒です。
そのため、簡単な回避策があります。ペン先でUIImageViewのインスタンスをドラッグする代わりに、UIViewをドラッグし、そのクラスをUIViewからUIImageViewに変更します(インスペクターのcmd + 4オプション)。デフォルトのimageViewインスタンスと新しいUIImageViewサブクラスインスタンスのnibにある唯一の違いは、nibから新しいimageViewに画像を設定できないことです(cmd + 1オプション)。そのため、-viewDidLoad
適切なviewControllerのメソッド、画像をUIImageViewのこのアウトレットに設定します。
そうすることで、インターフェイスビルダーの「現在のUIImageView」インスタンスにサブビューを自由に追加できます。これは非常に簡単です。
お役に立てれば 。 。 。
答えを追加したいと思います。
UIImageView
にサブビューを追加することはできませんが、UIView
を透明(クリアカラー)背景に組み込むことで同じ効果を得ることができます。
次に、UIImageview
を前に配置します。
したがって、UIView
にはサブビューがあり、UIImageview
はUIView
の背景です。
それがアップルの意図だと思います。
これがスクリーンショットです:
結果は次のとおりです。
背景をクリアカラーとして設定することを忘れないでください
誰かが実際にこれを行う方法をチュートリアルに教えてくれれば、それは素晴らしいことです。私は何時間もそれをチェックされた答えられた方法でしました。チェックされた答えは良い答えですが、作業中に背景画像がはっきりと見えないため、非常に直感的ではありません。私はこれを行う適切な方法だと思います。