2014-03-01 13 views
4

有沒有辦法停止NSOutlineView的轉出動畫。 「展開」是指當項目展開/摺疊時發生的動畫,並且子項向下/向上滑動。爲NSOutlineView禁用轉出動畫

+0

我很高興你問這個。我無法忍受這個動畫,並且震驚的是蘋果宣稱它是一個標準,並且沒有給我們明確的關閉轉換。 –

回答

7

創建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: 
+0

完美,謝謝 – TheSavage

+0

這真是太棒了。有無論如何,你可以想象在Finder,Xcode中禁用這個動畫,全部通過Mac OS通過NSUserDefaults? –

+1

我確實在旅行中發現了這個:http://apple.stackexchange.com/questions/45339/how-to-disable-finder-triangle-reveal-animation-in-10-7-lion。不知道是否可以幫助你。 – TheSavage