2013-04-25 3 views
2

У меня есть ViewController, в котором пользователь выбирает карту (пользовательский UIButton) из UIScrollView. Я перехватил событие касания, выбрал карту и идентифицировал ее, а затем удалил ее из источника данных, но она все еще существует в UISubView. Как я могу избавиться от него? Обновление представления должно показать, что оно удалено из представления. Как мне это сделать?Как обновить UIViewController программно?

+1

взгляд на это: http://stackoverflow.com/questions/7725215/how-to-reload-my-uiviewcontroller-on- click-of-some-buttons – Farnabaz

ответ

0

Вы можете либо позволить контроллеру просмотра наблюдать за вашими моделями, либо обновлять свои представления вручную.

Я не очень понимаю ваш вопрос, что еще остается на вашем взгляде?

Для автоматического обновления представлений при изменении модели я предлагаю ReactiveCocoa.

2

вы можете сделать это в одном из двух мест:

  1. в вашем ViewController
  2. непосредственно в окне просмотра

вам нужно вызвать функцию setNeedsDisplay

  1. если вы делаете это с viewController, затем [yourViewOutletVariable/viewParameter setNeedsDisplay];
  2. , если вы пишете в самом то [self setNeedsDisplay];

надеюсь, что это помогает

0

После того, как у вас есть ручка на ваш взгляд зрения:

UIView *v = ...; 
[v removeFromSuperview]; 

Вы также можете вызвать метод setNeedsDisplay на вашем свитка после вызова removeFromSuperview.

+0

Если я что-то не хватает, я не считаю, что вы хотите сделать это, так как removeFromSuperview удалит представление, а затем вызов setNeedsDisplay ничего не сделает по мере того, как представление исчезнет. Вам нужно будет добавить свой вид назад, если вы его удалите, но тогда вам не понадобится setNeedsDisplay. –

-1

Если ваша точка, чтобы обновить "UIViewController", затем:

[self viewDidLoad]; 
Смежные вопросы