UIButton标签未出现在UIImageView上

时间:2015-04-02 15:18:53

标签: objective-c uiimageview uibutton interface-builder

我使用Interface Builder来定位UIButton和UIImageView叠加。 在代码中,如果图像存在,我会更改按钮标签

在Example.h中

@property (strong, nonatomic) IBOutlet UIButton *takePicture;
@property (strong, nonatomic) IBOutlet UIImageView *image;

在Example.m中

[self.image setImage:aPhoto];
(...)
NSString    *pictureButtonTitle     = myCondition@"Changer la photo":@"Ajouter une photo";
(...)
[self.takePicture   setTitle:pictureButtonTitle forState:UIControlStateNormal];

我将此代码用于视图,我看到"更改图片"当myCondition为真时,正确地在我的照片上。 但在另一种观点中,没有出现!!为什么?

2 个答案:

答案 0 :(得分:1)

您可以在界面构建器中执行此操作 - 就像您一样,或者在viewDidLoad方法中执行此操作:

- (void)viewDidLoad {
    [super viewDidLoad];
  [self.view bringSubviewToFront:self.button];
}

在IB中安排出口意味着下部物体将位于其他物体的顶部...当按钮位于所有其他物体下方时,按钮将位于“前面”/顶部屏幕截图。

如果您希望以不同的方式安排出口,您也可以使用这些方法:

[self.view insertSubview:self.button aboveSubview:self.imageView];

或者:

[self.view insertSubview:self.imageView belowSubview:self.button];

答案 1 :(得分:0)

好吧,我发现:在Interface Builder中,您放置对象的顺序似乎很重要

如果你在UIButton之前放置一个UIImageView,它运行良好。

enter image description here

我看到了标签

enter image description here

但是,如果您执行相反操作:按钮位于图像下方。

enter image description here

标签未显示

enter image description here

我仍然不知道这是否是重新安排这些项目的唯一方法?