Форум программистов, компьютерный форум, киберфорум
Наши страницы
Программирование iOS/iPhone
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.75/4: Рейтинг темы: голосов - 4, средняя оценка - 4.75
zulkis
684 / 611 / 43
Регистрация: 13.01.2011
Сообщений: 1,724
1

UIButton bug?

14.03.2013, 11:13. Просмотров 713. Ответов 4
Метки нет (Все метки)

steps2reproduce:
В общем создаем UIButton, кладем в него картинку(у меня это было из ниба)
Затем делаем -
Objective-C
1
[button setImage:nil forState:UIControlStateNormal];
и видим - что текст залэйаутился по центру, а картинка осталась...

При том, что если писать:
Objective-C
1
[button setImage:newImage forState:UIControlStateNormal];
или даже
Objective-C
1
[button setImage:[UIImage new] forState:UIControlStateNormal];
все типа "работает".
но это же бред какойто...
Яблокопрогеры чтото сломали, или это я что не так делаю?
Xcode Version 4.6 (4H127)
6.1 Simulator
0
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
14.03.2013, 11:13
Ответы с готовыми решениями:

UITableView & UIButton
Доброго времени суток. Возник вопрос у меня есть таблица с 3-мя ячейками мне...

Условия для UIButton
Добрый вечер, при разработке возник вопрос: На контроллере один Баттон и один...

Наследование UIButton
Здраствуйте. Подскажите, пожалуйста, почему, когда я пытаюсь создать кнопку...

Streaming cluster replication bug or ne bug
Как только оно появилось с версии 8.5х - так сразу его рекомендовали отключить...

Xamarin & UIButton
Всем доброго времени суток. Вопрос состоит в том что у меня есть кнопка у нее...

4
Vorona
Peace 2 all shining faces
672 / 534 / 84
Регистрация: 05.03.2010
Сообщений: 1,283
14.03.2013, 15:28 2
каким образом картинку кладете?
если в нибе в поле Image положить картинку и потом в коде написать
Objective-C
1
[button setImage:nil forState:UIControlStateNormal];
то картинки нету, а именно все работает нормально

ну и конечно же, если в нибе в поле Background положить картинку, а затем в коде написать
Objective-C
1
[button setImage:nil forState:UIControlStateNormal];
то естественно бэкграунд остается, надпись есть, а еще одной картинки уже нету, т.е. снова все правильно
ну и если же выполнить
Objective-C
1
[button setBackgroundImage:nil forState:UIControlStateNormal];
то бекграунд пропадет, снова все правильно
iOS 5.0 Xcode 4.2

потому, боюсь вы перепутали image и backgroundImage, либо стоит все-таки попробовать на 6.1 оси, а это уже дома
0
zulkis
684 / 611 / 43
Регистрация: 13.01.2011
Сообщений: 1,724
15.03.2013, 07:55  [ТС] 3
Vorona, спасибо конечно, но Вы не правы Я не из тех, кто путает палец с коленом и жалуется на боли в голове. Именно так, как я и описал. Баттон грузится из ниба, картинка сеттится в коде. Именно картинка, не бэкграунд.
Решил все же попробовать и создал кнопку руками... Все тоже самое. Как время выдастся - прикреплю маленький тест проект, дабы могли посмотреть как и что я делаю.

P.S Я еще не сказал, что когда у сетчу картинку в nil, текст лэйаутится верно, т.е по центру, однако картинка остается там где была (т.е она НЕ была удалена из imageView, при этом imageForState: выдает nil)

Добавлено через 1 час 24 минуты
Причина и решение бага:
Мой наследник от UIButton переопределял -layoutSubviews, где изменялась imageView.hidden пропертя по определенному условию.
И если она была YES, когда у кнопки вызывался setImage:forState, ДО новой итерации отрисовки, происходил этот странный баг.
Мой фикс был следующим: Я просто начал использовать alpha свойство вместо hidden. (И я знаю что это грязный хак, однако это быстрейший путь(и очевидный))
0
mobidevelop
182 / 182 / 3
Регистрация: 10.01.2013
Сообщений: 596
15.03.2013, 10:59 4
A setNeedsDisplay не чище?
0
zulkis
684 / 611 / 43
Регистрация: 13.01.2011
Сообщений: 1,724
15.03.2013, 11:21  [ТС] 5
Нет, не помогало. Это очевидный путь, но не срабатывает
0
15.03.2013, 11:21
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
15.03.2013, 11:21

QFont has bug?
Доброго времени суток, имею формочку, на ней QFontCombobox выбор стиля шрифта,...

Bug doktor
есть ключ для версии 3.0.3.8? :) Поделитись плз

Curl bug
Всем привет! Вот недавно перестал работать curl( До этого все работало отлично...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
5
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru