另一个CustomBadge困境

时间:2012-10-08 21:11:47

标签: iphone ios

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

(显然我没有足够的积分参加聊天)

由于

0 个答案:

没有答案