FirstViewController
有一个UIButton
需要将其标题设置为字符串“Pick your Favorite Food”。
用户点击UIButton
后,他们会转到SecondViewController
,其中包含TableView
个不同食品的列表。
当他们选择TableView cell
食物时,他们会回到FirstViewController
,其中UIButton
标题应该说出他们选择的食物。
现在,UIButton
只是说"(null)"
,直到用户选择了食物。因此,当他们打开应用程序直到他们选择了食物时,我需要它说“选择你最喜欢的食物”,此时UIButton标题将说明他们选择了哪种食物。
有什么想法?如果需要,我可以添加任何代码片段,谢谢!
编辑: 这是我用来设置UIButton标题的代码 -
[buttonOne setTitle:[NSString stringWithFormat:@"%@", FoodOne] forState:UIControlStateNormal];
解决: 我使用了@lnafziger在下面给出的回复,它完美无缺。感谢所有试图回答我遇到问题的人!
答案 0 :(得分:1)
您可以在视图控制器子类中覆盖-viewWillAppear:
,并在那里设置按钮的文本。这样,每当您的视图显示时,您都可以检查并重新配置按钮。 (我不太清楚数据的来源,如果像CoreData这样的东西,那么你也可以做一些像Key-Value Observing这样的更好的东西,或者在最坏的情况下使用NSNotifications实现你自己的变更传播系统。)
答案 1 :(得分: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];
除非选择了食物,否则会将其设置为“占位符”文本,在这种情况下,它将使用食物的描述(如您的示例所示)。
答案 2 :(得分:0)
您不需要任何“占位符”,您可以根据需要多次设置/更改标题。只需将其设置为“选择最喜欢的食物”,然后在拾取项目后再次设置它。