Maison > interface Web > tutoriel HTML > StoryBoard初探(三):自定义Segue以及页面间传值_html/css_WEB-ITnose

StoryBoard初探(三):自定义Segue以及页面间传值_html/css_WEB-ITnose

WBOY
Libérer: 2016-06-24 11:51:46
original
1368 Les gens l'ont consulté

自定义Segue

StoryBoard三种连接中,有一种类型是Custom,开发者可以使用自定义的Segue,自定义Segue类需要继承类UIStoryBoardSegue,并重写perform方法:

- (void)perform{    NSLog(@"使用自定义连接");    [self.sourceViewController presentViewController:self.destinationViewController animated:YES completion:nil];}
Copier après la connexion

Ctrl连线ViewController的按钮到ViewController2,并选择Segue类型为Custom,点击连接,并将连接的类别设置为刚刚自定义的PresentSegue。



运行效果和直接使用Modal类型连接效果一样:


当然也可以自定义Push类型的连接


页面传值

如果希望页面之间的内容有所关联,则需要实现页面间传值,在StoryBoard中,页面传值是通过prepareForSegue:sender:方法实现。先设置连接的Identifier为2vc2(可以根据自己的需要命名,保持跟代码中的字符串一致就OK)


拖拽一个UITextView实例到页面2上,并关联输出口recTextView



在ViewController.m中添加如下代码:

- (void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender{    if ([[segue identifier] isEqualToString:@"2vc2"]) {        ViewController2 *vc2 = (ViewController2 *)[segue destinationViewController];        vc2.passText = @"使用prepareForSegue:sender进行页面传值";    }}
Copier après la connexion
在ViewController2.m中把passText的值赋给recTextView.text

- (void)viewDidLoad {    [super viewDidLoad];    // Do any additional setup after loading the view.    _recTextView.text = _passText;}
Copier après la connexion

模拟器运行:






source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal