Как создать пользовательский UIButton (с изображениями), но все еще использовать setTitle? - PullRequest
2 голосов
/ 14 июля 2009

Я пытался создать UIButton с UIButtonTypeCustom. Затем впоследствии использовали следующие методы, чтобы настроить его внешний вид

[sendButton setImage:[UIImage imageNamed:@"sendButtonOff.png"] forState:UIControlStateNormal];
[sendButton setImage:[UIImage imageNamed:@"sendButtonOn.png"] forState:UIControlStateHighlighted];      
[sendButton setImage:[UIImage imageNamed:@"sendButtonDisabled.png"] forState:UIControlStateDisabled];

Однако проблема в том, что как только вы начинаете устанавливать UIImages в состояния, setTitle больше не работает. Я думаю, setTitle работает только с не-UIButtonTypeCustom? Это означает, что я должен либо поместить текст в сами изображения (не очень надежный), либо создать подкласс этого и добавить UILabel в представление? Похоже, много работы :( Есть идеи?

1 Ответ

10 голосов
/ 14 июля 2009

Если вы хотите, чтобы заголовок отображался поверх изображения, попробуйте использовать это:

[sendButton setBackgroundImage:[UIImage imageNamed:@"sendButtonOff.png"] forState:UIControlStateNormal];
[sendButton setBackgroundImage:[UIImage imageNamed:@"sendButtonOn.png"] forState:UIControlStateHighlighted];      
[sendButton setBackgroundImage:[UIImage imageNamed:@"sendButtonDisabled.png"] forState:UIControlStateDisabled];
...