2013-04-20 11 views
-1

FirstViewController имеет UIButton, которому требуется название, указанное в строке «Выберите свою любимую пищу».UIButton текст заполнителя

Как только пользователь нажимает на это UIButton, они переходят на SecondViewController, в котором есть список продуктов питания TableView.

Когда они выбирают это TableView cell продуктов питания, они возвращаются к FirstViewController, где заголовок UIButton должен сказать, какую пищу они выбрали.

Прямо сейчас, UIButton просто говорит "(null)", пока пользователь не выберет Продовольствие. Поэтому мне нужно, чтобы он сказал «Выберите свою любимую пищу», когда они откроют приложение до того момента, когда они выбрали «Продовольствие», после чего название UIButton сообщит, какую пищу они выбрали.

Любые мысли? Я могу добавить любые фрагменты кода, если это необходимо, спасибо!

EDIT: Вот код, который я уже имел для установки титул UIButton-

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

РЕШИТЬ: Я использовал @lnafziger ответ дал мне ниже, и она работала отлично. Спасибо всем, кто пытался ответить на мою проблему!

+1

'[button setTitle: @" Pick your food "forState: UIControlStateNormal];' – 2013-04-20 21:22:51

+0

@ H2CO3 Я уже устанавливаю кнопку для кода, который у меня есть в вопросе (я добавил код). Поэтому я предполагаю, что я не могу сделать '[buttonOne setTitle: @" Выберите вашу пищу "forState: UIControlStateNormal];' также. Что ты предлагаешь? – Realinstomp

+0

@ H2CO3 К счастью, lnafziger быстро понял проблему и предоставил мне решение моего вопроса. См. Его ответ ниже - – Realinstomp

ответ

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]; 

Это установит его в «заполнитель» текст, если не был выбран пищи, в этом случае он будет использовать описание пищевой (как в вашем пример).

+0

Без проблем, вот для чего мы здесь! – lnafziger

0

Вам не нужен «заполнитель», вы можете установить/изменить заголовок столько раз, сколько хотите. Просто установите его на «Pick your Favorite Food» и установите его снова после того, как элемент был выбран.

+0

Спасибо за ответ. Я обновил свой вопрос, чтобы уточнить код, который у меня уже есть для названия UIButton, как бы я отредактировал то, что я должен делать, что вы говорите? – Realinstomp

1

Вы можете переопределить -viewWillAppear: в своем подклассе контроллера вида и установить там текст кнопки. Таким образом, каждый раз, когда ваш просмотр показывает, вы можете проверить и перенастроить кнопку. (Я не совсем знаю, откуда эти данные, если это что-то вроде CoreData, тогда вы также можете сделать более интересные вещи, такие как Key-Value Observing, или в худшем случае реализовать свою собственную систему распространения изменений, используя NSNotifications).

+0

Это имеет большой смысл ... Я собираюсь изучить его. Большое спасибо за то, что внимательно посмотрели на мой вопрос и дали глубокий и полезный ответ! – Realinstomp

Смежные вопросы