Я хочу перерисовать вид - PullRequest
1 голос
/ 03 апреля 2011

Я хочу перерисовать вид.Когда я нажимаю на кнопку, мой вид должен перерисовать себя.(должен вызывать viewWillAppear)

Но метод setNeedDisplay представления не перерисовывает себя немедленно.Поскольку мне нужно немедленно перерисовать его, метод мне не подходит.

Я попытался удалить все подпредставления представления viewController и изменить представление viewController на другое представление.Но это не сработало.(не перерисовывать)

Мне остро нужна твоя помощь.

Спасибо за чтение.

Ответы [ 3 ]

4 голосов
/ 03 апреля 2011

Я думаю, здесь есть некоторые недоразумения. Давайте все проясним:

  1. viewWillAppear: не имеет ничего общего с чертежом вида.
  2. Это правда, что setNeedsDisplay не перерисовывает вид мгновенно, но мы говорим миллисекунды. Так что это даже не актуально.

Поскольку вы хотите, чтобы вызывался viewWillAppear:, я предполагаю, что то, что вы называете перерисовкой представления, действительно должно называться ретрансляцией представления. Я предполагаю, что то, что вы делаете в viewWillAppear:, - это установка рамок ваших представлений и, возможно, добавление / удаление и / или показ / скрытие некоторых представлений.

Я предлагаю вам переместить этот код из viewWillAppear: в его собственный метод, который будет вызываться из viewWillAppear: и при нажатии кнопки.

Поскольку вы не предоставляете свой код viewWillAppear:, все это основано на предположениях, поэтому, если мои предположения неверны, пожалуйста, дайте мне знать, и, пожалуйста, предоставьте ваш код "перерисовки".

1 голос
/ 06 сентября 2013
[yourViewName setNeedsDisplay];
1 голос
/ 03 апреля 2011

Без более подробной информации трудно точно знать, что вам нужно, но я мог бы предложить вам взглянуть на UIView :: setNeedsDisplay.Это, в свою очередь, приведет к вызову drawRect: ваши представления, где вы можете обновить чертеж.

...