的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的每一行那我点击..
谢谢!
答
在我旁边没有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
请不要在我们的邮政编码。 – PengOne 2012-01-11 21:33:36