如何表单元格在目标 c 中具有 Segue 函数



我使用 UITableViewController 在目标 C 中的应用程序中设计视图。我想让表格单元格具有 segue 功能,可以跳转到目标 c 中的另一个视图控制器。

如何让表格单元格在目标 C 中具有 segue 功能?

屏幕图片:

在此处输入图像描述

@fazeelahamed :我尝试使用您的方法,但它也显示了错误消息。

屏幕图片:

在此处输入图像描述

我的代码部分:

在此处输入图像描述

在此处输入图像描述

将 SomeViewController 视为您要跳转到的视图控制器,而"someViewController"是该视图控制器上的标识符。

在表视图中 didSelectRowAtIndexPath 调用 self.performSegueWithIdentifier

func tableView(tableView: UITableView, didSelectRowAtIndexPath indexPath: NSIndexPath) {
self.performSegueWithIdentifier("someViewController", sender: indexPath);
}

在 prepareForSegue 方法中,只需标识 SomeViewController 的标识符并将其添加为 destinationViewcontroller。

override func prepareForSegue(segue: UIStoryboardSegue!, sender: AnyObject!) {
if (segue.identifier == "someViewController") {
    let controller = (segue.destinationViewController as! UINavigationController).topViewController as! SomeViewController
    }
}

在 Objective-C 中

- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath: 
(NSIndexPath *)indexPath
{
    [self performSegueWithIdentifier:@"someViewController" sender:self];
}
- (void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender
{
     if ([segue.identifier isEqualToString:@"someViewController"]) {
          SomeViewController *someViewController = segue.destinationViewController;
     }
}

首先添加

#import "SecondViewController.h" (change it to in which viewcontroller you want to seague)

在标头中,然后在表委托下编写此代码

- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath: (NSIndexPath *)indexPath
{
UIStoryboard *storyboard = [UIStoryboard storyboardWithName:storyboardName bundle: nil];
UIViewController * vc = [storyboard instantiateViewControllerWithIdentifier:@"IDENTIFIER_OF_YOUR_SECONDVIEWCONTROLLER"];
[self presentViewController:vc animated:YES completion:nil];
}

相关内容

  • 没有找到相关文章