0

UILabel に背景として画像を追加しようとしていますが、背景画像を背面に送信しようとしても、UILabel のタイトルが表示されません。私のコードは以下にあり、これを支援する方法についてのアドバイスは素晴らしいでしょう、ありがとう!

UIImageView *labelBackground = [[UIImageView alloc] initWithImage:[UIImage imageNamed:@"image.png"]];
[myLabel addSubview:labelBackground];
[myLabel sendSubviewToBack:labelBackground];
myLabel.backgroundColor = [UIColor clearColor];
[myLabel setText:title];
4

2 に答える 2

1

その逆ではなく、UIImageView のサブビューとして UILabel を追加してみてください。

これにより、UIImageView がラベルの「コンテナー」になり、ラベルが UIImageView の上に配置されます。

于 2013-05-13T18:34:44.627 に答える
1

ビュー (画像ビュー) をサブビューとして別のビュー (ラベル) に追加すると、サブビューは常にそのスーパービューの前になります。彼らは兄弟である必要があります:

[myContainer addSubview:labelBackground];
[myContainer addSubview:myLabel];

またはさらに良いことに、ラベルは画像ビューのサブビューにする必要があります。

[labelBackground addSubview:myLabel];
[myContainer addSubView:labelBackground];

別の解決策として、画像をラベルの背景色として使用することもできます。

[myLabel setBackgroundColor:[UIColor colorWithPatternImage:myUIImage]];

ただし、画像は中央に配置されたり引き伸ばされたりするのではなく、繰り返されることに注意してください。

于 2013-05-13T18:35:05.073 に答える