一千萬個為什麽

搜索

是否可以接受按鈕標簽在某些範圍iphone sdk

在我的應用程序中,我正在根據其中的文本動態調整單元格大小並在其中進行標註。 我正在為uitableview中的單元格添加按鈕。

我分別在一個新的標簽和按鈕變量中選擇標簽實例和按鈕實例,並設置它們的框架以在調整大小後正確排列它們。

     if(cel==nil)
     {
       //some code
       original_label=[[UILabel alloc]init];
       original_label.tag=111;

       //SOME MORE CODE GOES HERE

       original_button=[[UIButton alloc]init];
       original_button.tag=222;
       //SOME MORE CODE GOES HERE
     }

      new_label=(UILabel *) [cell viewWithTag:111];    //This' how I'm taking the label instance on cell and below button instance on cell in new variables
      new_button = (UIButton * ) [cell viewWithTag:222];

之前我將單元格上所有按鈕的標簽保持相同,因此更容易在單元格上正確獲取按鈕實例並正確排列。但現在我想分別識別這些按鈕,因為我在button_click上添加了一些功能。我給出了添加到單元格增量標簽[1,2,3 ... 9等]的按鈕。現在,我如何在某些範圍內使用這些按鈕標簽,如[假設1-9]?

有人可以幫忙嗎?

提前致謝。

最佳答案

您可以保持按鈕標簽與之前相同。

相反,在button_click方法中,找出按鈕所在的行,如下所示:

- (void)button_click:(UIButton *)button
{
    UITableViewCell *cell = (UITableViewCell *)[[button superview] superview];
    NSIndexPath *indexPath = [tableView indexPathForCell:cell];

    //code to handle this indexPath.section and indexPath.row...
}

這假設您已將按鈕添加到cell.contentView,這是第一個superview獲取的內容。第二個超級視圖獲取單元格。

按鈕的addTarget應如下所示(註意button_click後的冒號):

[original_button addTarget:self action:@selector(button_click:) forControlEvents:UIControlEventTouchUpInside];

轉載註明原文: 是否可以接受按鈕標簽在某些範圍iphone sdk