2012-03-18 4 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 = [tableView dequeueReusableCellWithIdentifier : CellIdentifier]; if (cell == nil) { NSArray * nib = [[NSBundle mainBundle] loadNibNamed : @ "CustomCell"소유자 : 자체 옵션 : 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

시원한! 감사 !!! –

+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

질문을 변경하면 ... –