我使用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为真时,正确地在我的照片上。 但在另一种观点中,没有出现!!为什么?
答案 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,它运行良好。
我看到了标签
但是,如果您执行相反操作:按钮位于图像下方。
标签未显示
我仍然不知道这是否是重新安排这些项目的唯一方法?