Хобрук: Ваш путь к мастерству в программировании

Отключить развертывание анимации для NSOutlineView

Есть ли способ остановить анимацию развертывания для NSOutlineView. Под «развертыванием» я подразумеваю анимацию, которая происходит, когда элемент разворачивается/сворачивается, а дочерние элементы скользят вниз/вверх.

01.03.2014

  • Я так рада, что ты спросил об этом. Я терпеть не могу эту анимацию и шокирован тем, что Apple объявила ее стандартом и не дала нам четкого выключателя. 04.03.2014

Ответы:


1

Создайте подкласс NSOutlineView и отключите анимацию:

-(void) expandItem:(id)item expandChildren:(BOOL)expandChildren
{
    [NSAnimationContext beginGrouping];
    [[NSAnimationContext currentContext] setDuration:0.0];

    [super expandItem:item expandChildren:expandChildren];

    [NSAnimationContext endGrouping];
}

Другие методы:

– expandItem:
– expandItem:expandChildren:
– collapseItem:
– collapseItem:collapseChildren:
01.03.2014
  • Это замечательно. В любом случае вы можете отключить эту анимацию в Finder, в Xcode, во всей Mac OS через NSUserDefaults? 04.03.2014
  • Я нашел это во время своих путешествий: apple.stackexchange.com/questions/45339/. Не знаю, поможет ли вам. 05.03.2014
  • Хе. Мои комментарии по всему посту. Пока нет рабочего ответа. 07.03.2014
  • Обратите внимание, что, поскольку методы expandItem: и CollapseItem: задокументированы как вызывающие более подробные аналоги, вам нужно только переопределить expandItem:expandChildren: и crushItem:collapseChildren: 12.08.2020
  • Новые материалы

    Понимание дженериков в TypeScript: подробное руководство
    Введение TypeScript, строго типизированный надмножество JavaScript, хорошо известен своей способностью улучшать масштабируемость, удобочитаемость и ремонтопригодность приложений. Одной из..

    Учебные заметки JavaScript Object Oriented Labs
    Вот моя седьмая неделя обучения программированию. После ruby ​​и его фреймворка rails я начал изучать самый популярный язык интерфейса — javascript. В отличие от ruby, javascript — это более..

    Разбор строк запроса в vue.js
    Иногда вам нужно получить данные из строк запроса, в этой статье показано, как это сделать. В жизни каждого дизайнера/разработчика наступает момент, когда им необходимо беспрепятственно..

    Предсказание моей следующей любимой книги 📚 Благодаря данным Goodreads и машинному обучению 👨‍💻
    «Если вы не любите читать, значит, вы не нашли нужную книгу». - J.K. Роулинг Эта статья сильно отличается от тех, к которым вы, возможно, привыкли . Мне очень понравилось поработать над..

    Основы принципов S.O.L.I.D, Javascript, Git и NoSQL
    каковы принципы S.O.L.I.D? Принципы SOLID призваны помочь разработчикам создавать надежные, удобные в сопровождении приложения. мы видим пять ключевых принципов. Принципы SOLID были разработаны..

    Как настроить Selenium в проекте Angular
    Угловой | Селен Как настроить Selenium в проекте Angular Держите свое приложение Angular и тесты Selenium в одной рабочей области и запускайте их с помощью Mocha. В этой статье мы..

    Аргументы прогрессивного улучшения почти всегда упускают суть
    В наши дни в кругах веб-разработчиков много болтают о Progressive Enhancement — PE, но на самом деле почти все аргументы с обеих сторон упускают самую фундаментальную причину, по которой PE..