2012-03-18 7 views
2

私のアプリではカスタムUITableViewCellがあり、カスタムセルにはUIStepperUILabelがあります。どのステッパーがクリックされたかを確認する方法はわかりません。どのセルステッパーがクリックされたかを知る方法はありますか?uitableviewcellのUIStepper

- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath 
{ 
    UITableViewCell *cell; 
    NSString *CellIdentifier = @"Cell"; 
    cell = [tableView dequeueReusableCellWithIdentifier:CellIdentifier]; 
    if (cell == nil) { 
     NSArray *nib = [[NSBundle mainBundle] loadNibNamed:@"CustomCell" owner:self options:nil]; 
     if ([nib count] > 0) { 
      cell = self.tbcell; 
     } 
    } 
    return cell; 
} 
+0

UITableViewCell * cell; NSString * CellIdentifier = @ "Cell"; cell = [tableView dequeueReusableCellWithIdentifier:CellIdentifier]; if(cell == nil){ NSArray * nib = [[NSバンドルメインバンドル] loadNibNamed:@ "CustomCell" owner:self options:nil]; if([nib count]> 0){ cell = self.tbcell; } } return cell; –

答えて

7

選択肢がある:

UIStepper値の変化(例えば@max_、上記の)トリガーされます方法では、次の操作を実行できます。

- (IBAction)stepperValueDidChanged:(UIStepper *)sender { 
    UITableViewCell *cell = (UITableViewCell *)[[sender superview] superview]; 
    // assuming your view controller is a subclass of UITableViewController, for example. 
    NSIndexPath *indexPath = [self.tableView indexPathForCell:cell]; 
} 
+0

cool!ありがとう! –

+0

+1は、セクション化されたテーブルでも機能するため、行インデックスにタグを設定するよりもはるかに優れています。ビューに保存された状態に依存しません –

+0

これはIOS 7では動作しないことを理解します。誰もIOS 7ソリューションを提案できますか? –

0
[step addTarget:self action:@selector(someAction:) forControlEvents:UIControlEventValueChanged]; 

- (void) someAction:(UIStepper *) stepper { 
    NSLog(@"stepper clicked"); 
} 
+0

ありがとうございました –

+0

質問を変更したことをお知りになりました... –