2013-04-29 1 views
2

My viewController получает уведомления из фоновых потоков и соответственно обновляет интерфейс.iOS view.hidden = NO не всегда работает

Используя этот кусок кода

dispatch_async(dispatch_get_main_queue(), ^{ 
    self.myButton.hidden = NO; 
    [self.view addsubview:someView]; 
}); 

Я наблюдаю каждый сейчас и потом (2/5 раз), что MyButton не видно. someView добавлен. Если я нажимаю область, где myButton становится видимой.

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

+6

Вы должны смотреть на то, где еще вы могли бы быть установки 'self.myButton.hidden = YES;' –

+1

Этого код выглядит хорошо - что это правильный способ сделать это. Я бы хорошо посмотрел на другое место, где вы прятались, чтобы ДА. Любой обмен сообщениями UIKit на других потоках, кроме основного, вызовет всевозможные странные вещи. Спросите меня, как я знаю, что это факт :-) –

+0

Кнопка, с которой я столкнулся, начинает скрываться в нибе. В какой-то момент в моем коде я установил скрытое свойство NO. Ни в каком другом месте скрытое свойство не изменилось. Я не думаю, что это проблема того, что этого не происходит, или она переопределяется где-то еще, когда кнопка реагирует на прикосновение. Он есть, работая неправильно неправильно перерисованными. Также, если я проведу пальцем по области, он станет видимым. Если свойство было где-то скрыто, кнопка не станет видимой, и она не будет реагировать на прикосновение. – user2123173

ответ

2

С этим кодом нет никаких проблем. Вы должны убедиться, что вы не скрываете его в другом месте.

Так просто искать другую часть или коду, где у вас есть код self.myButton.hidden

+1

И 'self.myButton setHidden:', на всякий случай. – Macondo2Seattle

+0

@yes, но в соответствии с его кодом, я вещь, которую он реализует .hidden – Rajneesh071

+0

У меня такая же проблема; Я устанавливаю его скрытым в коде, но когда я делаю .hidden = YES, buttom не появляется – Lucas

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