1

addSubview を使用して画像にラベルを追加しますが、これは機能しません。

ここにコード:

.h
    UIImageView *bgimage;
    IBOutet UILabel *loadingLabel;


.m
    loadingLabel.text =@"......";
    bgimage = [[UIImageView alloc] initWithFrame:CGRectMake(0,0,320,480)];
    bgimage.image = [UIImage imageNamed:@"Wait.png"];
    [self.view addSubview:bgimage];
    [bgimage addSubview:loadingLabel];

スクリーンショット:

スクリーンショット

"Tisch wird reserviert..." は、loadinglabel であり、UiImage にあるラベルです。

スクリーンショット 2

これは、2番目の回答のコードを含む「レイアウト」です

4

2 に答える 2

2

drawRect: は呼び出されないため、サブビューを uiimageview に追加することはできません。ソース: 「「UIImageView クラスは、その画像をディスプレイに描画するように最適化されています。UIImageView は、サブクラスの drawRect: メソッドを呼び出しません。サブクラスにカスタム描画コードが必要な場合は、基本クラスとして UIView を使用することをお勧めします。 uiimageview+class+reference&safe=off

解決策: 提案されているように、UIView を使用してラベルとイメージビューの両方を含め、UIView の -bringSubviewtoFront: を使用してラベルを一番上に移動します。UIViews backgroundimage を使用して画像を表示し、そのビューでサブクラスとしてラベルを使用することもできます。あなたがいる状況に依存します、私は推測します。

編集:これを読む必要があります:私は質問を読み違えました.Zevがコメントで指摘したように、UIImageViewにサブビューを追加できるようです. 今のところ、-bringSubviewToFront があなたのためにトリックを行ったと推測しています。私の答えの残りの部分は、実際には有害ではありませんが、不要でした。申し訳ありません。

于 2013-08-05T19:26:22.657 に答える