UIButton 标签没有出现在 UIImageView 上
UIButton label doesn't appear on UIImageView
我使用 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 为真时,我在图片上正确地看到了 "Change picture"。
但是在另一个视图中,什么都没有出现!为什么?
嗯,我发现:在 Interface Builder 中,放置对象的顺序似乎很重要
如果在 UIButton 之前放置一个 UIImageView,效果会很好。
我看到标签了
但是如果你反过来:按钮在图片下面。
并且标签不显示
我仍然不知道这是否是重新排列这些项目的唯一方法?
您可以在界面生成器中执行此操作 - 就像您所做的那样,或者在您的 viewDidLoad 方法中执行此操作:
- (void)viewDidLoad {
[super viewDidLoad];
[self.view bringSubviewToFront:self.button];
}
按照您的方式在 IB 中安排插座意味着下方的对象将位于其他对象之上...当按钮放置在所有其他对象下方时,按钮将 "front"/位于顶部你在屏幕截图中显示。
如果你想以不同的方式布置插座,你也可以使用这些方法:
[self.view insertSubview:self.button aboveSubview:self.imageView];
或者:
[self.view insertSubview:self.imageView belowSubview:self.button];
我使用 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 为真时,我在图片上正确地看到了 "Change picture"。 但是在另一个视图中,什么都没有出现!为什么?
嗯,我发现:在 Interface Builder 中,放置对象的顺序似乎很重要
如果在 UIButton 之前放置一个 UIImageView,效果会很好。
我看到标签了
但是如果你反过来:按钮在图片下面。
并且标签不显示
我仍然不知道这是否是重新排列这些项目的唯一方法?
您可以在界面生成器中执行此操作 - 就像您所做的那样,或者在您的 viewDidLoad 方法中执行此操作:
- (void)viewDidLoad {
[super viewDidLoad];
[self.view bringSubviewToFront:self.button];
}
按照您的方式在 IB 中安排插座意味着下方的对象将位于其他对象之上...当按钮放置在所有其他对象下方时,按钮将 "front"/位于顶部你在屏幕截图中显示。
如果你想以不同的方式布置插座,你也可以使用这些方法:
[self.view insertSubview:self.button aboveSubview:self.imageView];
或者:
[self.view insertSubview:self.imageView belowSubview:self.button];