2012-10-08 119 views
1

林显示使用CustomBadge使用此代码徽章:删除/隐藏CustomBadge

-(void)viewWillAppear:(BOOL)animated{ 


[self fillBadges]; 

//********** Start Custom Badge ***************// 
NSString *myNewString = [NSString stringWithFormat:@"%i",allBadge]; 

if (allBadge >= 1) { 
    NSLog(@"Add One"); 
    CustomBadge *customBadgeAll = [CustomBadge customBadgeWithString:myNewString]; 
    [customBadgeAll setFrame:CGRectMake(125, 90, customBadgeAll.frame.size.width, customBadgeAll.frame.size.height)]; 
    [self.view addSubview:customBadgeAll];  
} 
//********** End Custom Badge ***************// 


[self.view setNeedsDisplay]; 
[[self navigationController] setNavigationBarHidden:NO animated:NO]; 

}

当allBadge计数小于1,我不想徽章显示。我如何从视图中删除或隐藏它。

感谢

回答

0

为您customBadgeAll一个类范围的变量:

在您的.h

CustomBadge *customBadgeAll; 

那么你就可以轻松去除再次徽章:

if (allBadge >= 1) { 
    NSLog(@"Add One"); 
    CustomBadge *customBadgeAll = [CustomBadge customBadgeWithString:myNewString]; 
    [customBadgeAll setFrame:CGRectMake(125, 90, customBadgeAll.frame.size.width, customBadgeAll.frame.size.height)]; 
    [self.view addSubview:customBadgeAll];  
} 
else{ 
    [customBadgeAll removeFromSuperview]; 
} 

另一种方法是将标记值customBadgeAll设置为特殊的值然后使用[self.view viewWithTag:...]进行检索。

希望这有助于

+0

标签选项效果很好。感谢您的快速回复 – user1309075

+0

我们可以再进一步吗? – user1309075

+0

只需按下该答案左侧显示的复选标记即可。 –

0

你为什么不使用下面的代码customBadgeAll.hidden = YES隐藏呢?