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 ...”是加载标签,标签应该在 UiImage 中

截图 2

这是带有来自第二个答案的代码的“布局”

4

2 回答 2

3

将您的代码更改为...

。H

IBOutet UIImageView *bgimage;
UILabel *loadingLabel;

.m

bgimage.image = [UIImage imageNamed:@"Wait.png"];
loadingLabel = [[UILabel alloc] init];
loadingLabel.frame = CGRectMake(0, 0, 100, 50);
loadingLabel.text = @"testing";
[bgimage addSubview:loadingLabel];

它会起作用的。

于 2013-08-05T20:01:21.183 回答
2

您不能将子视图添加到 uiimageview,因为 drawRect: 永远不会被调用。来源:““UIImageView 类经过优化,可以将其图像绘制到显示器上。UIImageView 不会调用子类的 drawRect: 方法。如果您的子类需要自定义绘图代码,建议您使用 UIView 作为基类。”来自苹果文档:https ://www.google.de/#bav=on.2,or.r_qf.&fp=90e2434f04e1ee9b&q= uiimageview+class+reference&safe=off

解决方案:按照建议,使用 uiview 来包含 label 和 imageview,然后使用 UIView 的 -bringSubviewtoFront: 将标签带到顶部。您还可以使用 UIViews backgroundimage 来显示您的图像,然后在该视图中将标签作为子类。取决于你所处的情况,我猜。

编辑:你应该阅读这个:我误读了这个问题,看起来你可以向 UIImageView 添加子视图,就像 Zev 在他的评论中指出的那样。现在我猜测 -bringSubviewToFront 对你有用,我的其余答案虽然不是真的有害,但没有必要。对不起。

于 2013-08-05T19:26:22.657 回答