0

Xcode で最初のアプリを作成しようとしています。このチュートリアルhttp://www.youtube.com/watch?v=rgd6mCuzlEcは、ビュー間のナビゲーションを行う方法を理解するのに役立ちました。私のアプリでは、最初と 2 番目のビューにさらにボタンが必要ですが、2 番目のビューのボタンは最初のビューのボタンに依存しています。

たとえば、最初のビューのボタン: - 鳥 - 犬 - 魚

鳥の 2 番目のビュー: - コウノトリ - スズメ - ニワトリ

3 番目のビューでは、選択した動物の説明が表示されます。

私の次のステップは何ですか?リンクの例は私のアプリに適していますか?

4

2 に答える 2

1

2 番目のビュー コントローラーのイニシャライザーを宣言して、データを受け取ることができます。最初のView ControllerからそのView Controllerを初期化するときは、必ずデータを渡すようにしてください。viewDidLoad:次に、2番目のView Controllerのメソッドでボタンテキストを設定できます(initWithDataメソッドでこれを試すことができますが、その時点でxib要素が適切に初期化されない場合があります)

于 2013-08-24T15:38:26.367 に答える
0

必要なことは、2 番目のビューで public (.h ファイル内) 変数を作成することです。この変数が NSString になるとしましょう:

@property (nonatomic,strong) NSString *caseStr;

2 番目のビュー .m ファイルにイニシャライザを作成することを忘れないでください

@synthesize caseStr = _caseStr;

-(void)setCaseStr:(NSString *)caseStr
{
    _caseStr = caseStr;
}

ここで、最初のビューで「prepareForSegue」メソッドを実装します: (セグエ識別子は「ChosenAnimal」であり、鳥の種類は「Birds」、「Dogs」、または「Fish」に設定されたローカル文字列であると想定しています

-(void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender
{
    if ([segue.identifier isEqualToString:@"ChosenAnimal"]) {
        [segue.destinationViewController setCaseStr:typeOfBird];
    }
}

これで、最初のビューで選択されたものの情報が得られ、2 番目のビューで必要なことを行うことができます。

ところで: 2 番目のビューから最初のビューを制御したい場合は、デリゲートを使用する必要があります。幸運を

于 2013-08-24T17:19:57.873 に答える