如何设置tableView的选定行

时间:2013-08-17 04:40:59

标签: iphone ios objective-c uitableview

我有一个UITableView,我在UIViewController上添加了一个带按钮的单元格。

如果点按了单元格,则系统会将您带到具有选择器的新viewController

如何将所选单元格的文本设置为下一个viewController的标题?

5 个答案:

答案 0 :(得分:3)

IF YOU WANT TO SEND SELECTED ROW's TITLE TO NEXT VIEW CONTROLLER (push)
  1. 在新视图控制器的.h文件中创建属性(比如标题)以保存所选行的标题并在新视图控制器的.m文件中合成标题属性。

  2. 更新didSelectRowAtIndexPath

     -(void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath   *)indexPath 
    
    
     {
     YourNewViewController *vc= [[YourNewViewController          
     alloc]initWithNibName:@"YourNewViewControllerNIB" bundle:nil];
    
     vc.title=[[titleArray objectAtIndexPath]indexPath.row];
    
     [self.navigationController pushViewController:vc animated:YES];
    
     }
    
  3. 现在您已在新视图控制器中选择了行标题。

  4. 用于将此标题设置为导航栏标题 将此代码写入新视图控制器的viewDidLoad

    self.navigationItem.title =标题

  5. 如果您想发送选择的行标题以获取上一个视图控制器(POP)

    为此你必须使用委托模式,你必须制作自定义协议。

    跟着这个。 -   Passing Data between View Controllers

答案 1 :(得分:2)

//这是如何获取选定的单元格

UITableViewCell *cell = [self.tableView cellForRowAtIndexPath:[tableView indexPathForSelectedRow]];

cell.textLabel.text = @"Some title";

答案 2 :(得分:2)

didSelectRowAtIndexpath方法

- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath {
    UITableViewCell *Cell = [tableView cellForRowAtIndexPath:indexPath];
    NSString *NewTitle = @"Add your new title here";

答案 3 :(得分:2)

将此代码编入按钮的方法 选择器的方法

      UITableViewCell *cell = [self.tableView cellForRowAtIndexPath:[tableView indexPathForSelectedRow]];
      cell.textLabel.text = self.MyButtonName.titleLabel.text;
      [self.tableView reloadData];

答案 4 :(得分:1)

您在寻找所选行吗?

- (void)tableView:(UITableView *)_tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath {

    UITableViewCell *cell = [_tableView cellForRowAtIndexPath:indexPath];
    [cell.textLabel setText:@"Your Title"];
    [_tableView reloadData];

}