-5

のカットストムセルにボタンを表示していますUITableview。不要なときにそのボタンを非表示にするにはどうすればよいですか。例: 私は受信した画像をボタンにカウントして表示しています。カウントがゼロになる場合は、そのボタンをセルから非表示にする必要があります。

contactviewController.m
if (![[arr objectAtIndex:4] isEqualToString:@"0"]) {
            [cell1 setImg:[arr objectAtIndex:4]];
        }
Customcell.m

-(void)setImg:(NSString *)_text
{

        imgView.titleLabel.textColor = [UIColor whiteColor];
        [imgView setTitle:_text forState:UIControlStateNormal];
    }
4

4 に答える 4

0
 - (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath 
 {
      if(noImagesFound)
      {
           yourCustomCellObject.buttonObject.hidden = YES;
      }
      else
      {
           yourCustomCellObject.buttonObject.hidden = NO;
      }
 }
于 2013-02-04T06:31:50.950 に答える
0

メソッドでこれを行うことができますcellForRowAtIndex。行を作成するたびに、このメソッドが呼び出されます。

- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
{
    if(condition)
    {
        //show button
    }
    else
    {
        // don't show button
    }
}
于 2013-02-04T06:30:48.723 に答える
0

フレームを設定してボタンをセルに追加することにより、xibをIBOutletsとして、またはプログラムでセルにボタンを追加できます。上記の解決策は、ボタンをどのように追加したかによって異なります。xib 経由でアウトレットとして追加した場合は、次のいずれかを実行できます。

タグと呼ばれるビューにはプロパティがあります。-cellForRowAtIndexPath:ボタンの属性インスペクターと呼び出し でタグ値を次のように設定できます。

UIButton *button  =(UIButton*) [cell viewWithTag:9];

// your tag value (say 9)

そして [button setHidden:YES]を非表示にする //NO to unhideここではカスタムクラスは必要ありません

  1. 同じのカスタムクラスを作成した場合、プログラムまたはxibを介して2つの方法でボタンを追加できます。xib の場合は、IBOutlet を作成し、それをカスタム セルのプロパティにして、カスタム セル オブジェクトを使用してアクセスできるようにします。

作成したセルをより詳細に制御する必要がある場合は、2 番目のオプションを選択することをお勧めします。プロパティにした場合は、セルのオブジェクトを使用してアクセスできます。

于 2013-02-04T06:47:08.860 に答える
-2
  1. UITableViewCell.hおよび.mファイルを作成します。

  2. ファイルにUILabelやUIImageViewオブジェクトなどの変数を作成し、それをIBOutletにして、セルの.xibファイルにバインドします。

  3. UITableView実装内、および「cellForRowAtIndexPath」では、そのカスタムUITableViewCellクラスオブジェクトを使用し、UILableおよびUIImageViewの合成変数を使用して、それに応じて表示または非表示にすることができます。

于 2013-02-04T06:32:25.060 に答える