问题描述
我有一个自定义按钮,该按钮在上角用的自定义图片初始化。 我无法将该图像视图置于最前面;
将徽章初始化为;
- (instancetype)initWithCoder:(NSCoder *)coder{
self = [super initWithCoder: coder];
if (self) {
self.imageEdgeInsets = UIEdgeInsetsMake(0,-14,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,193) forState:UIControlStatenormal];
}
如您在第一张图片中所见,按钮层显示在最前面。 因为在带徽章之前将边框分配给按钮。如何将相关边界发回? 谢谢。
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)