2012-02-14 2 views
0

Я вижу, что это много используется, но я не уверен, что он делает.Что означает «анимированный» означает и/или используется?

animated:YES 

или

animated:NO 

Например, в методе viewDidLoad я мог бы иметь этот код

self.tableView.allowsSelectionDuringEditing = YES; 

и в viewWillAppear я мог бы иметь этот код

// some code here, and/or acondition is met, therefore put the tableview in editing mode 

[self setEditing:YES animated:NO]; 

So снова, что такое animated:NO означает? И в чем разница между animated:NO и animated:YES? Я не вижу видимой и/или функциональной разницы в моем приложении.

ответ

2

iOS может анимировать множество изменений элементов пользовательского интерфейса на экране. Например, если вы откроете приложение «Настройки» на iPhone или iPod, затем нажмите «Яркость», страница «Яркость» переместится на экран примерно на 0,25 секунды вместо мгновенной замены главной страницы настроек. Это анимированное изменение пользовательского интерфейса. Эта конкретная анимация возникает, когда вы отправляете сообщение pushViewController:animated: на UINavigationController с параметром animated, установленным на YES.

В случае сообщения setEditing:animated: вы можете увидеть пример анимированных изменений, открыв приложение «Телефон», выбрав вкладку «Отдыхающие» и нажав кнопку «Изменить». Все строки сдвигаются вправо, скрывая кнопки раскрытия и открывая кнопки удаления. Это изменение анимируется примерно на 0,25 секунды, потому что параметр animated сообщения был YES. Если параметр animated был NO, строки мгновенно менялись, чтобы отображать кнопки удаления, а не показывать кнопки раскрытия.

+0

Отличный ответ, спасибо за подробное объяснение! PS - на вопрос приходит два вопроса, регулируется ли '.25' секунд? И имеет ли это какое-либо отношение к 'UITableViewRowAnimationFade'? Просто интересно ... – ElasticThoughts

+1

Возможно, вы сможете изменить 0,25 секунды, используя '+ [CATransaction setAnimationDuration:]' или '+ [UIView animateWithDuration: animations:]', но я не пробовал. Вы используете константу 'UITableViewRowAnimationFade' как параметр' animation' в таких сообщениях, как 'deleteRowsAtIndexPaths: withRowAnimation:'. –

+0

Еще раз спасибо Роб! – ElasticThoughts

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

  • Нет связанных вопросов^_^