0

FirstViewController有一个UIButton需要将其标题设置为字符串“Pick your Favourite Food” 。

一旦用户单击该UIButton,他们就会SecondViewController选择具有TableView不同食品项目的列表。

当他们选择TableView cellFood 时,他们会跳回到FirstViewControllerUIButton标题应该说明他们选择了什么 Food。

现在,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 回答
0

您不需要任何“占位符”,您可以根据需要多次设置/更改标题。最初只需将其设置为“选择您最喜欢的食物”,然后在选择项目后再次设置。

于 2013-04-20T21:46:09.333 回答