我不知道如何更新我以前的帖子/问题,所以我开始了另一个。 (我这里没有问过很多问题。对于stackoverflow来说还是很新的)
我现在有三个徽章,需要彼此控制(或独立)。
-(void)viewWillAppear:(BOOL)animated{
[self fillBadges];
//********** Start Custom Badge All ***************//
NSString *myNewString = [NSString stringWithFormat:@"%i",allBadge];
if (allBadge >= 1) {
CustomBadge *customBadgeAll = [CustomBadge customBadgeWithString:myNewString];
customBadgeAll.tag = 100;
[customBadgeAll setFrame:CGRectMake(125, 90, customBadgeAll.frame.size.width, customBadgeAll.frame.size.height)];
[self.view addSubview:customBadgeAll];
}else{
[[self.view viewWithTag:100] removeFromSuperview];
}
//********** Start Custom Badge 1 ***************//
NSString *myNewString1 = [NSString stringWithFormat:@"%i",badge1];
if (badge1 >= 1) {
CustomBadge *customBadge1 = [CustomBadge customBadgeWithString:myNewString1];
customBadge1.tag = 200;
[customBadge1 setFrame:CGRectMake(125, 165, customBadge1.frame.size.width, customBadge1.frame.size.height)];
[self.view addSubview:customBadge1];
}else{
[[self.view viewWithTag:200] removeFromSuperview];
}
//********** Start Custom Badge 2 ***************//
NSString *myNewString2 = [NSString stringWithFormat:@"%i",badge2];
if (badge2 >= 1) {
CustomBadge *customBadge2 = [CustomBadge customBadgeWithString:myNewString2];
customBadge2.tag = 300;
[customBadge2 setFrame:CGRectMake(125, 232, customBadge2.frame.size.width, customBadge2.frame.size.height)];
[self.view addSubview:customBadge2];
}else{
[[self.view viewWithTag:300] removeFromSuperview];
}
//********** End Custom Badge ***************//
[self.view setNeedsDisplay];
[[self navigationController] setNavigationBarHidden:NO animated:NO];
}
if else语句正在运行。但是,removeFromSuperview(虽然它可以工作)只是按照它们设置的方式以相反的顺序逐个删除徽章,并且只有当我离开视图并返回它时。在这种情况下3次。例如:打开3个徽章。在viewBadgeSet中,badge2设置为> 1,然后badge1设置为> 1,最后badge3设置为> 1(没有特定顺序)。我查看viewMainButtons中的视图,现在有三个徽章。现在如果在viewBadgeReset中所有徽章都设置为0,那么我回到viewMainButtons,badge3将会消失。然后我必须转到另一个视图,然后回到viewMainButtons,badge1将消失,再次离开视图并返回viewMainButtons,最后badge3将消失。我希望这是有道理的。如何从视图中一起删除所有徽章?很抱歉这么密集。我希望这个问题不要太模糊。我只是不确定该怎么做。
(显然我没有足够的积分参加聊天)
由于