Заставить вид перерисовать - PullRequest
0 голосов
/ 02 декабря 2011

Я пытался использовать setNeedsDisplay, но это зависит от милости системы, обновлять ли ее правильно.В настоящее время я удаляю и добавляю подпредставление каждый раз, поэтому последний контент вынужден показываться.Код работает, но ему не хватает изящества.

        [myView removeFromSuperview];
        [myView release];
        myView = [[MyView alloc] initWithFrame:CGRectMake(0.0, MY_VIEW_Y, 320.0, MY_VIEW_H)];
        [self.view addSubview:myView];
        //[self.myView setNeedsDisplay];
        [self.view bringSubviewToFront: myView];

1 Ответ

2 голосов
/ 02 декабря 2011

Ваш вид должен быть перерисован на следующем цикле рисования.Это не происходит или это слишком медленно для вас?... т.е. как быстро вам нужно перерисовать его и какую задержку вы видите между вызовом setNeedsDisplay и вызываемым drawRect?

Если вам нужно более точное управление чертежом, вам может понадобиться использовать видпри поддержке CAEAGLLayer, в этом случае он запускается из openGL и setNeedsDisplay не имеет никакого эффекта.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...