Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/objective-c/22.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Iphone iOS以展开Segue的方式处理UIBarbuttonite_Iphone_Objective C_Ios_Storyboard - Fatal编程技术网

Iphone iOS以展开Segue的方式处理UIBarbuttonite

Iphone iOS以展开Segue的方式处理UIBarbuttonite,iphone,objective-c,ios,storyboard,Iphone,Objective C,Ios,Storyboard,在iOS 6中,您可以使用展开序列返回到上一个视图控制器 我现在正在使用故事板,来理解这件事。我现在在iOS 5上,没有解圈程序 图中说明了情况: 在第三个窗口中,我想它的官方名称是“故事”,有一个“完成”按钮 如何使该按钮返回屏幕上有文本的对象并返回到窗口2? 在这里,我想第2个窗口的表应该引用,但这超出了这个问题的范围 我所做的是在ThirdWindowViewController中实现IBOutlet,让我们调用它,它链接到IBAction方法 @property (nonatomic,

在iOS 6中,您可以使用展开序列返回到上一个视图控制器

我现在正在使用故事板,来理解这件事。我现在在iOS 5上,没有解圈程序

图中说明了情况:

在第三个窗口中,我想它的官方名称是“故事”,有一个“完成”按钮

如何使该按钮返回屏幕上有文本的对象并返回到窗口2? 在这里,我想第2个窗口的表应该引用,但这超出了这个问题的范围

我所做的是在ThirdWindowViewController中实现IBOutlet,让我们调用它,它链接到IBAction方法

@property (nonatomic, strong) IBOutlet UITextView* textView;

@property (nonatomic, strong) Note* note;

@property (nonatomic, retain) IBOutlet UIBarButtonItem* doneButton;

- (void) configureView;
- (IBAction) doneAction:(id)sender;
- (BOOL) prepareNoteForTransition;
编辑(01)

正如汤姆所写,你需要一名代表。这就是我实际做这件事的方式,用我上面提到的方法。我只是觉得有一些苹果公司特有的方法可以做到这一点,比如Segues。或者其他一些选择


谢谢大家。

我不确定自己是否理解得很好,但您可以从“完成”按钮到第二个视图控制器绘制一个序列,并实现PrepareForegue:。通过这种方式,您可以将任何信息从上一个视图控制器发送到目标控制器。

我不确定自己是否理解得很好,但您可以从“完成”按钮到第二个视图控制器绘制一段,并实现prepareForSegue:。通过这种方式,您可以将上一个视图控制器中的任何信息发送到目标控制器。

我也不确定您是否理解您的问题,但如果您想让“完成操作”按钮返回,只需编写[self.navigationController popViewControllerAnimated:YES]

我也不确定他们是否理解您的问题,但如果您想让“完成”按钮返回操作,只需编写[self.navigationController popViewControllerAnimated:YES]

要在“故事”视图控制器中为演示视图控制器设置代理属性:

NotesViewController.m

- (void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender
{
    if ([segue.identifier isEqualToString:@"showStoryViewController"]) {
        [segue.destinationViewController setDelegate:self];
    }
}

- (void)storyViewControllerDidPressDoneWithText:(NSString *)text note:(Note *)note
{
    self.note = [NSString stringWithString:note];
    [self dismissViewControllerAnimated:YES completion:NULL];
}
故事

- (IBAction)doneAction:(id)sender
{
    [self.delegate storyViewControllerDidPressDoneWithNote:self.textView.text note:self.note];
}

另外,确保在Story.h中导入NotesViewController.h

要在“Story”视图控制器中为演示视图控制器设置代理属性:

NotesViewController.m

- (void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender
{
    if ([segue.identifier isEqualToString:@"showStoryViewController"]) {
        [segue.destinationViewController setDelegate:self];
    }
}

- (void)storyViewControllerDidPressDoneWithText:(NSString *)text note:(Note *)note
{
    self.note = [NSString stringWithString:note];
    [self dismissViewControllerAnimated:YES completion:NULL];
}
故事

- (IBAction)doneAction:(id)sender
{
    [self.delegate storyViewControllerDidPressDoneWithNote:self.textView.text note:self.note];
}
还要确保在Story.h中导入NotesViewController.h