2013-12-18 2 views
1

Я пишу приложение, которое загружает представление (в формате .xib) с несколькими кнопками. При загрузке представления я программировал названия программ. Затем я добавляю представление как подпункт. В течение мимолетной секунды я вижу, как программно устанавливаются заголовки, а затем они меняются на названия прототипов в .xib.UIButton Название в .xib Переопределение программной записи Изменение

Вот код:

self.cellPhoneButton.titleLabel.text = person.cellPhone; 
self.homePhoneButton.titleLabel.text = person.homePhone; 

// Do other stuff with the view 

[self.peopleView addSubview:self.personView]; 

Почему названия кнопок вернуться к содержанию по умолчанию, и почему это не происходит с другими компонентами страницы (Labels, панель навигации Название, и т.д.)?

EDIT:

Я также попробовал этот код без успеха:

[self.cellPhoneButton setTitle:person.cellPhone forState:UIControlStateNormal|UIControlStateSelected]; 
[self.homePhoneButton setTitle:person.homePhone forState:UIControlStateNormal|UIControlStateSelected]; 

// Do other stuff with the view 

[self.peopleView addSubview:self.personView]; 
+0

Какой метод вы использовали для этого кода? – Macondo2Seattle

+0

@BlackRider Этот код находится в методе, который вызывается методом '- (void) tableView: (UITableView *) tableView didSelectRowAtIndexPath: (NSIndexPath *) indexPath' – carloabelli

+0

После установки названий кнопок вы затем добавляете *, которые * вид как подвью? –

ответ

5

Вы должны использовать [self.homePhoneButton setTitle: forState:]; метод, чтобы установить титул UIButton «s. и состояние в вашем случае должно быть UIControlStateNormal, что означает, что состояние управления будет применяться ко всем состояниям, если вы не укажете других явно. Если вы комбинируете Normal с другими, тогда Normal будет перевернуто.

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