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

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

WBOY
Freigeben: 2016-06-24 11:51:46
Original
1368 Leute haben es durchsucht

自定义Segue

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

- (void)perform{    NSLog(@"使用自定义连接");    [self.sourceViewController presentViewController:self.destinationViewController animated:YES completion:nil];}
Nach dem Login kopieren

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进行页面传值";    }}
Nach dem Login kopieren
在ViewController2.m中把passText的值赋给recTextView.text

- (void)viewDidLoad {    [super viewDidLoad];    // Do any additional setup after loading the view.    _recTextView.text = _passText;}
Nach dem Login kopieren

模拟器运行:






Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage