在没有按钮帮助的情况下进行调查

时间:2014-06-16 13:06:46

标签: ios objective-c segue

我已检查过所有查询,但它们对我来说不同或太高级。我有按钮以编程方式完成,所以我也需要使用程序。我没有发送任何东西,只是去了下一个ViewController。文档说如果没有传递任何东西只需使用:- (id)initWithIdentifier:(NSString *)identifier source:(UIViewController *)source destination:(UIViewController *)destination。但是我还不懂加号(+)或类。此外,我不能只将gjRelaysViewController作为目标,Xcode表示它未被声明。我创建一个实例是正确的吗?我已经尝试过为segue做准备,但没有任何结果。感谢。

来源:gjViewControllers

@property (nonatomic, strong) UIStoryboardSegue *relaysSegue;
@property (nonatomic, strong) gjRelaysViewController *relays;

[_pushButton1 addTarget:self action:@selector(relayCircuitsOn:) forControlEvents:UIControlEventTouchDown];

 -(void)relayCircuitsOn: (id) sender
{
    _relaysSegue = [[UIStoryboardSegue alloc] initWithIdentifier:@"toRelays" source:self destination: _relays];
 }

目的地:gjRelaysViewController

- (void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender
{
    if(![segue.identifier isEqual: @"toRelays"])
    {
        return;
    }
}

1 个答案:

答案 0 :(得分:1)

Ctrl-Drag在InterfaceBuilder中从ViewController 1拖动到ViewController 2以创建一个segue。单击segue并在右侧窗格中为其命名。

relayCircuitsOn来电

中的代码中
[self performSegueWithIdentifier:@"Insert the name you specified above" sender:self];

你应该全力以赴。

或者,您可以在代码中进行转换:

  1. 在ViewController1.m中导入ViewController 2 #import" ViewController2.h"
  2. 创建ViewController2的新实例:ViewController2 *vc = [[ViewController2 alloc] init];
  3. 将其推送到导航堆栈(如果有的话?):[self.navigationController pushViewController:vc animated:YES];