57

UIImageViewInterface Bulder の助けを借りて作成しました。ここで、その中にラベルを配置したいと思います(サブビューとして)。コードでは、次のように入力でき[myUIImageView addSubview:myUILabel];ます。の解決策は見つかりましたが、UIView同様のものが見つかりませんUIImageView

4

4 に答える 4

115

Apple だけが知っている理由により、インターフェイス ビルダーで UIImageView にサブビューを追加することはできません。addSubview をプログラムで追加できると言っているのは正しいですが、自動サイズ変更マスクとサブビューの配置を設定するオーバーヘッドはすべてコードで処理する必要があり、面倒です。

そこで、簡単な回避策があります。nib で UIImageView のインスタンスをドラッグする代わりに、UIView をドラッグして、そのクラスを UIView から UIImageView に変更します (インスペクターの cmd+4 オプション)。デフォルトの imageView インスタンスと新しい UIImageView サブクラス インスタンスの nib に見られる唯一の違いは、nib から新しい imageView にイメージを設定できないことです (cmd+1 オプション)。したがって、-viewDidLoad適切なviewControllerのメソッドで、画像をUIImageViewのこのアウトレットに設定します。

そうすることで、インターフェイス ビルダーで "now UIImageView" インスタンスにサブビューを自由に追加できます。これは非常に簡単です。

お役に立てれば 。. .

于 2010-06-02T10:20:55.180 に答える
13

答えを付け加えたいと思います。

サブビューを追加することはできませんが、透明(クリアカラー)の背景UIImageViewを組み込むことで同じ効果を得ることができます。UIView

次に、その前に置きUIImageviewます。

したがって、UIViewにはサブビューがあり、はのUIImageview背景ですUIView

それがリンゴの意図だと思います。

これがスクリーンショットです:

ここに画像の説明を入力してください

結果は次のとおりです。

ここに画像の説明を入力してください

背景をクリアカラーに設定することを忘れないでください

ここに画像の説明を入力してください

誰かが実際にこれを行う方法のチュートリアルを私に教えてくれるなら、それは素晴らしいことです。私はそれをチェックされた答えの方法で何時間も費やしました。チェックされた答えは良い答えですが、作業中に背景画像をはっきりと見ることができないため、非常に直感的ではありません。私はそうするための適切な方法だと思います。

于 2012-10-12T02:31:21.750 に答える
-3

最新の XCode(4.5) には、必要なコントロールを親にドラッグ アンド ドロップするオプションがあります。

とても簡単です。同じスクリーンショットを添付します。Label/TextField と Button を UIImageView にドラッグしましたここに画像の説明を入力

于 2012-11-16T06:45:46.130 に答える
-5

次のコードを使用します。

UIImage *image = [UIImage imageNamed:@"background.png"];
UIImageView *imageView = [[UIImageView alloc] initWithImage:image];
[self.view insertSubview:imageView atIndex:0];

( background.png を imageに置き換えます) ( atIndex:0を、イメージを挿入したい .index ルート内の任意の場所とオフに置き換えます。

于 2013-03-03T19:16:20.743 に答える