Лучшая практика анимации iPhone UIView

Похоже, что Mongo v1.9 + имеет поддержку компактности на месте!

> db.runCommand( { compact : 'mycollectionname' } )

См. документы здесь: http://docs.mongodb.org/manual/reference / command / compact /

«В отличие от repairDatabase, компактная команда не требует двойного дискового пространства для выполнения своей работы. Для работы требуется небольшое количество дополнительного пространства. Кроме того, compact быстрее. "

142
задан Bartłomiej Semańczyk 26 October 2015 в 08:55
поделиться

3 ответа

Из раздела UIView reference , посвященного beginAnimations: context: method:

Использование этого метода не рекомендуется в iPhone OS 4.0 и более поздних версиях. Вместо этого вам следует использовать методы блочной анимации.

Пример блочной анимации на основе комментария Тома

[UIView transitionWithView:mysuperview 
                  duration:0.75
                   options:UIViewAnimationTransitionFlipFromRight
                animations:^{ 
                    [myview removeFromSuperview]; 
                } 
                completion:nil];
118
ответ дан 23 November 2019 в 23:04
поделиться

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

Эти CATransition подход дает Вам больше контроля и поэтому больше вещей настроить, например, функция синхронизации. Будучи объектом, можно на потом сохранить его, осуществить рефакторинг для указания на все анимации на него для сокращения дублированного кода, и т.д.

Эти UIView, методы класса являются удобными методами для общих анимаций, но более ограничены, чем CATransition. Например, существует только четыре возможных типа перехода (оставленное зеркальное отражение, зеркально отраженное право, свернитесь, завихритесь вниз). Если бы Вы хотели сделать исчезновение в, то необходимо было бы или копнуть к CATransition's, исчезают переход или настраивают явную анимацию Вашего UIView альфа.

Примечание, что CATransition на Mac OS X позволит Вам определить произвольное CoreImage фильтр для использования в качестве перехода, но как есть теперь Вы не можете сделать этого на iPhone, которому недостает CoreImage.

52
ответ дан pablasso 26 October 2015 в 18:55
поделиться
  • 1
    Будьте осторожны, если там будут многими сообщениями. Получение их всех из DB и загруженный в объекты ActiveRecord не является бесплатным. Когда количество записей станет большим, замедление будет иметь значение для производственного приложения. Поле that' s на самом деле в Вашей базе данных, с надлежащим индексом и ограничением запроса к разбитому на страницы набору способ пойти. – jwarchol 29 October 2010 в 21:31

Я использовал последний для множества хороших легких анимаций. Вы можете использовать его для затухания двух видов, или для затухания одного перед другим, или для затухания. Вы можете снимать вид поверх другого, например, баннер, вы можете увеличивать или уменьшать вид ... Я получаю много пробега от beginAnimation / commitAnimations . [1226 Не думайте, что все, что вы можете сделать, это:

[UIView setAnimationTransition:UIViewAnimationTransitionFlipFromRight forView:myview cache:YES];

Вот пример:

[UIView beginAnimations:nil context:NULL]; {
    [UIView setAnimationCurve:UIViewAnimationCurveEaseInOut];
    [UIView setAnimationDuration:1.0];
    [UIView setAnimationDelegate:self];
    if (movingViewIn) {
// after the animation is over, call afterAnimationProceedWithGame
//  to start the game
        [UIView setAnimationDidStopSelector:@selector(afterAnimationProceedWithGame)];

//      [UIView setAnimationRepeatCount:5.0]; // don't forget you can repeat an animation
//      [UIView setAnimationDelay:0.50];
//      [UIView setAnimationRepeatAutoreverses:YES];

        gameView.alpha = 1.0;
        topGameView.alpha = 1.0;
        viewrect1.origin.y = selfrect.size.height - (viewrect1.size.height);
        viewrect2.origin.y = -20;

        topGameView.alpha = 1.0;
    }
    else {
    // call putBackStatusBar after animation to restore the state after this animation
        [UIView setAnimationDidStopSelector:@selector(putBackStatusBar)];
        gameView.alpha = 0.0;
        topGameView.alpha = 0.0;
    }
    [gameView setFrame:viewrect1];
    [topGameView setFrame:viewrect2];

} [UIView commitAnimations];

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

69
ответ дан 23 November 2019 в 23:04
поделиться
Другие вопросы по тегам:

Похожие вопросы: