ios - bringSubviewToFront 不适用于自定义按钮的子视图
问题描述
我有一个自定义按钮,该按钮使用顶角的自定义图像进行了初始化。我无法将该图像视图带到前面;
使用徽章初始化为;
- (instancetype)initWithCoder:(NSCoder *)coder{
self = [super initWithCoder: coder];
if (self) {
self.imageEdgeInsets = UIEdgeInsetsMake(0, -14, 0 , 0);
_checkedBagde = [[UIImageView new]initWithImage:[UIImage imageNamed:@"checkedBadge"]];
_checkedBagde.frame = CGRectMake(-10, -5, 24, 15);
[self addSubview:_checkedBagde];
[self bringSubviewToFront: _checkedBagde];
}
return self;
}
在视图控制器上,我使用下面的函数(在 viewWillAppear 中)来设置在按钮类中声明的自定义按钮。
- (id)setButton:(DayButtonStates)buttonType
relatedArray:(NSArray *)relatedArray
isCompleted:(BOOL)isCompleted{
if (self) {
[_checkedBagde setHidden: isCompleted ? NO : YES];
//[self setTitle: relatedArray.title forState: normal];
self.layer.cornerRadius = 4;
self.relatedArray = relatedArray;
switch (buttonType) {
case activeRemoteButton:
[self setActiveRemoteButton:self];
break;
case passiveRemoteButton:
[self setPassiveRemoteButton:self];
break;
case activeOnSiteButton:
[self setActiveOnsiteButton:self];
break;
case passiveOnSiteButton:
[self setPassiveOnsiteButton:self];
break;
}
}
return self;
}
例如,setPassiveOnsiteButton 函数如下:
- (void)setPassiveOnsiteButton {
[self setButtonType:passiveOnSiteButton];
UIImage *passiveOnsiteIcon = [UIImage imageNamed:@"iconBusP"];
self.layer.borderWidth = 1;
[self bringSubviewToFront: self.checkedBagde];
self.layer.borderColor = [RGB(63, 206, 193) CGColor];
self.backgroundColor = RGB(54, 54, 54);
[self setSelected:NO];
[self setImage: passiveOnsiteIcon forState:UIControlStateNormal];
[self setTitleColor: RGB(63, 206, 193) forState:UIControlStateNormal];
}
正如您在第一张图片中看到的,按钮层显示在前面。因为在将徽章放在前面后将边框分配给按钮。我怎样才能将相关的边界寄回?谢谢你。
解决方案
推荐阅读
- php - 创建自定义帖子、wordpress 插件的问题
- stored-procedures - DB2 - 如何调用在另一个用户定义的表函数中返回结果集的存储过程
- mongodb - 如何比较两个不常见的馆藏和档案文件
- process - 调用 exec() 时会复制什么?
- python - Django - 通过多个外键关系检索另一个模型中的字段
- c# - 使用 Xamarin.forms 使用 RESTful API
- c - 从 res 文件夹中获取 xml 数据并使用 libxml2 解析它 - Tizen
- android - RxJava 分别订阅多个 observables 和一起订阅
- c# - 添加到继承的 C# 类 XML 元素
- python - 如何根据共享项目有效地分组对?