2012-01-11 37 views
0
- (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

回答

1

在我旁邊沒有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

相關問題