1

次のコードで 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 未満の場合、バッジを表示したくありません。ビューから削除または非表示にするにはどうすればよいですか。

ありがとう

4

2 に答える 2

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:...]です。

お役に立てれば

于 2012-10-08T17:15:25.323 に答える
0

なぜあなたはcustomBadgeAll.hidden = YESそれを隠すために次のコードを使わないのですか?

于 2012-10-08T17:15:50.837 に答える