ホームページ  >  記事  >  ウェブフロントエンド  >  StoryBoardの下調べ(3):Segueのカスタマイズとpages_html/css_WEB-ITnose間の値の受け渡し

StoryBoardの下調べ(3):Segueのカスタマイズとpages_html/css_WEB-ITnose間の値の受け渡し

WBOY
WBOYオリジナル
2016-06-24 11:51:461360ブラウズ

カスタム Segue

StoryBoard 接続の 3 つのタイプのうち、1 つのタイプは Custom です。開発者はカスタム Segue クラスを継承し、perform メソッドを書き換える必要があります。

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

Ctrl 接続 ボタンをクリックします。 ViewController を ViewController2 に設定し、セグエ タイプとしてカスタムを選択し、接続をクリックして、接続カテゴリを先ほどカスタマイズした PresentSegue に設定します。



実行時の効果は、モーダルタイプの接続を直接使用した場合と同じです:


もちろん、プッシュタイプの接続をカスタマイズすることもできます


ページ値の転送

もしあなたがページ間でコンテンツが必要な場合は、ページ間の値の転送を実装する必要があります。StoryBoard では、ページの値の転送は prepareForSegue:sender: メソッドを通じて実装されます。まず、接続識別子を 2vc2 に設定します (必要に応じて名前を付けることができますが、コード内の文字列と一致するようにするだけです)


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进行页面传值";    }}
passText の値を ViewController2.m の recTextView.text に割り当てます

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

シミュレータを実行します:






声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。