2015-02-10 48 views
0

無論如何,似乎我的NSScrollView總是出現在任何其他視圖的頂部,即使其他視圖最近添加了並且應該出現在頂部。NSScrollView總是出現在其他視圖的頂部

我能做些什麼來獲得另一個視圖(比如簡單的NSView)出現在NSScrollView之上?

回答

1

我終於解決了這個通過在NSScrollView上設置setWantsLayerYEStrue,因爲我使用的是RubyMotion),NSScrollView的內容視圖和我想要在NSScrollView上方顯示的外部視圖。

這解決了我的問題,並允許其他視圖出現在NSScrollView之上。

-1

所以檢查你的xib,並確保你的滾動視圖在你的視圖層次結構(「文檔大綱」)的最頂端。但是,加載時不一定100%保證scrollview將被首先繪製。一種手動強制您的視圖的訂單的方法是以編程方式基於標籤移動它們。

在Interface Builder中的屬性檢查器中,轉到底部並找到「視圖」部分。在視圖中添加一個標籤,其中0是您想要的最底部視圖,然後從此處上去。

然後在你的控制器,這種方法定義&添加調用它:

NSComparisonResult compareViews(id firstView, id secondView, void *context) { 
    NSInteger firstTag = [firstView tag]; 
    NSInteger secondTag = [secondView tag]; 

    if (firstTag == secondTag) { 
     return NSOrderedSame; 
    } else { 
     if (firstTag < secondTag) { 
     return NSOrderedAscending; 
     } else { 
     return NSOrderedDescending; 
     } 
    } 
} 

[self.view sortSubviewsUsingFunction:(NSComparisonResult (*)(id, id, void*))compareViews context:nil]; 

這將確保你在正確的順序你的意見,你想