0

FirstViewControllerUIButton、タイトルを文字列「Pick your Favorite Food」に設定する必要がある があります。

ユーザーがそれをクリックするとUIButton、さまざまな食品SecondViewControllerのリストが表示されたページに移動します。TableView

TableView cell食品を選択すると、 に戻ります。タイトルにはFirstViewController、選択した食品が表示されます。UIButton

今のところ、ユーザーが食べ物を選択するまではUIButtonただ言うだけです。"(null)"そのため、ユーザーがアプリを開いたときに、食べ物を選択するまで「お気に入りの食べ物を選んでください」と言う必要があります。その時点で、UIButton のタイトルには、選択した食べ物が表示されます。

何かご意見は?必要に応じてコードのスニペットを追加できます。ありがとう!

編集:これは、UIButtonのタイトルを設定するために既に持っていたコードです-

[buttonOne setTitle:[NSString stringWithFormat:@"%@", FoodOne] forState:UIControlStateNormal];

解決済み: @lnafziger が以下に示した応答を使用したところ、完全に機能しました。私が抱えていた問題に答えようとしたすべての人に感謝します!

4

3 に答える 3

1

-viewWillAppear:ビューコントローラーのサブクラスでオーバーライドし、そこにボタンのテキストを設定できます。そうすれば、ビューが表示されるたびに、ボタンを確認して再構成できます。(そのデータがどこから来たのかよくわかりません.CoreDataのようなものであれば、Key-Value Observingのようなより手の込んだものを実行するか、最悪の場合、NSNotificationsを使用して独自の変更伝播システムを実装することもできます)。

于 2013-04-22T02:47:57.603 に答える
1

現在のコードを次のように変更します。

// If FoodOne is a NSString, then you can skip this part and just use FoodOne
NSString *foodOneDescription = [NSString stringWithFormat:@"%@", FoodOne]
if ([foodOneDescription length] == 0)
    [buttonOne setTitle:@"Pick your Favorite Food" forState:UIControlStateNormal];
else
    [buttonOne setTitle:foodOneDescription forState:UIControlStateNormal];

これにより、食品が選択されていない限り、「プレースホルダー」テキストに設定されます。その場合、食品の説明が使用されます(例のように)。

于 2013-04-22T02:53:20.080 に答える