当前位置:编程学习 > wap >>

如何在tableView的数据源和代理事件之外获取当前点击的是哪一行

[cpp] view plaincopy
<pre name="code" class="cpp"> NSIndexPath *indexPathOfOwnerCell = nil; 
  /* Also, make sure the selected text field is visible on the screen */ 
//获取每个section里共有多少个cell 
  NSInteger numberOfCells = [self.myTableView.dataSource  
                             tableView:self.myTableView 
                             numberOfRowsInSection:0]; 
    NSLog(@"numberOfCells=%d",numberOfCells); 
  /* So let's go through all the cells and find their accessory text fields.
   Once we have the refernece to those text fields, we can see which one of
   them is the first responder (has the keyboard) and we will make a call
   to the table view to make sure after the keyboard is displayed,
   that specific cell is NOT obstructed by the keyboard */ 
  for (NSInteger counter = 0; 
       counter < numberOfCells; 
       counter++){ 
    NSIndexPath *indexPath = [NSIndexPath indexPathForRow:counter 
                                                inSection:0]; 
    UITableViewCell *cell = [self.myTableView cellForRowAtIndexPath:indexPath]; 
    UITextField *textField = (UITextField *)cell.accessoryView; 
    if ([textField isKindOfClass:[UITextField class]] == NO){ 
      continue; 
    } 
    if ([textField isFirstResponder]){ 
      indexPathOfOwnerCell = indexPath; 
        NSLog(@"indexPath.section=%d",indexPath.section); 
        NSLog(@"indexPath.row=%d",indexPath.row); 
      break; 
    } 
  } 
   
  [UIView commitAnimations]; 
   
  if (indexPathOfOwnerCell != nil){ 
    [self.myTableView scrollToRowAtIndexPath:indexPathOfOwnerCell 
                            atScrollPosition:UITableViewScrollPositionMiddle 
                                    animated:YES]; 
  } 
</pre><br> 
<pre></pre> 
<br> 
补充:移动开发 , IOS ,
CopyRight © 2022 站长资源库 编程知识问答 zzzyk.com All Rights Reserved
部分文章来自网络,