Программно изменяемая метка кнопки в Monotouch - PullRequest
5 голосов
/ 11 апреля 2011

Я сделал .xib с кнопкой и сослался на него с выводом «btnActies»

, когда я делаю следующее (в любой момент времени) в бэкэнд-коде C #

btnActies.TitleLabel.Text = "Это новый ярлык!";

Когда я собираю и запускаю приложение, ярлык на кнопке меняется на "Это новый ярлык"", но затем, если я коснусь кнопки, метка вернется к тексту" по умолчанию ", который я установил в файле .xib.

Как мне изменить метку на кнопке Monotouch UIB и не допустить этого?

Ответы [ 2 ]

14 голосов
/ 11 апреля 2011

Если вы хотите установить какой-либо текст в UIButton, вы не делаете это, изменяя текст его свойства TextLabel.Вы делаете это, вызывая его метод SetTitle, передавая в качестве второго аргумента состояние кнопки, для которой заголовок будет установлен во время выполнения.Четан Бхалара ответ правильный, вот эквивалент C # / MonoTouch:

btnActies.SetTitle ("title", UIControlState.Normal);

То, как вы делаете это прямо сейчас, не работает, потому что текст метки внутренне меняется при необходимости, на набор заголовковв Интерфейсном Разработчике (если вы его установили), в этом случае при нажатии на кнопку.

0 голосов
/ 11 апреля 2011

// Улучшено форматирование

Hello

Вы можете использовать этот код для изменения метки кнопки для iPhone.

[btnActies.setTitle:@"Title value1" forState:UIButtonStateNormal];

[btnActies.setTitle:@"Title value2" forState:UIButtonStateSelected];

[btnActies.setTitle:@"Title value3" forState:UIButtonStateHighlighted];
...