的UITableViewCell文本推的viewController

问题描述:

- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath 
{ 
    static NSString *CellIdentifier = @"Cell"; 
    LocationsScreenTableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:CellIdentifier]; 
    if (cell == nil) { 
     NSArray* views = [[NSBundle mainBundle] loadNibNamed:@"LocationsScreenTableViewCell" owner:nil options:nil]; 
     for (UIView *view in views) { 
      if([view isKindOfClass:[UITableViewCell class]]) 
      { 
       cell = (LocationsScreenTableViewCell*)view; 
      } 
     } 
    } 
CGRect rectlblTitle = CGRectMake(88, 5, 130, 21); 
    UILabel * lblTitle = [[UILabel alloc]initWithFrame:rectlblTitle]; 
    lblTitle.backgroundColor = [UIColor colorWithRed:0.0 green:0.0 blue:0.0 alpha:0.0]; 
    lblTitle.textAlignment = UITextAlignmentLeft; 
    lblTitle.textColor = [UIColor whiteColor]; 
    lblTitle.text = [arrPlaces objectAtIndex:indexPath.row]; 
    CGRect rectlblDescription = CGRectMake(88, 26, 210, 35); 
    UILabel * lblDescription = [[UILabel alloc]initWithFrame:rectlblDescription]; 
    lblDescription.backgroundColor = [UIColor colorWithRed:0.0 green:0.0 blue:0.0 alpha:0.0]; 
    lblDescription.textAlignment = UITextAlignmentLeft; 
    lblDescription.textColor = [UIColor whiteColor]; 
    lblDescription.text = @"Here comes the cell's description. you can choose whatever you like. :)"; 
    lblDescription.font = [UIFont systemFontOfSize:12.5]; 
    lblDescription.numberOfLines = 2; 
    CGRect rectlblDate = CGRectMake(245, 2, 80, 21); 
    UILabel * lblDate = [[UILabel alloc]initWithFrame:rectlblDate]; 
    lblDate.backgroundColor = [UIColor colorWithRed:0.0 green:0.0 blue:0.0 alpha:0.0]; 
    lblDate.textAlignment = UITextAlignmentLeft; 
    lblDate.textColor = [UIColor whiteColor]; 
    lblDate.text = @"11.01.2012"; 
    lblDate.font = [UIFont systemFontOfSize:12.5]; 
    lblDate.numberOfLines = 1; 
    [cell.contentView addSubview:lblTitle]; 
    [cell.contentView addSubview:lblDescription]; 
    [cell.contentView addSubview:lblDate]; 
    return cell; 
} 

我怎么可以把文本从lblTitle.text以及与此推:的UITableViewCell文本推的viewController

- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath { PlaceDitailsScreen * tempscreen = [[PlaceDitailsScreen alloc]init [self.navigationController pushViewController:tempscreen animated:YES]; } 

,但是当我在另一个UITableViewCell中单击它会发送lblTitle的每一行那我点击..

谢谢!

+2

请不要在我们的邮政编码。 – PengOne 2012-01-11 21:33:36

在我旁边没有Mac,所以我的代码可能包含一些错误。

我的理解是:当你点击一个单元格时,你想从单元格的标签中获取文本。

我的解决办法:

在你的cellForRowAtIndexPath方法添加一行:

lblTitle.tag = 1337; //or some other number, I just like 1337 xD 

然后在didSelectRowAtIndexPath方法方法,你可以这样做:

UILabel *blah = (UILabel*)[[self.tableView cellForRowAtIndexPath:indexPath]viewWithTag:1337]; 
NSString *theStringThatYouNeed = blah.text; 

正如我说:我没有一个Mac附近,所以你将不得不玩一下代码。

希望它有帮助

+0

感谢兄弟,你帮了我很多! :) – 2012-01-11 22:41:01

+0

@YossiTsafar没有问题,欢迎您;) – Novarg 2012-01-11 22:45:36