1

我不知道如何更新我以前的帖子/问题,所以我开始了另一个。(我在这里没有问很多问题。对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 将消失。我希望这是有道理的。如何一起从视图中删除所有徽章?抱歉这么浓。我希望这个问题不会太模糊。我只是不确定该怎么做。

(显然我没有足够的积分进入聊天)

谢谢

4

0 回答 0